序
实现通过过滤器截获所有的请求,并将访问Http的头和内容打印处理
创建过滤器类:
过滤器定义:过滤器先与Servlet执行,某个请求被一个过滤器处理完成后,它会自动将请求交给下一个过滤器处理,这样,客户的请求在过滤链里逐个处理,直到请求处理完毕。
过滤器必须实现接口Filter。
public class TestFilter implements Filter {
public TestFilter() {}
public void destroy() {}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
Enumeration enu = req.getHeaderNames();
System.out.println("---- read header -------");
while(enu.hasMoreElements()){
String name = (String)enu.nextElement();
System.out.println(name + "=" + req.getHeader(name));
}
System.out.println("--------------");
BufferedReader reader = req.getReader();
String str;
System.out.println("-----read content-------");
while((str = reader.readLine()) != null){
System.out.println(str);
}
System.out.println("--------------");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {}
}
在以上代码中之所以可以将ServletRequest强制转换为HttpServletRequest 是
因为Sun初始的设计是想兼容除了HTTP协议,还想兼容别的协议,而实际Servlet目前只是实现了
Http协议,所有基本可以认为所有的ServletRequest 都是HttpServletRequest 。
HttpServletRequest req = (HttpServletRequest)request;
在web.xml进行配置
<filter>
<display-name>TestFilter</display-name>
<filter-name>TestFilter</filter-name>
<filter-class>com.hry.test.TestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
经过以上配置后,服务器将打印所有的请求的内容。
补充:
过滤器还常被应用到处理Post方式提交表单里的乱码。
分享到:
相关推荐
7. **过滤器链**:多个过滤器按顺序执行,理解其工作原理和配置。 8. **部署描述符(web.xml)**:配置Servlet、过滤器和监听器的核心文件。 **通过这套“JSP Servlet学习资料--全套PPT”,你将能够深入理解这两个...
2. Servlet基础:涵盖Servlet生命周期、服务方法、请求和响应对象、会话管理以及过滤器和监听器。 3. 数据库连接与操作:使用JDBC(Java Database Connectivity)进行数据库连接,执行SQL语句,处理结果集。 4. MVC...
可以使用过滤器(Filter)进行预处理,限制非法请求。同时,合理设计数据库索引,优化查询性能,提升用户体验。 8. **测试与部署** 完成系统开发后,需进行单元测试、集成测试和系统测试,确保各功能正常运行。...
6. **Servlet 2.4兼容**:JSP 2.0与Servlet 2.4规范兼容,利用了Servlet的许多改进,如过滤器、监听器等。 7. **错误处理和调试**:引入了更友好的错误处理机制,以及在开发过程中方便的调试工具。 8. **标签文件*...
3. **JSTL(JavaServer Pages Standard Tag Library)**:提供一系列标签库,简化JSP页面的编写,如用于数据库操作的SQL标签。 4. **MVC(Model-View-Controller)**:一种设计模式,用于分离业务逻辑、视图展示和...
这份"Servlet和Jsp学习指南源代码.rar"压缩包很可能包含了一系列示例代码,帮助初学者理解这两种技术的工作原理和实际应用。 Servlet是Java语言编写的服务端组件,主要负责处理HTTP请求,并生成响应。它提供了对...
**JSP开发** 过程中可能涉及的其他主题包括错误处理、过滤器、监听器、会话管理、安全性、性能优化等方面。通过深入理解这些知识点,开发者能够编写出高效、健壮且易于维护的JSP应用程序。 **JSP_Web** 涉及到的是...
过滤器.zip”可能包含一系列的视频教程和代码示例,旨在教授如何在实际项目中应用过滤器技术。 过滤器的主要功能包括: 1. **数据转换**:在请求到达目标Servlet或JSP之前,可以对请求参数进行转换,如字符编码...
在《JSP学习笔记截屏1》中,我们可以预见到这是一份关于学习JSP过程中的记录,包含了韩顺平老师的视频教程内容和个人的学习心得。韩顺平老师是一位知名的Java和Web开发领域的讲师,他的课程通常深入浅出,易于理解,...
文件"store"可能是项目的根目录,包含了一系列的子目录和文件,如WEB-INF目录,其中存放了web.xml配置文件,定义了Servlet和过滤器的映射,以及其他部署相关的配置。此外,可能还有源代码目录(如src),存放Java类...
3. "examples"可能是更多JSP或相关Java Web技术的实例,涵盖Servlet、过滤器、监听器等,帮助你深入理解Web应用的架构和工作流程。 通过这些学习资料,你可以逐步掌握如何使用JSP进行动态网页开发: - 学习JSP基本...
总结来说,这个`jsp系列资料`压缩包是一个全面的JSP学习资源库,从基础概念到高级技术,从环境配置到实战经验,为学习和精通JSP提供了丰富的材料。通过深入学习这些资料,开发者不仅可以掌握JSP的基本操作,还能理解...
Java EE(Java Platform, Enterprise Edition)是用于构建企业级分布式应用程序的框架,它提供了一系列标准接口和组件模型,包括上下文、监听器和过滤器。这些概念是Java EE开发中的核心组成部分,对于理解和优化Web...
4. `WEB-INF/web.xml` - 应用的部署描述符,可能配置了Servlet或过滤器。 5. 其他辅助文件,如图片资源或额外的Java类文件。 通过这个简单的项目,开发者可以学习到JSP的基本语法、JavaScript的前端交互以及如何...
在IT行业中,Web开发是至关重要的领域,而`JSP(JavaServer Pages)`、`Servlet`、`JSTL(JavaServer Pages Standard Tag Library)`、`EL(Expression Language)`以及`过滤器(Filter)`和`监听器(Listener)`是...
需设置过滤器以指定请求编码,例如在`struts-config.xml`或`struts2-convention-plugin.xml`中配置`filterEncoding`。 通过不断学习和实践,我们可以避免这些常见错误,提高JSP开发效率。同时,分享和交流错误解决...
2. **过滤器(Filters)**:在Servlets中,过滤器可以对请求和响应进行预处理和后处理,如字符编码转换、登录检查等。了解如何配置和实现Servlet Filter是提升应用功能的关键。 3. **监听器(Listeners)**:监听器...
此外,还会涉及Servlet、JDBC、MVC架构、过滤器和监听器等核心概念,这些都是Java Web开发中的重要组成部分。 此外,由于压缩包的格式为.rar,这表明你需要使用支持RAR格式的解压工具,如WinRAR或7-Zip,来提取其中...
4. **配置文件**:如web.xml,用于配置应用服务器中的Servlet和过滤器。 5. **数据库脚本**:创建表、定义关系以及初始化数据的SQL语句。 6. **测试代码**:单元测试和集成测试,可能使用JUnit或其他测试框架。 7...