Servlet 学习笔记

来源:互联网 发布:c语言简单编程 编辑:程序博客网 时间:2024/06/11 11:20

最近感觉以前的知识都很模糊了,所以决定重新温习一遍,做个笔记,留着以后复习用。

一、servlet生命周期

    1、构造器 :只被调用一次,第一次请求时创建实例。(说明servlet是单实例的)。
    2、init:只被调用一次,在创建完实例之后被调用,用于初始化servlet。
    3、service:多次调用,每次请求时被调用,用于处理请求和响应。
    4、destroy:只被调用一次,当web应用被卸载时调用,释放资源。

二、servlet 族谱

            
    注意:实际开发中经常用HttpServlet。

三、servlet配置

    1、创建一个servlet类,继承HttpServlet

    2、到web.xml中注册创建的servlet

<servlet>        <!--注册servlet名称-->  <servlet-name>servlet</servlet-name>         <!--servlet全类名-->         <servlet-class>com.monkey.servlet.Servlet01</servlet-class>  </servlet>    <servlet-mapping>        <!-- 需要和某一个 servlet 节点的 serlvet-name 子节点的文本节点一致 -->  <servlet-name>servlet</servlet-name>        <!-- 映射具体的访问路径: / 代表当前 WEB 应用的根目录. -->  <url-pattern>/test</url-pattern>  </servlet-mapping>

四、servlet-mapping 

    1、同一个servlet可以添加多个url-pattern。

    2、url-pattern映射可以使用 " * "通配符,但是只有两种固定的模式。

        ①、" *.扩展名 "

        ②、以正斜杠(/)开头并以" /* "结尾

五、load-on-startup 参数

    1、配置在servlet节点中

<servlet>  <servlet-name>servlet</servlet-name>  <servlet-class>com.monkey.servlet.Servlet01</servlet-class>        <!-- 可以指定 Servlet 被创建的时机 -->  <load-on-startup>0</load-on-startup>  </servlet>


    2、load-on-startup: 可以指定 Serlvet 被创建的时机

       ①、若为 0 或正数,则在当前 WEB 应用被Serlvet 容器加载时创建实例,且数字越小越早被创建。

       ②、若为负数,则在第一次请求时被创建。

六、ServletConfig(封装了 Serlvet 的配置信息)

    1、配置 Serlvet 的初始化参数

<servlet>  <servlet-name>servlet</servlet-name>  <servlet-class>com.monkey.servlet.Servlet01</servlet-class>  <init-param>  <param-name>user</param-name>  <param-value>root</param-value>  </init-param>  </servlet>

    2、常用方法

        ①、getServletName():获取servlet注册名称。

        ②、getServletContext():获取上下文对象。

        ③、getInitParameter(String name):通过初始化参数名获取参数值。

        ④、getInitParameterNames():获取所有的初始化参数名。

七、servletContext(上下文对象)

    1、该对象代表当前的web应用,可以从中获取关于当前web应用的各种信息。

    2、常用方法

        ①、getInitParameter(String name):通过初始化参数名获取参数值。

        ②、getInitParameterNames():获取所有的初始化参数名。

         注意:这里获取的初始化参数,是在web.xml中<context-param>节点下的参数(整个应用都可以用),而不是<servlet>节点下的初始化参数(只有本serlvet可用)。

<context-param><param-name>driver</param-name><param-value>com.mysql.jdbc.Driver</param-value></context-param>

        ③、getRealPath(String path):通过相对路径获取当前web应用发布以后的某一个文件的绝对路径。

        ④、getContextPath():获取当前web应用的名称。

         还有很多常用方法,开发时可以查看帮助文档。

八、servletRequest和servletResponse

    1、web服务器封装了专门用于HTTP协议的请求响应接口:HttpServletRequest和HttpServletResponse。

    2、其接口中有很多常用方法,开发时可以查看帮助文档。








原创粉丝点击