http://hi.baidu.com/lizhm/item/9f33d24c8d05eb0e6cc2f07c
引用
在servlet-2.3中,Filter会过滤一切请求,包括服务器内部使用forward转发请求和<%@ include file="/index.jsp"%>的情况。
到了servlet-2.4中Filter默认下只拦截外部提交的请求,forward和include这些内部转发都不会被过滤,但是有时候我们需要forward的时候也用到Filter,这样就需要如下配置。
<filter><filter-name>TestFilter</filtername><filter-class>anni.TestFilter</filter-class></filter><filter-mapping><filter-name>TestFilter</filtername><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher><dispatcher>INCLUDE</dispatcher><dispatcher>EXCEPTION</dispatcher></filter-mapping>
这里FORWARD是解决request.getDispatcher("index.jsp").forward(request, response);无法触发Filter的关键,配置上这个以后再进行forward的时候就可以触发过滤器了。
分享到:
相关推荐
Servlet 2.4 API是Java Servlet规范的第三个版本,发布于2003年,它在Servlet 2.3的基础上增加了新的特性和改进。 二、Servlet生命周期 Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。在Servlet 2.4中,...
- 引入过滤器(Filter)概念,允许开发者在请求到达Servlet之前进行拦截和处理,实现如权限控制、字符编码转换等功能。 - 支持Session跟踪,使得服务器可以跨多个请求识别用户。 3. **Servlet 2.4**: - 发布于...
A filter configuration object used by a servlet container to pass information to a filter during initialization. flushBuffer() - Method in interface javax.servlet.ServletResponse Forces any content ...
2. **Servlet-API 2.3**:发布于2000年,这个版本引入了Servlet Filter和Servlet Listener的概念。Servlet Filter允许开发者在请求到达目标Servlet之前或之后对其进行拦截和处理,用于实现如日志记录、性能监控、...
Servlet 2.3引入了过滤器(Filter)和监听器(Listener)的概念,增强了对请求处理的控制和应用程序的生命周期管理,同时也改进了部署描述符(web.xml)的灵活性。 5. **JSP 2.0**:JavaServer Pages是Java平台上的...
在Java Web开发中,`javax.servlet.Filter`接口是Servlet规范的一部分,用于实现请求处理的过滤逻辑。当遇到“`cannot be cast to javax.servlet.Filter`”的错误时,通常意味着在程序运行过程中尝试将一个对象强制...
Servlet API 2.5与JSP API ...需要注意的是,尽管Servlet 2.5和JSP 2.1在许多现代项目中仍然适用,但随着技术的发展,更高版本的Servlet(如Servlet 4.0)和JSP(如JSP 2.3)已经发布,带来了更多的新功能和性能优化。
通过`init()`方法可以进行一些必要的配置和资源加载工作,确保Servlet能够在后续请求处理过程中正常工作。 #### 四、Servlet的高级应用 **4.1 过滤器(Filter)** - **功能**:Filter用于拦截客户端请求或服务器...
3. Servlet 2.4(2003年11月):此版本主要增加了对Annotation的支持,使得Servlet、Filter和Listener可以使用注解进行声明式配置,简化了部署过程。 4. Servlet 2.5(2005年9月):随着Java EE 5的发布,Servlet ...
4. **servlet-2_3-fcs-spec.pdf**:Servlet 2.3最终候选版的规范,这个版本在Servlet 2.2的基础上增加了过滤器(Filter)和监听器(Listener)等特性。 5. **servlet-3_0-mrel-spec.pdf**:Servlet 3.0维护发布版的...
- **Servlet 2.4**:2002年发布,支持EL表达式和JSTL标签库。 - **Servlet 2.5**:2005年发布,支持Annotation配置,简化了Servlet的部署描述符编写。 - **Servlet 3.0**:2009年发布,引入了非阻塞I/O模型。 - **...
`web-app_2_3.dtd`和`web-app_2_4.xsd`分别对应Servlet容器中Web应用程序部署描述符的版本2.3和2.4的XSD文件,用于规定`web.xml`文件的结构。 接下来,我们将详细探讨这两个文件类型在Java Web开发中的作用: 1. `...
Servlet 与 CGI 的主要区别在于,Servlet 是基于 Java 语言的,而 CGI 是基于 C 语言的。 1.6. Servlet 的主要任务 Servlet 的主要任务是处理 HTTP 请求,并返回响应结果。Servlet 可以处理各种类型的请求,包括 ...
6.6.4 sendredirect()和forward()方法的区别 238 6.7 小结 239 第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet...
6.6.4 sendredirect()和forward()方法的区别 238 6.7 小结 239 第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet...
6.6.4 sendredirect()和forward()方法的区别 238 6.7 小结 239 第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet...
综上所述,《Servlet与JSP核心编程第二版》这本书不仅涵盖了Servlet和JSP的基础知识,还深入探讨了这两种技术的实际应用案例和技术细节。对于希望深入了解这些技术的开发者来说,这是一本非常有价值的参考书。
6.6.4 sendredirect()和forward()方法的区别 238 6.7 小结 239 第7章 web应用程序的部署 240 7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet...