java web:监听器和web.xml

 1. web.xml 配置文件

WEB-INF
    |- lib 放第三方jar包
    |- classes 自己写的servlet等java类
    |- web.xml web应用程序的配置文件
    
写一个servlet 要在类上加一个 @WebServlet(urlPatterns="")
写一个filter 要在类上加一个 @WebFilter(urlPatterns="")
这种基于注解的写法在servlet 3.0 才有的

web.xml是另一种配置方式,跟注解方式配置的地位是一样的

xml  (x 可扩展  markup 标记 language 语言) 标签可以进行扩展
html  (超文本标记语言) 标签都是规定死的 `

...`

例如:servlet配置:



    
    servlet1
    
    controller.Servlet1
    
    1



    servlet1
    
    /s1


例如:Filter配置


    
    f1
    
    filter.Filter1


    f1
    
    / *


过滤器的过滤顺序可以通过 filter-mapping标签的顺序调整,先进入filter-mapping在前面的过滤器

HttpSession 会话
当第一次调用 request.getSession() 会创建会话
销毁有两种:
1) session.invalidate(); 会立刻销毁session
2) 两次请求的默认时间间隔超过30分钟,session会销毁
例如:


    
    10 

 

2. 监听器 (Listener)


ServletContextListener 监听应用程序启动和停止事件
ServletRequestListener request对象创建和销毁事件
HttpSessionListener    session对象创建和销毁事件

ServletContextAttributeListener application作用域 setAttribute,removeAttribute事件
ServletRequestAttributeListener request作用域 setAttribute,removeAttribute事件
HttpSessionAttributeListener  session 作用域 setAttribute,removeAttribute事件

HttpSessionActivationListener session 的激活和钝化 
HttpSessionBindingListener    session变量绑定事件

session的激活和钝化
1) 当tomcat服务器停止时,会把session中所有变量存储到磁盘上, 称为钝化
2) 当tomcat服务器重新启动时,把刚才存入磁盘的信息读取出来,恢复至session作用域, 称为激活
钝化过程调用是java序列化
激活过程调用是java反序列化

向Session中存储的变量要实现序列化接口(Serializable)
都是针对自定义的java类,如:Student, Hero
 

你可能感兴趣的:(java,web)