servlet

作者: 追逐的梦境 | 来源:发表于2017-06-25 11:30 被阅读0次

    1.........servlet特点

    1) servlet是个普通java类   主要继承httpservlet类,继承httpservlet类是为了创建一个http协议的servlet程序

    2)servlet程序交给tomcat运行的

    2..........servlet开发过程

    1)把servlet的class字节码拷贝到WEB-INF/classes文件下

    2)在web.xml中配置

    3.........servlet的执行过程

    前提:         tomcat服务器启动时,会加载conf/web.xml文件,再加载站点下每个应用web.xml文件

    例:站点下的web应用名称     /day10

            资源名称        /hello

    1)在day10应用下的web.xml文件中找是否匹配得<url-pattern>/hello</url-pattern>

    2)使用servlet的内部名称在web.xml文件中查找是否相同名称的servlet配置

    3)得到对应的servlet-class内容        字符串:cdqf.a_servlet.HelloServlet

    4.......servlet的生命周期

    1.servlet程序的生命周期是由tomcat控制的  

    2.servlet的四个生命周期

        1)构造函数    只调用1次  正面servelt对象在tomcat中是单实例的

          2)init()方法    初始化  创建完servlet对象后调用    只调用1次

            3)service方法     每次请求servlet时调用   调用n次

           4)destroyy方法:servlet对线销毁时调用  ,只调用1次,tomcat停止时   或者web项目重新部署时

    5......servlet的四个对象

         1)httpservletrequest对象域       封装请求信息

      2)httpservletresponse对象       封装响应信息

    3) servletconfig对象          封装一个servlet配置参数信息

    4  servletcontext对象域      封装web应用环境信息

    6...........wervletcontext对象域

     1.介绍

    servletContext叫servlet的上下文对象,表示该web应用下的环境,一个web项目只有一个serveltContext对象

    2创建时机

    servletContext是tomcat加载完当前项目 ,作为servletConfig对象的成员变量传入servlet中,通过servletConfig的getservletContext得到的servletCotext对象

    3得到全局的参数

    方法      java.lang.StringgetInitParameter(java.lang.String name)

    java.util.EnumerationgetInitParameterNames()

    域相关的方法  

    void setAttribute(java.lang.String name,

    java.lang.Object object)保存数据

    java.lang.Object getAttribute(java.lang.Stringname)得到数据

    void removeAttribute(java.lang.Stringname)清除数据

    7  转发相关的

    RequestDispatchergetRequestDispatcher(java.lang.String path)

    在servlet中实现页面跳转

    请求重定向:response.sendRedirect(路径);

    请求转发:request.getRequestDispacher(路径).forward(request,respone);

    /=======请求重定向vs请求转发区别====

    请求重定向:

    1)地址栏改变,改变为重定向到地址

    2)可以重定向到当前web应用,其他web应用,甚至是其他站点资源。

    3)处于两次不同的请求。不可以使用request域对象来共享数据。

    请求转发:

    1)地址栏不会改变。

    2)只能转发到当前web应用内部资源。

    3)处于同一次请求。可以使用request域对象来共享数据

    不同类型资源:

    1)web应用内部资源。在当前web应用中的资源

    2)其他web应用资源。在同一个站点下的其他web应用的资源。

    3)站点外的资源。其他站点下的资源。

    D%�����X

    相关文章

      网友评论

          本文标题:servlet

          本文链接:https://www.haomeiwen.com/subject/sjilcxtx.html