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

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>

 


posted @ 2015-07-11 19:23  好想雨的云  阅读(273)  评论(0编辑  收藏  举报