用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 记得要写注释,方便别人,成就自己。
}