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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奔跑的蜗牛006 中级黑马   /  2018-5-21 15:15  /  470 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 奔跑的蜗牛006 于 2018-5-21 15:16 编辑

Servlet
Servlet的实现关系:
        编写类继承 HttpServlet 继承 GenericServlet 实现 Servlet(接口);
        请求方式为GET: doget();
                         post: dopost();dopost方法里再调用一次doget(req,res);
web导包:
        WEB-INF--->lib;不用BulidPath;
▲▲
Servlet的生命周期:(面试)
        Servelt对象有且只创建一次;单例
        init        :第一次访问时,服务器会创建Servlet对象,init方法执行仅一次;
        service        :每次刷新页面都会执行;
        destroy        :当Servlet中服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行.


        用户第一次访问Servlet的时候,服务器会创建一个Servlet的实例,那么Servlet中init方法就会执行.
        任何一次请求服务器都会创建一个新的线程访问Servlet中的service的方法.
        在service方法内部根据请求的方式的不同调用doXXX的方法.(get请求调用doGet,post请求调用doPost).
        当Servlet中服务器中移除掉,或者关闭服务器,Servlet的实例就会被销毁,那么destroy方法就会执行.


Servlet的相关配置:
        启动时创建Servlet:
        
▲▲
优化配置:
        有一些资源需要初始化很耗时;
        第一次访问的时候初始化资源(耗时)以后访问都无需再初始化,
        把这个耗时的操作放到服务器启动的时候;

        在web.xml中在<servlet></servlet>标签中配置:
         <load-on-startup>2</load-on-startup>
▲▲
url-pattern的配置方式:
        1.完全路径匹配        : 以/开始
        2.目录匹配                : 以/开始,以*结束;http://port/projectName/asda/adsa
        3.扩展名匹配        : 不能以 / 开始,以*开始的;*.do
                                                错误的写法: / *.do
        完全路径匹配 > 目录匹配 > 扩展名匹配
相对路径:
        需要明确双方的位置
绝对路径:
        从根路径出发,一般带上工程名./day09/Demo1;http://localhost:8080 协议可以省略

▲▲ServletContext:
        服务器启动时创建
        范围:整个web项目
        域对象

ServletContext作为域对象存储数据:ServletContext在不同的类之间进行数据的共享;
        setAttribute(String key,Object value)
        Object        getAttribute(String key)
                        removeAttribute(String key)


0 个回复

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