zoukankan      html  css  js  c++  java
  • servlet笔记

      1.每个jvm中都只有一个servlet实例,在分布式应用中对于同一个servlet类会有多个实例,但是每个jvm中还是只有一个该servlet的实例。

      2.一般在容器启动时找到servlet类文件时,servlet的生命周期开始,在容器启动时,它会寻找已经部署的web应用,然后开始搜索servlet类文件,也就是说容器是根据DD搜索类的。第二步加载类可能发生在容器启动时,也有可能发生在第一个客户使用时。

      3.在调用servlet的构造函数之后我们创建了一个对象,但因为还不具有servlet性(servletness),所以只是一个普通的对象,之后容器为servlet创建一个ServletConfig对象,用该对象作为init()的参数调用函数,这样操作之后servlet对象就完全变成了一个servlet。

      4.初始化方法init()有两个,一个有参数一个没有参数,在有参数的方法体中会调用没有参数的方法。如果要覆盖init方法,则覆盖没有参数的即可,但如果非要覆盖有参数的方法,那么最好要调用super.init(ServletConfig),不过这么做也没有必要。

      5.容器建立一个servlet时,它会读取DD,并未ServletConfig创建名/值对。

      6.初始化参数ServletConfig和ServletContext是部署时常量,可以在运行时得到这些参数,但是不能设置。

      7.《java servlet&jsp 经典实例》

      8.在web.xml中注册监听者,容器通过检查监听者类继承的接口明确要监听什么类型的事件。

      9.由于http连接不会久留,所以对于容器来说,每一个请求都来自于一个新的客户。p230、

      10.9的解决方法是使用会话ID,而交换会话ID可以通过cookie来实现。

      11.得到会话的方法有二,其一:通过请求对象request.getSession(),其二:通过与会话有关的监听接口的参数event.getSession()。

      12.交换会话ID的方法有二,其一:通过cookie;其二:通过URL重写。如果客户禁用了cookie,容器就会在客户发来的后续的请求时创建新的cookie对象,而且仍然会在响应中添加Set-Cookie首部行。但是如果客户没有禁用cookie,则容器会忽略下面的URL重写。

      13.


    Shopee(虾皮)内推点击此处,岗位多多地,薪资高高地



    转载请注明出处


  • 相关阅读:
    C/S和B/S结构区别整理
    JavaScript特点、优缺点及常用框架
    ExtJs特点、优缺点及注意事项
    Oracle SQL 脚本跟踪
    解决 C#中 SQL脚本执行超时 问题
    oracle 时间转化函数及常见函数 .
    Spring.NET 1.3.2 集成 NHibernate 3.2 1 下载软件
    SQL Server 跨服务器 不同数据库之间复制表的数据的方法:
    spring.net nhibernate 分布布式事务(上)
    set xact_abort ON 你懂的, 在分布式数据库事务中,用到. 在事务中,若出现错误,系统即默认回滚事务
  • 原文地址:https://www.cnblogs.com/zhangcaiwang/p/6393822.html
Copyright © 2011-2022 走看看