zoukankan      html  css  js  c++  java
  • servlet总结

    1、servlet运行过程:

    ①web服务器受到浏览器的servlet请求后,web容器首先检查是否装载并创建了该servlet实例对象。

    ②如果没有,web容器则装载并创建servlet实例对象。如果有,则直接跳到④。

    ③调用servlet的init方法。

    ④创建一个封装了http请求消息的httpservletrequest对象,和一个代表http响应消息的httpservletresponse对象,并将这两个对象作为参数,传入service方法。

    ⑤web应用被停止或者被重启之前,会调用destroy方法。

    2、servlet与普通java类区别:

    ①servlet不能独立运行,完全用servlet引擎来控制和调度。

    ②通常情况下,servlet使用单例模式,只在第一次访问时创建一次,可多次调用。

    3、配置文件中<servlet>标签内增加<load-on-startup>1</load-on-startup>,可在web容器启动时创建servlet,常用于创建必要的数据库表和数据。

    4、web.xml找不到的servlet,会由缺省servlet处理。

    在tomcat的web.xml文件中,注册了一个名为org.apache.catalina.servlets.DefaultServlet的servlet,并设置为缺省servlet,即路径为"/"

    服务器访问的静态html或图片等,实际是在访问这个缺省servlet。

    5、默认情况下,servlet是单例多线程。如果servlet中有全局变量,则会引起线程不安全。

    为了避免引起线程安全问题,可以实现接口SingleThreadModel,这样将会取消servlet的单例模式,通过创建多个servlet的实例对象来避免线程安全问题发生。

    6、servletContext:

    web容器在启动时,会为每一个web应用程序都创建一个对应的servletContext对象,它代表当前web应用。

    ServletConfig维护了servletContext对象的引用,可以通过getServletContext方式获得servletContext对象。

    一个web应用中,只有一个servletContext,因此servlet对象间可以通过servletContext实现通讯。

    servletContext对象被称为context域对象。

  • 相关阅读:
    win7下的vxworks总结
    ubuntu 无法获得锁 /var/lib/dpkg/lock
    项目中用到了的一些批处理文件
    win7下安装 WINDRIVER.TORNADO.V2.2.FOR.ARM
    使用opencv统计视频库的总时长
    January 05th, 2018 Week 01st Friday
    January 04th, 2018 Week 01st Thursday
    January 03rd, 2018 Week 01st Wednesday
    January 02nd, 2018 Week 01st Tuesday
    January 01st, 2018 Week 01st Monday
  • 原文地址:https://www.cnblogs.com/yxth/p/6703688.html
Copyright © 2011-2022 走看看