码迷,mamicode.com
首页 > 其他好文 > 详细

学习笔记_第一个strut程序_之中文乱码,过滤器解决方案及过程总结

时间:2015-07-11 20:09:11      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

1、  第一次碰到加过滤器的过程,就是在学习struct1的时候,中文乱码

几个需要注意的关键字

2、什么叫package

   所谓package就是打包的意思,就是说以下程序都是处于这个包内,所以一开始你看见src下拉菜单下面都是一些自己建的就是为了分开结构的作用

3、  建好了,就可以在包的下面建子文件,可以是class类文件,也可以是各种jsp,servlet文件。

4、  任何servlet文件或者显示界面文件都要在web.xml文件中进行配置,才能加载进去,而且是自动加载

5、  写代码的时候对于提醒的地方,可以使用他的建议,比如写Filer的时候书上没给import.Filter导包,导致程序无法进行,这时才发现压根就没有这些头文件,所以要适当的加上这些文件。

 

下面列下Filer中文乱码步骤

1、  建立一个Package

2、  在Package下面建一个类文件,就是书上的那个类(注意书上的没加头文件

3、  Web.xml中在中间加上几行配置代码就可以了(注意是配置文件中间,不是直接在</web-app>后面加)

 

类CharacterEncodingFilter:
 1 package com.helloweenvsfei.filter;
 2 
 3 import java.io.IOException;
 4 import javax.servlet.Filter;
 5 import javax.servlet.FilterChain;
 6 import javax.servlet.FilterConfig;
 7 import javax.servlet.ServletException;
 8 import javax.servlet.ServletRequest;
 9 import javax.servlet.ServletResponse;
10 
11 public class CharacterEncodingFilter implements Filter {
12 
13     private String characterEncoding;
14     private boolean enabled;
15 
16 
17     public void init(FilterConfig config) throws ServletException {
18 
19         characterEncoding = config.getInitParameter("characterEncoding");
20 
21         enabled = "true".equalsIgnoreCase(characterEncoding.trim())
22                 || "1".equalsIgnoreCase(characterEncoding.trim());
23     }
24 
25     
26     public void doFilter(ServletRequest request, ServletResponse response,
27             FilterChain chain) throws IOException, ServletException {
28 
29         if (enabled || characterEncoding != null) {
30             request.setCharacterEncoding(characterEncoding);
31             response.setCharacterEncoding(characterEncoding);
32         }
33 
34         chain.doFilter(request, response);
35     }
36     
37     public void destroy() {
38         characterEncoding = null;
39     }
40 }

 

 

 

web.xml添加进去 
1
<filter> 2 <filter-name>characterEncodingFilter</filter-name> 3 <filter-class> 4 com.helloweenvsfei.filter.CharacterEncodingFilter 5 </filter-class> 6 <init-param> 7 <param-name>characterEncoding</param-name> 8 <param-value>UTF-8</param-value> 9 </init-param> 10 <init-param> 11 <param-name>enable</param-name> 12 <param-value>true</param-value> 13 </init-param> 14 </filter> 15 16 <filter-mapping> 17 <filter-name>characterEncodingFilter</filter-name> 18 <url-pattern>/*</url-pattern> 19 </filter-mapping>

 

学习笔记_第一个strut程序_之中文乱码,过滤器解决方案及过程总结

标签:

原文地址:http://www.cnblogs.com/snowwhite/p/4639224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!