A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jack.李 中级黑马   /  2017-8-28 09:24  /  1002 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Servlet

Servlet技术中3大组件之一:
    Servlet
    Listener
    Filter

Servlet的功能:
    运行在服务器端,接受请求,完成响应.

Servlet开发流程
    1.创建一个类,实现Servlet接口
    2.在web.xml文件中,配置Servlet
    3.部署项目到tomcat
   
Servlet的生命周期
    1.第一次访问时,会创建Servlet实例,并调用init方法初始化.
    2.每当有请求访问时,调用service方法处理请求
    3.当服务器关闭时,会在销毁Servlet之前调用destroy方法.
   
Servlet中的其他方法
    1.getServletInfo    没用
    2.getServletContext 返回ServletContext对象
   
Servlet中的相关对象
    1.ServletConfig        Servlet配置
    2.ServletRequest    请求
    3.ServletResponse    响应
    4.ServletContext    servlet上下文

ServletConfig对象
    1.getInitParameter(String key);
    2.getInitParameterNames()
    3.getServletName
    4.getServletContext
   
Servlet的其他实现方式
    1.继承GenericServlet
    2.继承HttpServlet

Servlet的细节问题
    1.线程安全
        结论: servlet本身线程不安全,避免使用成员变量接受线程级别的参数.应使用局部变量。
    2.Servlet的创建随服务器的启动而创建
        结论:<load-on-startup>
    3.Servlet路径配置
        相对路径配置
        后缀名配置
        原则:1>匹配范围越大,优先级越低
             2>两种匹配方式不能混用

ServletContext对象
   
    数量级: 一个项一定有且只有一个ServletContext对象
   
    生命周期: 随着项目启动而创建,随项目关闭而销毁.
   
    对象的获得: 通过ServletConfig对象的getServletContext方法
   
    对象的功能:
        1>获得项目级别的参数
            <context-param>
            1.getInitParameter(String key);
            2.getInitParameterNames()
        2>域对象
            application域
            本质: 就是map
            操作: 4个方法 set|get|removeAttribute , getAttributeNames
            范围: 整个项目运行期间.
        3>获得项目内资源的方法
            ServletContext    "/"=> 代表项目根
                1>getResourceAsStream
                2>getRealPath
            Class            "/"=>classes目录  不加"/": class所在包路径下
                1>getResourceAsStream
                2>getResource

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马