`

在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与jsp中文乱码处理

    然而,在处理中文字符时,由于编码不一致或者处理不当,可能会出现中文乱码问题。这个问题困扰了很多开发者,但通过了解编码原理和采用正确的方法,可以有效地解决。下面将详细阐述servlet和jsp中文乱码的处理方式。...

    jsp页面中获取servlet请求中的参数的办法详解

    在Servlet中,我们使用`request.getRequestDispatcher("/bbs.jsp").forward(request, response)`将控制权传递给`bbs.jsp`,这样,请求和响应对象会保持不变,JSP页面可以访问之前设置在请求作用域内的属性。...

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

    总结起来,这个`doGet`方法转码的例子展示了如何在Servlet中处理字符编码问题,特别是在处理来自不同编码环境的请求时。通过自定义的`charset`方法或者使用Servlet API提供的方法,我们可以确保数据在传输和处理过程...

    Servlet中doGet()测试方法

    在描述中提到,`doGet()`方法常用于测试Servlet中的数据库查询功能。这通常涉及到以下步骤: 1. **连接数据库**:首先,你需要建立到数据库的连接。这可能通过JDBC(Java Database Connectivity)实现,使用`...

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

    该问题的核心在于Servlet中的`doGet()`方法默认采用ISO-8859-1字符集进行数据处理,而ISO-8859-1并不支持中文字符。 #### 二、乱码原因分析 1. **默认字符集不兼容**:如前所述,Servlet中的`doGet()`方法默认使用...

    servlet中文乱码问题

    通过修改Tomcat配置文件中的`URIEncoding`属性以及在Servlet中通过`response.setContentType()`和`request.setCharacterEncoding()`方法来设置字符编码,可以有效解决中文乱码问题。此外,还可以通过字符集转换的...

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

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

    解决servlet页面乱码问题

    在Servlet的`doGet`或`doPost`方法中添加以下代码: ```java response.setContentType("text/html;charset=UTF-8"); ``` 这将设置HTTP响应的`Content-Type`头,告诉浏览器使用UTF-8解码响应内容。 3. **JSP...

    Servlet中doGet与doPost的区别

    Servlet中`doGet`与`doPost`方法的区别是理解和掌握Servlet工作原理的关键,它们分别对应HTTP协议中的GET和POST请求方式,下面将详细阐述这两个方法的特点及其应用场景。 ### 一、`doGet`与`doPost`的基本概念 `...

    Servlet中的中文乱码问题

    本篇文章将深入探讨如何解决Servlet中的中文乱码问题,以及如何在GBK、UTF-8和ISO-8859-1之间做出合理的选择。 首先,我们需要了解字符编码的基本概念。GBK是中国大陆广泛使用的中文字符集,包含了大部分中文字符;...

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

    在 Servlet 中,我们需要在每个 Servlet 中的 doGet 和 doPost 方法头部添加编码设置,以避免中文乱码问题。我们可以使用以下代码: `request.setCharacterEncoding("UTF-8");` 这条代码指定了 Servlet 请求的编码...

    将JSP代码转为Servlet

    - 实现`doGet`/`doPost`方法:根据JSP中的HTTP方法(GET或POST),在Servlet中编写对应的处理方法。 - 编写业务逻辑:将JSP中的Java代码转移到Servlet的`doGet`/`doPost`方法中。 - 输出响应:使用`PrintWriter`...

    jsp+servlet项目

    5. 在Servlet中处理业务逻辑,例如访问数据库、验证用户输入等。 6. 将处理结果存储在请求或会话域中,然后转发到JSP页面显示。 7. JSP页面通过EL(Expression Language)或JSTL(JavaServer Pages Standard Tag ...

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

    `service()`方法的内部逻辑如下:如果Servlet中定义了`service()`方法,那么Tomcat会直接调用;如果没有,它会查找Servlet的父类`GenericServlet`或`HttpServlet`,并在这些父类中找到`service()`方法。`...

    doget和dopost中文乱码问题1

    在Web开发中,中文字符的乱码问题是一个常见的问题,特别是在使用DOGET和DOPOST请求时。今天,我们将讨论DOGET和DOPOST中文乱码问题的解决方案。 DOGET和DOPOST请求中的中文乱码问题 在使用DOGET和DOPOST请求时,...

    JSP的Servlet连接

    4. 在Servlet中处理请求,实现业务逻辑。 5. 根据业务逻辑控制页面跳转,展示结果。 这个简单的例子展示了JSP与Servlet结合的基本工作流程,实际应用中,这种模式可以扩展到更复杂的业务场景,例如数据库操作、用户...

    ajax+jsp+servlet 中文解决方法

    在这个"ajax+jsp+servlet 中文解决方法"的示例中,开发者遇到了在使用Ajax进行数据交互时中文乱码的问题。中文乱码通常是由字符编码不一致导致的,特别是在跨平台或跨浏览器通信时。以下是一些关于如何解决这个问题...

    Servlet、Jsp乱码问题(三)

    在处理请求和响应时,有时会遇到字符编码问题,导致乱码。本文将深入探讨Servlet和JSP中的乱码问题及其解决方法。 首先,我们需要理解字符编码的基础知识。在计算机中,字符编码是用来表示文本的方式,常见的有...

    一个简单的jsp+servlet实现的增删改查(适合初手学习)

    - HTTP请求和响应的工作原理:GET和POST请求的区别,以及如何在Servlet中处理它们。 - JDBC API的使用:连接数据库,执行SQL语句,处理结果集。 - JSP内置对象和EL表达式:request、session、application等对象的...

    jsp传参 servlet接收中文乱码问题的解决方法

    这一步非常关键,可以确保在处理请求和生成响应时使用正确的编码,从而避免乱码的发生。代码示例如下: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ...

Global site tag (gtag.js) - Google Analytics