javaweb基本组件之servlet的使用

来源:互联网 发布:电气自动化设计软件 编辑:程序博客网 时间:2024/06/03 17:08

开发环境的搭建
1. 选择windows7操作系统作为开发平台
2. 安装jdk,java应用开发的必备,安装的是目前最新的jdk8
3. 下载一个开发IDE,这个根据个人习惯,用的是目前java开发者使用最多的Eclipse好用又免费(版本代号luna)
4. 安装webserver,以便调试web应用,用的是apache开源的tomcat服务器
5. 再下一个eclipse连接tomcat服务器的插件,方便我们直接在eclipse中调试应用的代码,这个网上都能找到的,下载下了之后扔到eclipse安装目录有个叫做plugins的文件夹中,之后关闭重新起动eclipse,就可以看见那三个调试用的猫咪了

进入开发阶段
1. File->New->Project..->Web->Dynamic Web Project->next输入javawebdemo创建一个动态的javaweb项目,修改src下源代码文件自动编译后生成的class文件的输出目录为WebContent\WEB-INF\classes(通常WebContent这个文件夹是系统自动为我们生成的,我们只是需要修改下编译后的文件的输出目录),再next,并勾选自动生成web.xml选项按钮,之后IDE会为我们自动生成web.xml这个java web应用核心的配置文件
2. 打开工程的目录结构,可以看到有二大目录,分别是src, WebContent当然还有一个叫做JRE System Library的引用目录,引用的就是jdk中lib了,都是java源代码编译和运行的基础jar包了,还应该把tomcat安装目录中的lib下的常用的几个jar包添加到工程的引用,或者是直接将它们复制到WEB-INF下的lib目录中就可以了,它们分别是(servlet.jar, jsp.jar, el.jar等)
3. 打开WebContent->WEB-INF目录,可以看到一个lib目录和一个web.xm文件,lib里面放的是以后开发项目时我们经常会用到的框架和工具的jar包,打开web.xml文件,可以看到eclipse已经自动生成了如下的配置代码:

 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>javawebdemo</display-name> <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list> </web-app>

4.以后所有项目的源代码文件就放在了src目录下了,静态以及一些其他的资源性的文件就放到了WebContent目录下面,WebContent以后就是我们应用访问的根目录了,我们创建css,js,images等目录分别用来存放样式,脚本以及图片等静态类型的文件
5. 再在WebContent目录下创建一个index.html的文件,把我们工程的根目录配置到tomcat\conf\server.xml中的元素中docBase中,在eclipse中起动tomcat,如没有报错则打开浏览器输入127.0.0.1:8080就可以看到我们刚面添加的index.html页面了
6. 现在用servlet来接受一个http的请求,并获取其传来的参数,在src目录中创建一个com.demo.serlvet的package,在该package中新建一个MyServlet的class文件并且继承HttpServlet这个类,如下:

package com.demo.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServlet;public class MyServlet extends HttpServlet{    //API: http://127.0.0.1:8080/myservlet?name=bradpitt&age=18    public void doGet(HttpServletRequest req, HttpServletResponse res){//覆盖HttpServlet类的doGet方法来实现自己的逻辑        String name = req.getParameter("name");        String age  = req.getParameter("age");        System.out.println(name);        System.out.println(age);        req.setAttribute("name", name);        req.setAttribute("age", age);        try {            req.getRequestDispatcher("/welcome.jsp").forward(req, res);        } catch (ServletException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    public void doPost(HttpServletRequest req, HttpServletResponse res){        this.doGet(req, res);    }}

7.此外我们还要建一个welcome.jsp文件作为对请求的回应页面

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>welcome</title>    </head>    <body>        <h1>Hello ${name}, you age is ${age}</h1>    </body></html>

8.将该servlet部署到web.xml文件中,配置如下:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>javawebdemo</display-name>  <welcome-file-list>    <welcome-file>index.html</welcome-file>    <welcome-file>index.htm</welcome-file>    <welcome-file>index.jsp</welcome-file>    <welcome-file>default.html</welcome-file>    <welcome-file>default.htm</welcome-file>    <welcome-file>default.jsp</welcome-file>  </welcome-file-list>  <servlet>    <servlet-name>myservlet</servlet-name>    <servlet-class>com.demo.servlet.MyServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>myservlet</servlet-name>    <url-pattern>/myservlet</url-pattern>  </servlet-mapping></web-app>

9.再次启动tomcat,然后打开浏览器,在地址栏中输入http://127.0.0.1:8080/myservlet?name=bradpitt&age=18,可以看到对应的结果页面。

0 0