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域对象。

  • 相关阅读:
    Sublime安装package control的操作
    Sublime的简单操作
    C# 泛型方法
    C# 数组的讲解(ArrayList 与List的区别)
    免费的天气API
    bootstrapValidator的验证
    sqlServer 多行合并为一行
    bootstrap的安装注意
    SQL数据库中把一个表中的数据复制到另一个表中
    JavaScript的误区
  • 原文地址:https://www.cnblogs.com/yxth/p/6703688.html
Copyright © 2011-2022 走看看