源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[JSP编程] JSP利用过滤器解决request中文乱码问题

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2015-12-13 14:35:40 | 显示全部楼层 |阅读模式
这篇文章主要介绍了JSP利用过滤器解决request中文乱码问题,感兴趣的小伙伴们可以参考一下

本文为大家分享了JSP用过滤器解决request中文乱码问题,具体内容如下
(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> 

以上就是关于JSP解决request中文乱码问题的方法,希望对大家的学习有所帮助。

回复

使用道具 举报

14

主题

1万

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2023-8-7 01:11:20 | 显示全部楼层
2222222222222222
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

301

积分

中级会员

Rank: 3Rank: 3

积分
301
发表于 2023-8-23 18:35:15 | 显示全部楼层
终于找到了,我擦
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-10-31 08:51:09 | 显示全部楼层
儿童服务绯闻绯闻绯闻
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-12-2 20:54:52 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

362

积分

中级会员

Rank: 3Rank: 3

积分
362
发表于 2024-3-26 14:03:50 | 显示全部楼层
飞飞飞飞飞飞飞飞飞飞飞飞飞
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2024-5-18 21:09:10 | 显示全部楼层
那三门,你们谁寂寞才快乐撒
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

58

积分

注册会员

Rank: 2

积分
58
发表于 2024-7-13 21:49:28 | 显示全部楼层
hi哦回复iOS就看见
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

319

积分

中级会员

Rank: 3Rank: 3

积分
319
发表于 2024-7-23 19:26:33 | 显示全部楼层
的沙发水电费水电费
回复 支持 反对

使用道具 举报

7

主题

2万

回帖

288

积分

中级会员

Rank: 3Rank: 3

积分
288
发表于 2024-7-29 21:38:10 | 显示全部楼层
刷屏刷屏刷屏
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-2-6 07:48 , Processed in 0.063212 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表