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

   2015-06-24 0
核心提示:在服务器端用request.getParameter()读取参数时,很容易出现中文乱码现象,下面是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>

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

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • vue过滤器微信小程序过滤器和百度智能小程序过滤器
    vue过滤器微信小程序过滤器和百度智能小程序过
          因为最近写了微信小程序和百度小程序,用到了过滤器,感觉还挺好用的,所以就来总结一下,希望能帮到你们。1. 微信小程序过滤器:     1.1:首先建一个单独的wxs后缀的文件,一般放在utils文件夹里面。这里我命名为imgFilter.wxs(因为我项目里是
    02-09
  • vue2 + typescript2 自定义过滤器
    1.定义一个过滤器// color-directive.tsimport { DirectiveOptions } from 'vue'const directive: DirectiveOptions = {inserted(el, node) {/** * Using value: * v-colorDirective={color: 'red', backgroundColor: 'blue'} */if (node.value) {el.
    02-09
  • SpringBoot使用过滤器、拦截器和监听器的案例代
    目录SpringBoot使用过滤器、拦截器和监听器一、SpringBoot使用过滤器Spring boot过滤器的使用(两种方式)方式一:方式二:二、SpringBoot使用拦截器三、过滤器和拦截器的执行顺序四、SpringBoot使用监听器1、统计网站最多在线人数监听器的例子2、springboot
  • Java Filter过滤器的使用教程
    Java Filter过滤器的使用教程
    目录一、过滤器的使用以及实现原理当前的oa项目还存在什么缺陷Filter作用与执行原理过滤器怎么写过滤器的调用顺序Filter的生命周期二、责任链设计模式改造oa项目一、过滤器的使用以及实现原理当前的oa项目还存在什么缺陷①对于DeptServlet、EmpServlet、Order
  • asp.net mvc ,asp.net mvc api 中使用全局过滤
    MVC下的全局异常过滤器注册方式如下:标红为asp.net mvc ,asp.net mvc api  注册全局异常过滤器的不同之处using SuperManCore;using System.Web;using System.Web.Mvc;namespace SuperMan{public class FilterConfig{/// summary/// 注册全局过滤器 add by c
    02-08
  • asp.net mvc 自定义全局过滤器 验证用户是否登
    一般具有用户模块的系统都需要对用户是否登录进行验证,如果用户登录了就可以继续操作,否则退回用户的登录页面对于这样的需求我们可以通过自定义一个独立的方法来完成验证的操作,但是这样代码的重复率就大大提高了对于这样的需求,有一个比较好的解决方案,
    02-08
  • php过滤器使用详解 php过滤字符
    目录PHP 过滤器什么是 PHP 过滤器为什么使用过滤器函数和过滤器Validating 和 Sanitizing选项和标志验证输入净化输入过滤多个输入使用Filter CallbackPHP 过滤器PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。什么是 PHP 过滤器PHP 过滤器
    02-07 php过滤器
  • Yii2过滤器-behaviors()行为调用
    使用行为(behavior)可以在不修改现有类的情况下,对类的功能进行扩充。 通过将行为绑定到一个类,可以使类具有行为本身所定义的属性和方法,就好像类本来就有这些属性和方法一样。 而且不需要写一个新的类去继承或包含现有类。Yii中的行为,其实是 yii\base
    12-23 Yii
  • JSP利用过滤器解决request中文乱码问题
    这篇文章主要介绍了JSP利用过滤器解决request中文乱码问题,感兴趣的小伙伴们可以参考一下
  • JSP使用Servlet过滤器进行身份验证的方法
    这篇文章主要介绍了JSP使用Servlet过滤器进行身份验证的方法,结合实例形式分析了Servlet过滤器的实现方法及jsp身份验证的具体使用技巧,需要的朋友可以参考下
点击排行