您现在的位置:首页 >> 前端 >> 内容

皮皮学Web第二弹——Servlet

时间:2017/2/22 9:25:41 点击:

  核心提示:一、Servlet 是和平台无关的服务器组件,运行在Servlet容器中,可完成如下功能: 1、创建并返回基于客户请求的动态HTML页面 2、创建可嵌入到现有HTML页面的HTML页面片段 3、与其他...
一、Servlet 是和平台无关的服务器组件,运行在Servlet容器中,可完成如下功能: 1、创建并返回基于客户请求的动态HTML页面 2、创建可嵌入到现有HTML页面的HTML页面片段 3、与其他服务器资源进行通信(如数据库或基于java的应用程序) 皮皮学Web第二弹——Servlet 二、Servlet容器 运行 Servlet、JSP、Filter 等的软件环境.
1、 可以来创建 Servlet, 并调用 Servlet 的相关生命周期方法.
2、 JSP, Filter, Listener, Tag ...
三、Servlet 生命周期的方法: 以下方法都是由 Serlvet 容器负责调用.
1、构造器: 只被调用一次. 只有第一次请求 Servlet 时, 创建 Servlet 的实例. 调用构造器.
2、init 方法: 只被调用一次. 在创建好实例后立即被调用. 用于初始化当前 Servlet.
3、service: 被多次调用. 每次请求都会调用 service 方法. 实际用于响应请求的.
4、destroy: 只被调用一次. 在当前 Servlet 所在的 WEB 应用被卸载前调用. 用于释放当前 Servlet 所占用的资源.
好了 现在皮皮开始写第一个Servlet程序啦 老规矩 HelloWorld 新建Servlet后 可在web.xml文件中看到Servlet的配置信息:


    
        NewServlet                       servlet的注册名字
        com.pipi.first.NewServlet      Servlet 的全类名
    
    
        NewServlet                       需要和servlet 节点的 serlvet-name 子节点的文本节点一致
        /HelloWorld                        映射具体的访问路径
    
    
              
            30
        
    
关于serlvet-mapping 1、同一个Servlet可以被映射到多个URL上,即多个 元素的子元素的设置值可以是同一个Servlet的注册名。
2、在Servlet映射到的URL中也可以使用 * 通配符,但是只能有两种固定的格式:
一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。
好 现在我们开始编辑NewServlet.java文件 来看一下sevlet 的生命周期 看看几个方法的调用情况。 编辑一下几个方法
 @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.service(req, resp); //To change body of generated methods, choose Tools | Templates.
         System.out.println("service!");
    }
    

    @Override
    public void init() throws ServletException {
        super.init(); //To change body of generated methods, choose Tools | Templates.
        System.out.println("init!");
    }
    public NewServlet(){
        System.out.println("hello world!");
    }

    @Override
    public void destroy() {
        super.destroy(); //To change body of generated methods, choose Tools | Templates.
        System.out.println("destory!");
    }

运行后是这样的 皮皮学Web第二弹——Servlet 多次刷新 会打印多次 service 关闭服务器后 会打印destroy 可见: 1、构造器: 只被调用一次. 只有第一次请求 Servlet 时, 创建 Servlet 的实例. 调用构造器.
2、init 方法: 只被调用一次. 在创建好实例后立即被调用. 用于初始化当前 Servlet.
3、service: 被多次调用. 每次请求都会调用 service 方法. 实际用于响应请求的.
4、destroy: 只被调用一次. 在当前 Servlet 所在的 WEB 应用被卸载前调用. 用于释放当前 Servlet 所占用的资源.


Tags:皮皮 皮学 学W WE 
作者:网络 来源:qq_2973010