javaweb基本组件之servlet的使用

开发环境的搭建
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,可以看到对应的结果页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值