用tomcat作为服务器,启动一个java web项目的时候,我一直有个疑惑 web.xml中的配置项有什么作用?还有spring的ioc注解到底是怎么注解的?(类似的不得解问题)
然后,听到ssh、mvc框架常提到的两个词 监听器和拦截器(或过滤器),
一下是, 中的监听器讲解部分
监听器概述
监听器,我这里所指的是Servlet规范中所指的监听器。顾名思义在java web 就是监听web应用中信息的初始化、销毁、增加、修改、删除等。
Servlet 监听器用于监听一些重要事件的发生,监听器对象可以再 事情发生前、发生后可选择区执行的重要(原话是必要)处理。
1.LIstener是Servlet的监听器。Servlet规范提供了不同需求的接口(2.4中定义了三种)
2.可以监听客户端的请求,服务端的操作。
3.比如,通过监听器监听在线用户数量,当增加一个HttpSession时,给在线人数加1。
4.省略
5.开发者,需要在web.xml中对自己编写的监听器配置
6.
servlet规范中为每种事件监听器定义了相应的接口。在web.xml中可以同时注册多个servlet事件监听器,web服务器按照注册的顺序来自动加载和注册。由于在一个web应用程序中只会为每个事件监听器类创建一个实例对象,有可能出现多个线程同时调用一个事件监听对象的情况,所以要注意多线程安全问题(原作者没有给出解决方法)。
监听器类型:
一。按监听对象划分,servlet2.4规范定义事件有三种
1.用于监听应用程序环境对象(ServletContext)的事件监听器
2.用于监听用户会话对象(HttpSession)的事件监听器
3.用于监听请求消息对象(ServletRequest)的事件监听器
二。按监听的事件类型划分
1.用于监听域对象自身的创建和销毁的事件
2.用于监听域对象中的属性的增加和删除的事件
3.用于监听绑定到HttpSession域中的某个对象的状态的事件
so,搞清楚需要监听什么,然后自定义一个类继承需要的接口,在web.xml里面配置好;那么监听就开始了
web.xml:
<listener>
<listener-class>cn.com.liandisys.idev.console.org.web.MyListener</listener-class>
</listener>
MyListener.java
/**
* 文件名:MyListener.java<br/>
* 创建时间:2013-7-18 下午3:38:45<br/>
* 创建者:huc<br/>
* 修改者:暂无<br/>
* 修改简述:暂无<br/>
* 修改详述:
* 修改时间:暂无<br/>
*/
package cn.com.liandisys.idev.console.org.web;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/**
* TODO 一句话描述类的主要作用<br/>
* <p>
* TODO 该类的详细描述<br/>
* </p>
* Time:2013-7-18 下午3:38:45<br/>
* @author huc
* @version 1.0.0
* @since 1.0.0
*/
public class MyListener implements ServletContextListener {
/***/
@Override
public void contextInitialized(ServletContextEvent sce) {
// TODO Auto-generated method stub.
System.out.println("MyListener-----1");
}
/***/
@Override
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
System.out.println("MyListener-----2");
}
//TODO 记得要写注释,方便别人,成就自己。
}