`

在JSP页面及servlet的doGet()方法中处理汉字乱码的问题

阅读更多
在doPost()方法中使用过滤器(所有编码方式为过滤器中设置的编码方式),在doget()方法中使用iso-8859方法

doGet及在页面中处理乱码的方法

1.EncodString.java 处理乱码的类


package commons;

import java.io.UnsupportedEncodingException;

public class EncodString {
public static String trans(String in) {
   try {
    in = new String(in.getBytes("ISO-8859-1"), "UTF-8");
   } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   return in;
}
}

2.在页面或doGet()方法中进行转换

    String n=request.getParameter("name");

     String name=EncodString.trans(n);

doPost()方法中处理乱码的方法

1.过滤器EncodeFilter.java

package com.xuyue.exp.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 EncodeFilter implements Filter {

private String encoding="";

public void destroy() {
   // TODO Auto-generated method stub

}

public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
   // TODO Auto-generated method stub
   request.setCharacterEncoding(encoding);
   chain.doFilter(request, response);
}

public void init(FilterConfig config) throws ServletException {
   // TODO Auto-generated method stub
   encoding=config.getInitParameter("encoding");
}
}

2.在web.xml中配置过滤器

<filter>
<filter-name>encoding</filter-name>
<filter-class>com.xuyue.exp.filter.EncodeFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>

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

3.项目中所有的编码方式改为utf-8
分享到:
评论
1 楼 zhousheng193 2011-02-15  
非常感谢LZ
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Servlet中doGet()测试方法

    Servlet中doGet()测试方法,方便测试Servlet中数据库的查询功能

    自己写的用于Servlet中doGet方法转码

    自己写的用于Servlet转码 charset包下charset类里的charset方法传入参数,返回经过utf-8转码的信息 注:主要用于Servlet中的doGet方法

    Servlet中doGet与doPost的区别

    Servlet中doGet与doPost的区别

    【servlet】彻底解决doGet、doPost以及控制台中文乱码问题

    我们在javaWeb项目时,使用doget和dopost总是会出现各种原因的中文乱码问题,楼主在查阅大量资料后,将为什么有这样的问题,和如何解决这种问题做个总结。 思维导图: 1. 应答乱码处理(response输出页面时乱码) 1.1 ...

    doGet()方法中文乱码问题的解决.doc

    Servlet中的doGet()方法默认是用ISO-8819-1显示的,这个字符集不支持中文,而且过滤器对doGet()无效,也不能通过一般方式修改,要想用doGet()显示中文必须通过设置tomcat的字符集才行

    doget和dopost中文乱码问题1

    doget和dopost中文乱码问题1

    13-Servlet访问流程以及doGet和doPost.pdf

    Servlet访问流程以及doGet和doPost 能力目标 能叙述Servlet访问流程以及Servlet的生命周期 能描述init()、service()、destory()什么时候被调用的 能描述doGet()和doPost()内部访问流程

    jsp和servlet操作mysql中文乱码问题的解决办法

    2、如果乱码是在servlet中出现的,则有两种方法:一种是在每个servlet中doget和doPost方法头部加上request.setCharacterEncoding(“UTF-8″);第二种最保险,一劳永逸,是专门写一个过滤器类,也称国际化,类名为...

    JSP和Servlet面试题

    方法初始化servlet,再根据不同请求调用doGet或doPost方法,最后再通过destroy()方法进行销毁。 2.Get和Post的区别 在页面提交数据时,get的数据大小有限制4k,post没有限制,get请求提交的数据会在地址栏显示,...

    JSP/Servlet Java面试逻辑题

    答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。 5、如何现实servlet的单线程模式★★ 答:&lt;%@page isThreadSafe=false%&gt; 面试中会遇到! 6、页面间对象传递的方法 答:...

    servlet中文乱码.xmind

    可以完全解决servlet的dopost和doget中文乱码的思维导图,如果觉得太少了看的不太明白,可以去看我的博客https://blog.csdn.net/qq_42495847/article/details/105237768 这个思维导图是我精华整理过的,试试上传功能

    jspSmartUpload.jar

    同时为了解决中文乱码问题,在后台servlet的doPost()或者doGet()方法体的前几行,写request.setCharacterEncoding("GBK");(因为该组件内部使用GBK编码,所以如果使用utf-8的话,反而从表单中会获取中文乱码)...

    servlet中文乱码(升级版).xmind

    可以完全解决servlet的dopost和doget中文乱码还有控制台乱码的思维导图,如果觉得太少了看的不太明白,可以去看我的博客https://blog.csdn.net/qq_42495847/article/details/105293206 这个是升级版,更加给力

    用servlet写的九九乘法表

    这是一个在刚学习servlet时写的九九乘法表

    servlet temple

    1.Servlet 是什么?  Servlet是使用Java Servlet 应用程序设计接口(API...因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。

    Servlet JSP登陆注册

    Servlet JSP登陆注册,一个注册和一个登陆功能,不涉及数据库操作,就一个doPost()方法和doGet()方法,初学者可以看看,仅作参考。不谋金币,免费献上

    JavaWeb开发技术-Servlet接口及其实现类.pptx

    Jsp XML HTML Servlet接口及其实现类 Servlet接口及其实现类 Servlet接口 GenericServlet类 HttpServlet类 实现Servlet接口 继承GenericServlet类 Servlet接口及其实现类 方法声明 功能描述 protected void doGet...

    jsp servlet

    //重定向的跳转方式为get(如果下一个servlet中没有get方法 将出现异常) 注意事项:a标签和重定向差不多 通过a标签进行跳转时也是调用doGet()方法 //从地址栏上方进入网页也是调用的servlet的get方法 //在使用doGet...

    彻底解决fckeditor(jsp版)上传中文图片乱码问题

    告诉FileUpload组件处理时的编码为项目编码,在FileItem中,用getString(encoding),这项设置可以解决获取的表单字段为乱码的问题,所以在每个FileItem实例后面都执行一次getString(encoding),就告诉FileItem在取值...

Global site tag (gtag.js) - Google Analytics