JSP用过滤器解决request getParameter中文乱码问题

所属分类: 网络编程 / JSP编程 阅读数: 677
收藏 0 赞 0 分享

(1)客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter()读取参数时,很容易出现中文乱码现象。

(2)用过滤器解决request中文乱码问题。

(3)代码如下:

package my; 

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class ChineseFilter implements Filter { //定义了一个过滤器 实现Filter接口 

private FilterConfig config = null; 

public void init(FilterConfig config) throws ServletException { 
this.config = config; 
} 

public void destroy() { 
config = null; 
} 

public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException, ServletException 
{ 
request.setCharacterEncoding("GB2312"); 
chain.doFilter(request, response); //把过滤后的request对象转发给下一个过滤器处理 
} 
}

(4)部署过滤器。编辑WEB-INF\web.xml文件,添加以下内容:

<filter> 
<filter-name>cf</filter-name> 
<filter-class>my.ChineseFilter</filter-class> 
</filter> 
<filter-mapping> 
<filter-name>cf</filter-name> 
<url-pattern>/*</url-pattern> 
<dispatcher>REQUEST</dispatcher> 
<dispatcher>FORWARD</dispatcher> 
<dispatcher>INCLUDE</dispatcher> 
</filter-mapping>

这里的<dispatcher></dispatcher>主要是配合RequestDispatcher使用。

1.取值为REQUEST时 表示有请求直接来自客户端时,过滤器才能被激活,如果请求是来自RequestDispatcher.forward时不激活;

2.取值为FORWARD时 表示如果请求是来自RequestDispatcher.forward时此过滤器才激活;

3.取值为INCLUDE时 表示如果请求是来自RequestDispatcher.include时此过滤器才激活;

4.取值为ERROR时 表示如果请求是来自RequestDispatcher使用“错误信息页”时此过滤器才激活;

5.默认为REQUEST。

(5)创建一个jsp页面检验

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 

<body> 
<% 
String s=request.getParameter("data"); 
out.print(s); 
%> 
</body> 
</html>

(6)OK!到此结束 望你成功!

更多精彩内容其他人还在看

JSP session配置对web应用的影响

这篇文章主要介绍了JSP session配置对web应用的影响的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JSP开发中在spring mvc项目中实现登录账号单浏览器登录

这篇文章主要介绍了JSP开发中在spring mvc项目中实现登录账号单浏览器登录的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

利用JSP session对象保持住登录状态

这篇文章主要为大家详细介绍了如何利用JSP session对象保持住登录状态,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jsp输出所有请求头的名称方法

下面小编就为大家带来一篇jsp输出所有请求头的名称方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JSP 自定义注解及记录操作日志

这篇文章主要介绍了JSP 自定义注解及记录操作日志的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JSP Struts过滤xss攻击的解决办法

这篇文章主要介绍了JSP Struts过滤xss攻击的解决办法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring AOP切面解决数据库读写分离实例详解

这篇文章主要介绍了Spring AOP切面解决数据库读写分离实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Hibernate识别数据库特有字段实例详解

这篇文章主要介绍了Hibernate识别数据库特有字段实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解 hibernate mapping配置

这篇文章主要介绍了,每个hibernate只会启动的时候引入一个文件,那就是:hibernate.cfg.xml mapping需要我们在hibernate中引入, <mapping resource="com/hibernate/test/hibernate_I
收藏 0 赞 0 分享

JSP spring boot / cloud 使用filter防止XSS

这篇文章主要介绍了JSP spring boot / cloud 使用filter防止XSS的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多