Filter

Filter:过滤器,用来过滤网站的数据

1)处理中文乱码

2)登录验证

 

 Filter开发步骤

1)导包

注意不要导错

 

 

2)编写过滤器

代码:

复制代码
 1 public class CharacterEncodingFilter implements Filter {
 2 
 3     // 初始化
 4     public void init(FilterConfig filterConfig) throws ServletException {
 5         // web服务器启动的时候就初始化,随时等待过滤对象出现
 6         System.out.println("CharacterEncodingFilter初始化");
 7 
 8     }
 9 
10     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
11 
12         /*
13         * filterChain
14         * 1:过滤器中的所有代码,在过滤特点的请求的时候都会执行
15         * 2:必须要让过滤器继续执行
16         * filterChain.doFilter(servletRequest, servletResponse);
17          *
18         *
19         * */
20 
21         // 处理乱码
22         request.setCharacterEncoding("utf-8");
23         response.setCharacterEncoding("utf-8");
24          response.setContentType("text/html;charset=UTF-8");
25 
26         System.out.println("执行前");
27         chain.doFilter(request, response); // 让请求继续走,如果不写程序到这里就被拦截停止,相当于中间商转移req和resp
28         System.out.println("执行后");
29     }
30 
31     // 销毁:web服务器关闭的时候才会销毁
32     public void destroy() {
33         System.out.println("CharacterEncodingFilter销毁");
34     }
35 }
复制代码

 

3:在web.xml中配置过滤器

复制代码
1 <filter>
2         <filter-name>CharacterEncodingFilter</filter-name>
3         <filter-class>com.kuang.filter.CharacterEncodingFilter</filter-class>
4     </filter>
5     <filter-mapping>
6         <filter-name>CharacterEncodingFilter</filter-name>
7         <!--  只要是servlet下面的任何请求都走过滤器      -->
8         <url-pattern>/servlet/*</url-pattern>
9     </filter-mapping>
复制代码

 

posted on   Love&Share  阅读(65)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示