您的位置:首页 > 其它

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

2015-07-11 19:23 519 查看
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:


package com.helloweenvsfei.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;

public class CharacterEncodingFilter implements Filter {

private String characterEncoding;
private boolean enabled;

public void init(FilterConfig config) throws ServletException {

characterEncoding = config.getInitParameter("characterEncoding");

enabled = "true".equalsIgnoreCase(characterEncoding.trim())
|| "1".equalsIgnoreCase(characterEncoding.trim());
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

if (enabled || characterEncoding != null) {
request.setCharacterEncoding(characterEncoding);
response.setCharacterEncoding(characterEncoding);
}

chain.doFilter(request, response);
}

public void destroy() {
characterEncoding = null;
}
}


web.xml添加进去


<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>
com.helloweenvsfei.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>characterEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>enable</param-name>
<param-value>true</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: