jsp+struts2解决中文乱码问题

添加此类:

 1 import javax.servlet.*;
 2 import java.io.IOException;
 3 
 4 /**
 5  * @author Dong
 6  * @date 2021/11/18 15:06
 7  * @descripton 编码过滤器
 8  */
 9 public class EncodingFilter implements Filter {
10 
11     private String charset;
12 
13     @Override
14     public void init(FilterConfig config) throws ServletException {
15         this.charset = config.getInitParameter("charset");
16     }
17 
18     @Override
19     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
20     //用init方法取得的charset覆盖被拦截下来的request对象的charset
21         request.setCharacterEncoding(this.charset);
22         //将请求移交给下一下过滤器,如果还有的情况下。
23         chain.doFilter(request, response);
24     }
25 
26     @Override
27     public void destroy() {
28 
29     }
30 }

其次再配置web.xml,将上面添加的类加入进去:

 1   <filter>
 2         <filter-name>EncodingFilter</filter-name>
 3         <filter-class>com.*.EncodingFilter</filter-class>
 4         <init-param>
 5             <param-name>charset</param-name>
 6             <param-value>UTF-8</param-value>
 7         </init-param>
 8     </filter>
 9     <!-- 对哪些起作用,对jsp还是servlet -->
10     <filter-mapping>
11         <filter-name>EncodingFilter</filter-name>
12         <!-- 配置一下,让谁使用Filter,这里配置的是对所有的jsp起作用 -->
13         <url-pattern>*.action</url-pattern>
14     </filter-mapping>

 

posted on 2022-02-22 09:59  多看多记多写  阅读(47)  评论(0)    收藏  举报