`

jsp servlet乱码解决总结

 
阅读更多
演示情况:
1.index.jsp 向 result.jsp post 参数

出现乱码

解决:(假定两页面均是utf-8编码)
方法1.在result.jsp页面内加入
request.setCharacterEncoding("utf-8");  


方法2.加filter

  	<filter>
		<filter-name>EncodingFilter</filter-name>
		<filter-class>leko.macleo.filter.EncodingFilter</filter-class>
		<init-param>                                                              
   			<param-name>languageconfig</param-name>
   			<param-value>utf-8</param-value> 
  		</init-param>  
	</filter>
	<filter-mapping>
		<filter-name>EncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


package leko.macleo.filter;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class EncodingFilter implements Filter {

	private FilterConfig filterConfig;  
	private String enconfig;  
	/**
	 * Constructor of the object.
	 */
	public EncodingFilter() {
		super();
	}

	

	// Handle the passed-in FilterConfig	
	public void init(FilterConfig filterConfig) throws ServletException {
		this.filterConfig = filterConfig;
		
		//获得,web.xml文件中配置languageconfig 的值,我在web.xml文件中配置了languageconfig 的值为:utf-8;  
		this.enconfig=this.filterConfig.getInitParameter("languageconfig");  
		System.out.println("过滤器初始化成功!");  
	}

	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain filterChain)

	{
		try {
			HttpServletRequest request = (HttpServletRequest) req;
			HttpServletResponse response = (HttpServletResponse) res;
			HttpSession session = request.getSession();
			
			if (this.enconfig!=null) {  
				   request.setCharacterEncoding(this.enconfig);  
				   response.setCharacterEncoding(this.enconfig);  
				   System.out.println("过滤器处理中:"+this.enconfig);  
				  }  
				  //处理权交给下一个过滤器;  
			// 这里放到达目的地前(进入)处理代码
			
			filterChain.doFilter(req, res);

			// 这里放到达目的地(离开)的处理代码

		} catch (IOException e) {
			e.printStackTrace();
		} catch (ServletException e) {
			e.printStackTrace();
		}
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		// Just puts "destroy" string in log
		// Put your code here
		this.filterConfig=null;  
		  this.enconfig=null;  
		  System.out.println("过滤器销毁成功!");  
		//System.out.println("过滤器销毁成功!");  
	}

}




相比两方法,方法2虽然麻烦..但是相对方便..



Servlet 字符乱码解决
http://blog.csdn.net/songylwq/article/details/5771893
http://blog.csdn.net/cn_gaowei/article/details/6673539
http://www.cnitblog.com/jmbkeyes/articles/21479.html
用filter标本兼治了。。。
分享到:
评论

相关推荐

    servlet与jsp中文乱码处理

    通过以上方法,基本可以解决servlet和jsp在接收和显示中文时的乱码问题。但在实际开发中,可能还需要根据具体环境和需求进行调整。了解这些知识点,对于Java Web开发者来说是非常必要的,能够提高项目的稳定性和用户...

    jsp+servlet+mysql乱码解决的这天

    jsp+servlet+mysql乱码解决方案 jsp+servlet+mysql乱码解决方案是指在使用jsp+servlet+mysql开发web应用程序时,如何解决中文乱码问题的解决方案。该方案通过设置每个页面的编码格式为utf-8,控制器servlet中的请求...

    JSP中文乱码问题解决总结

    本篇文章将深入探讨JSP中文乱码问题的原因、解决策略以及预防措施。 一、乱码产生的原因 1. 字符集不一致:JSP页面、Servlet、HTML、CSS、JavaScript、数据库等环节如果使用的字符集不统一,容易导致中文字符在...

    tomcat与servlet乱码解决办法

    ### Tomcat与Servlet乱码问题解析及解决方案 #### 一、引言 在Web开发过程中,经常遇到的一个问题就是字符编码的问题,特别是在处理中文字符时,如果编码设置不当,很容易出现乱码的情况。本文主要围绕Tomcat服务器...

    jsp中文乱码的解决方案

    文档《JSP各种乱码的处理(一).doc》和《JSP各种乱码的处理(二).doc》中可能详细列举了各种JSP乱码问题的实例及解决方法,包括但不限于文件上传、读取流、数据库操作等方面,建议参考学习,以便更全面地理解并解决...

    解决jsp+servlet开发中的中文乱码问题

    ### 解决JSP+Servlet开发中的中文乱码问题 #### 概述 在基于JSP(Java Server Pages)和Servlet技术的Java Web应用开发过程中,中文乱码问题一直是困扰开发者的一大难题。由于Java Web应用程序涉及多个组件之间的...

    JSP乱码 N种解决方案

    本文将深入探讨“JSP乱码”的多种解决方案,并提供实用的解决策略。 1. **理解字符编码的基本概念** - 字符编码是计算机对文字进行存储和处理的标准,常见的有ASCII、GBK、UTF-8等。 - JSP页面默认使用ISO-8859-1...

    javaweb servlet(jsp)的乱码问题原理及解决

    ### javaweb servlet(jsp)的乱码问题原理及解决 #### HTTP协议的基本理解与乱码问题背景 HTTP协议作为互联网应用中最为广泛使用的通信协议之一,它定义了客户端和服务端之间的交互规则。HTTP请求主要分为GET和...

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

    jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...

    JSP乱码解决方案

    本文将深入探讨JSP乱码的原因及其解决方案,帮助开发者有效地处理这类问题。 ### 1. JSP乱码的成因 - **字符集设置不一致**:JSP文件、HTML页面、HTTP头、Servlet输出以及数据库存储等环节的字符集设置不一致,...

    jsp解决乱码方法总结

    ### jsp解决乱码方法总结 在Web开发中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会遇到字符编码的问题,也就是所谓的“乱码”现象。这些问题如果处理不当,将严重影响用户体验以及数据的正确性。...

    java,jsp,servlet 乱码

    Java、JSP 和 Servlet 乱码问题是一个常见的开发难题,主要涉及到字符编码的不一致,导致数据在不同阶段出现解码错误。以下是一些解决乱码问题的关键知识点: 1. **页面编码设置**: - 静态HTML页面可以通过`...

    JSP中乱码解决办法

    本篇将详细探讨如何在JSP中解决POST方式和GET方式下产生的乱码问题,确保数据正确无误地传输与展示。 ### POST方式下的乱码解决方案 #### 1. 使用`request.setCharacterEncoding()`方法 在JSP页面中,可以通过...

    Servlet及jsp解决中文乱码问题

    ### Servlet及JSP解决中文乱码问题 #### 一、引言 在Web开发中,中文乱码问题一直是困扰开发者的一大难题。特别是在使用Java技术栈(如Servlet与JSP)进行开发时,如果处理不当,很容易出现中文字符显示乱码的情况...

    Jsp和Servlet中文乱码问题

    本文将深入探讨JSP和Servlet中文乱码问题的根源、解决方案以及预防策略。 ### JSP和Servlet中的中文乱码问题根源 中文乱码问题通常源于字符编码不一致或配置错误。在Web应用中,数据流经多个环节,包括客户端...

    JSP中文乱码处理JSP中文乱码处理

    总结来说,解决JSP中文乱码问题的关键在于:明确JSP文件的编码,正确设置HTTP请求的解码,以及统一响应内容和数据库的字符集。同时,要注意在每个可能产生编码转换的环节都要进行适当的检查和配置,以确保数据的完整...

    jsp乱码解决超酷,通过web.xml配置

    综上所述,解决JSP乱码问题的关键在于统一各个阶段的字符集,包括HTTP请求、JSP页面、Servlet响应和数据库交互。通过`web.xml`的配置,我们可以实现全局的字符集控制,使得整个应用对非ASCII字符的处理更加顺畅。...

    解决servlet页面乱码问题

    本文将深入探讨如何解决Servlet页面显示乱码的问题,这对于初学者来说是至关重要的知识点。 首先,我们需要理解乱码的根源。在Web应用中,乱码通常出现在两个阶段:输入(如POST表单数据)和输出(如HTML页面的响应...

    jsp中文乱码 jsp mysql 乱码的解决方法.docx

    jsp中文乱码 jsp mysql 乱码的解决方法 ...解决 jsp 中文乱码的问题需要从多方面考虑,包括 servlet、jsp 页面和数据库的字符编码问题。只有当所有方面的字符编码是一致的时,才能确保中文字符的正确传输。

Global site tag (gtag.js) - Google Analytics