web.xml中servlet和listener的说明

Servlet是部署在服务器端的Java小程序,实现了一些HTTP接口,可以用来完成基于HTTP协议的请求、答复工作。

Filter(过滤器)和Listener也是Servlet,但其作用略有不同,我们从他们的配置方法观察一下:

Filter的配置

<filter-name></filter-name>

<filter-class></filter-class>

<filter-name></filter-name>

<filter-mapping></filter-mapping>

Listener的配置

<listener-name></listener-name>

<listener-class><listener-class>

下面是标准的Servlet的配置

<servlet-name></servlet-name>

<servlet-class></servlet-class>

<servlet-name></servlet-name>

<servlet-mapping></servlet-mapping>

Listener的配置明显缺少mapping的配置,它的执行不必通过url请求匹配,Listener可以通过继承以下类来实现:

ServletContextListener, ServletContextAttributeListener, HttpSessionListener, HttpSessionAttributeListener, HttpSessionActivationListener, HttpSessionBindingListener, ServletRequestListener, ServletRequestAttributeListener

从名称可以看出,Listener要监听Context、Session、Request的变化,由这些数据可以实现在线人数统计等功能。

Filter的执行,需要首先对url请求进行匹配,对于符合配置定义的url,servlet将执行自定义filter,filter的获取的请求进行过滤处理,如对编码的处理等。对于不符合系统要求的请求,filter可以进行一些合理忽略等处理,这样可以避免负责业务处理的Servlet的资源浪费。经过filter处理的请求,将提交给Servlet进行进一步的业务处理。

猜你喜欢

转载自yjy110.iteye.com/blog/2175497