zoukankan      html  css  js  c++  java
  • Servlet知识点小结

                                                                                          Web核心之servlet

    Servlet的API(生命周期)

    Servlet接口中的方法:

    1. Init方法(ServletConfig config)

      config代表的是该servlet对象的配置信息

    Servlet对象被创建时执行init方法

    注意:servlet的init方法只执行一次,说明servlet在内存中只存在一个对象,servlet是单例的,不安全的,所以要避免在init方法中进行并发操作,(为什么不考虑加锁呢?因为加锁的代价太大了,多个客户同时访问,效率低下)例如对每个成员变量修改特定的值,又获取这个值。解决方法:那就尽量不要在servlet也就是实现了servlet接口的类中定义成员变量,不要对其修改值。

    1. Service方法(ServletRequest request,ServletResponse response)

    每次发送请求的时候执行service方法。

    ServletRequest代表请求,内部封装的是http请求信息,

    ServletResponse代表响应,里面是将要封装的响应信息

    1. Destory()方法

    只有服务器正常关闭时才会执行destroy;Servlet对象销毁前执行该方法。通常用于释放资源。(可以理解为servlet这个人快要挂了,就向destory交代一下遗嘱)。

    • Servlet什么时候创建?

           默认第一次访问servlet时创建该对象,也就是第一次客户端通过浏览器访问服务器时创界servlet;

    • Servlet什么时候被销毁?

           当我们关闭服务器(Tomcat),停止运行时,servlet就会被destory;

    • 每次访问都会执行的方法?Service;

     

    Servlet的配置:可以指定servlet对象的创建时机,在servlet标签体下配置   。

    1.第一次被访问时,创建;就指定<load-on-startup>标签内容为负数

    2. 在服务器启动时被创建指定标签体是0或正整数。

    Servlet执行原理

    1. 当服务器接收到客户端浏览器的请求后,会解析请求的URL路径,获取带访问的servlet资源路径
    2. 查找web.xml文件,找到对应的<url-pattern>’标签,如果里面有内容时,并访问它
    3. 再根据servlet标签体下的<servlet-name>标签找到<servlet-class>全类名
    4. 这时Tomcat会通过获取到的全类名找到相对应的字节码文件,将他加载到内存中,并创建对象(反射的方式)
    5. 然后调用相应的方法。

    Servlet3.0支持使用注解,不需要再配置web.xml文件了。

    使用步骤:

    1. 创建javaee项目,选择servlet3.0以上版本
    2. 定义一个类并实现servlet接口
    3. 复写接口中所有方法
    4. 在类上使用@webServlet(“资源路径”)注解,进行配置
  • 相关阅读:
    Change MYSQL data directory
    Docker distrubution in django
    mongo&node
    理解Docker单机容器网络
    auto dock
    django_restframework_angularjs
    Javascript异步编程的4种方法
    DockerProblem
    Javascript面向对象编程
    scrapy post请求 multipart/form-data
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181465.html
Copyright © 2011-2022 走看看