From d188dccba2e6fa734e590fb6d7e7105ee2d0c6e4 Mon Sep 17 00:00:00 2001 From: prwfxgajt <3165503644@qq.com> Date: Sun, 15 Dec 2024 12:30:05 +0800 Subject: [PATCH] Update EncodingFilter.java --- .../src/com/cn/filter/EncodingFilter.java | 100 ++++++++++-------- 1 file changed, 53 insertions(+), 47 deletions(-) diff --git a/ticketing-master/src/com/cn/filter/EncodingFilter.java b/ticketing-master/src/com/cn/filter/EncodingFilter.java index 265f579..d59a414 100644 --- a/ticketing-master/src/com/cn/filter/EncodingFilter.java +++ b/ticketing-master/src/com/cn/filter/EncodingFilter.java @@ -1,64 +1,70 @@ -package com.cn.filter; +package com.cn.filter; // 定义过滤器包名 -import java.io.IOException; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import java.io.IOException; // 导入IOException类,用于处理IO异常 +import javax.servlet.Filter; // 导入Filter接口,用于创建过滤器 +import javax.servlet.FilterChain; // 导入FilterChain类,用于过滤器链 +import javax.servlet.FilterConfig; // 导入FilterConfig类,用于过滤器配置 +import javax.servlet.ServletException; // 导入Servlet异常类 +import javax.servlet.ServletRequest; // 导入ServletRequest接口 +import javax.servlet.ServletResponse; // 导入ServletResponse接口 +import javax.servlet.http.HttpServletRequest; // 导入HttpServletRequest类 +import javax.servlet.http.HttpServletResponse; // 导入HttpServletResponse类 /** * Servlet Filter implementation class EncodingFilter + *
该过滤器用于设置请求和响应的编码,确保字符编码的正确性。
*/ public class EncodingFilter implements Filter { /** - * Default constructor. + * Default constructor. + *EncodingFilter的默认构造函数。
*/ public EncodingFilter() { // TODO Auto-generated constructor stub } - /** - * @see Filter#destroy() - */ - public void destroy() { - // TODO Auto-generated method stub - } + /** + * Destroy method. + *销毁过滤器时调用的方法,可以在此释放资源。
+ */ + public void destroy() { + // TODO Auto-generated method stub + } - /** - * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) - */ - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - - //转换类型 - HttpServletRequest req=(HttpServletRequest) request; - HttpServletResponse res=(HttpServletResponse) response; - - String uri = req.getRequestURI(); - - if(uri.contains(".css") || uri.contains(".js") || uri.contains(".png")|| uri.contains(".jpg")){ - //如果发现是css或者js文件,直接放行 - chain.doFilter(request, response); - } else { - request.setCharacterEncoding("utf-8"); - response.setCharacterEncoding("utf-8"); - response.setContentType("text/html;charset=utf-8"); - chain.doFilter(request, response); - } - - - } + /** + * Do filter method. + *过滤器的核心方法,用于在请求处理链中执行过滤任务。
+ * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) + */ + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + // 转换类型 + HttpServletRequest req = (HttpServletRequest) request; + HttpServletResponse res = (HttpServletResponse) response; + + // 获取请求URI + String uri = req.getRequestURI(); + + // 如果请求是静态资源(如CSS、JS、图片),则直接放行 + if (uri.contains(".css") || uri.contains(".js") || uri.contains(".png") || uri.contains(".jpg")) { + chain.doFilter(request, response); + } else { + // 设置请求和响应的编码为UTF-8 + request.setCharacterEncoding("utf-8"); + response.setCharacterEncoding("utf-8"); + response.setContentType("text/html;charset=utf-8"); + // 继续过滤器链 + chain.doFilter(request, response); + } + } - /** - * @see Filter#init(FilterConfig) - */ - public void init(FilterConfig fConfig) throws ServletException { - // TODO Auto-generated method stub - } + /** + * Init method. + *初始化过滤器时调用的方法,可以在此进行初始化设置。
+ * @see Filter#init(FilterConfig) + */ + public void init(FilterConfig fConfig) throws ServletException { + // TODO Auto-generated method stub + } }