`
hebenben
  • 浏览: 34738 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java web中配置Filter解决jsp中文乱码问题

阅读更多
今天在做DynaActionForm练习的时候,在表单提交时,遇到了提交中文出现乱码的问题。虽然以前解决过类似的问题,但总是没有记录相关的笔记。后来在网的找了一大堆的文章看了以后,大部都是乱说一通,感觉行得通,但太麻烦了,于是找到自己以前做过的小项目中,看了一下以前设计的Filter,让站点内所有的编码都为utf-8的形式输出!于是也在自己DynaActionForm的练习中配置了一下Filter,之后,整个Project里面的东西,都没有出现乱码的问题了。下面说一下具体的做法:
建立一个实现Filter接口的类。这个类需要三个方法,分别是:doFilter、init和destroy。doFilter方法包含主要的过滤代码,init方法建立设置操作,而destroy方法进行清除。
比如我建立的是FilterChar.java
package com.gtxy.dynaActionForm.web.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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* 以 UTF-8 输入输出
*
* @author ZhongHuiQiang
*
*/
public class FilterChar implements Filter {

  private String config;

  public void destroy() {
    this.config = null;
  }

  /**
    * name="FilterChar" <br>
    * init-param name="config" value="utf-8"<br>
    * mapping url-pattern="/*"<br>
    */
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req;
    req = (HttpServletRequest) request;

    HttpServletResponse res;
    res = (HttpServletResponse) response;

    req.setCharacterEncoding(config);
    res.setCharacterEncoding(config);
    chain.doFilter(req, res);

  }

  /**
    * 获得web.xml中初始化的参数
    */
  public void init(FilterConfig config) throws ServletException {
    this.config = config.getInitParameter("chars");
  }

}


OK,FilterChar类写完后,就要配置web.xml了!
在web.xml里面,最主要是下面这段代码
<filter>
    <filter-name>FilterChar</filter-name>
    <filter-class>
     com.gtxy.dynaActionForm.web.filter.FilterChar
    </filter-class>
    <init-param>
      <param-name>chars</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>FilterChar</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>




转自:http://webview.blog.51cto.com/969902/245781
分享到:
评论

相关推荐

    java中文乱码解决方案

    这边有必有说明的是如果是jsp+java bean+servlet的方案,中文乱码很好解决,统一设成gb2312就可以了。 1.2 使用struts框架字符集不能设成gb2312,要改成utf-8。  2. 在struts.properties 添加: struts.devMode=...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    3.4.2 解决中文乱码 3.4.3 获取客户端数据 3.5 response回应对象的应用 3.5.1 HTTP头信息的操作 3.5.2 设置MIME类型 3.5 13页面重定向操作 3.6 Session会话对象的应用 3.6.1 session的生命周期 3.6.2 会话的创建与...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    V512工作室Java web的ppt

    V512工作室Java web的ppt ...第18章讲解与Java Web编程有关的主要的字符集和编码方法,还讲解了如何应对Java Web编程中出现的各种乱码问题。 第19章 讲解Java Web应用的目录结构和web.xml文件中主要元素的含义。

    《Java-Web应用开发基础》教学课件08课程设计实例.pptx

    4.Servlet过滤器设计 设计两个Servlet过滤器:一个用于防止中文数据乱码,另一个用于防止未登录用户访问网站资源。 《Java-Web应用开发基础》教学课件08课程设计实例全文共73页,当前为第10页。 8.3设 计 思 路 ...

    《MyEclipse 6 Java 开发中文教程》前10章

    Tomcat JSP Web 开发中的乱码问题小结 164 第九章 开发Struts 1.x应用 166 9.1 介绍 166 9.2 创建Struts项目 168 9.2.1 创建Web项目 169 9.2.2 加入 Struts开发功能 169 9.3 使用Struts工具 171 9.3.1 Struts配置...

    支付宝第三方支付接口

    集成jsp,php,asp,vb等程序使用说明 1 index页面是创建支付url,...4 java程序要注意的中文乱码问题,一定要配置上去中文filter, 注意:一定要在web.xml中配置过滤器。每个项目中都配置了这个过滤器,具体可以直接打开

    struts2+kindEditor4.1.7

    中文乱码不是问题,一般struts2+spring开发项目的时候,使用spring的filter就可以搞定 &lt;filter&gt; &lt;filter-name&gt;Set Character Encoding&lt;/filter-name&gt; &lt;filter-class&gt;org.springframework.web.filter....

    Spring MVC 入门实例

    配置 CharacterEncodingFilter (filter 标签), 否则你会发现中文乱码. 因为我的 jsp 和 html 文件都是 UTF-8 编码的, 所以我在 param-value 标签中设置了 UTF-8. 估计你使用的是 GB2312 或者 GBK, 立即转到 UTF-8 ...

    Ajax过滤器

    java做web开发使用Ajax从.jsp页面到Servlet时中文可能乱码。在此提供Ajax过滤器。希望对大家有帮助!!

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    jpivot学习总结.doc

    1. jpivot加入其它应用中 解压jpivot.war 文件,在你的应用...在一个 JSP 页面当中,如果要使用 JPivot 标签库,除了要配置相关的配置文件外,我们需要在 JSP 头的位置声明对 JPivot 标签库的引用,引用方法如下: ...

Global site tag (gtag.js) - Google Analytics