- 浏览: 57702 次
- 性别:
- 来自: 上海
最新评论
-
hesai_vip:
写的很不错! 果断收藏!
使用Open Flash Chart(OFC)制作图表(Struts2处理) -
EvanWei:
不知道你最后选了哪一个公司,我最近也在应聘Rovi
两个offer:rovi和凯捷中国,不知道如何选择
在tomcat5中发现了以前处理tomcat4的方法不能适用于处理直接通过url提交的请求,上网找资料终于发现了最完美的解决办法,不用每个地方都转换了,而且无论get,和post都正常。
-------------------
问题描述:
1 表单提交的数据,用request.getParameter("xxx")返回的字符串为乱码或者??
2 直接通过url如http://localhost/a.jsp?name=中国,这样的get请求在服务端用request.getParameter("name")时返回的是乱码;按tomcat4的做法设置Filter也没有用或者用request.setCharacterEncoding("GBK");也不管用
原因:
1 tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理
2 tomcat对get方式提交的请求对query-string 处理时采用了和post方法不一样的处理方式。(与tomcat4不一样,所以设置setCharacterEncoding("GBK"))不起作用。
解决办法:
首先所有的jsp文件都加上:
1 实现一个Filter.设置处理字符集为GBK。(在tomcat的webapps/servlet-examples目录有一个完整的例子。请参考web.xml和SetCharacterEncodingFilter的配置。)
1)只要把%TOMCAT安装目录%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的WEB-INF\classes目录filters下,如果没有filters目录,就创建一个。
2)在你的web.xml里加入如下几行:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3)完成.
2 get方式的解决办法
1) 打开tomcat的server.xml文件,找到区块,加入如下一行:
URIEncoding=”GBK”
完整的应如下:
<Connector
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK" />
2)重启tomcat,一切OK。
执行如下jsp页页测试是否成功
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<%
String q=request.getParameter("q");
q = q == null? "没有值" : q;
%>
<HTML>
<HEAD><TITLE>新闻列表显示</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=pragma content=no-cache>
</HEAD>
<body>
你提交了:
<%=q%>
<br>
<form action="tcnchar.jsp" method="post">
输入中文:<input type="text" name="q"><input type="submit" value="确定">
<br> <a href="tcnchar.jsp?q=中国">通过get方式提交</a>
</form>
</BODY>
</HTML>
测试结果如果你输入文本框或者点超链都会显示:你提交了”中国”,说明成功!!!!!
发表评论
-
一些软件设计的原则
2011-06-20 15:20 880摘录自:http://coolshell.cn/article ... -
Jboss4集群配置
2011-06-08 17:49 34801.前言 2006年,Jboss公司被 ... -
ORACLE索引介绍与高性能SQL优化
2011-06-08 15:52 980什么是索引 索引是建立在表的一列或多个列上的辅助对象,目 ... -
说说大型高并发高负载网站的系统架构(from tianya)
2011-06-07 15:03 878说说大型高并发高负载 ... -
dao对象不能使用注解@Repository实例化的情形之一
2011-06-03 17:47 15722项目中定义一个dao对象,继承了 JdbcDaoSupport ... -
SQL Server 索引结构及其使用(四)
2011-06-01 23:04 748聚集索引的重要性和如 ... -
SQL Server 索引结构及其使用(三)
2011-06-01 23:04 722实现小数据量和海量数据的通用分页显示存储过程 建立一个 W ... -
SQL Server 索引结构及其使用(二)
2011-06-01 23:03 824改善SQL语句 很多人 ... -
SQL Server 索引结构及其使用1
2011-06-01 22:59 815一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特 ... -
如何使用Spring来管理Struts中的Action
2011-03-25 20:31 740当指定struts.objectFactory为spring时 ... -
eclipse无法启动JBoss5.1.0的解决小办法
2011-03-07 15:00 1992最近看看JBoss,发现早已有了新版本,好久没有关注了,于是下 ... -
log4j配置详解1
2010-12-17 15:15 755>>>>1. 概述Log4j ... -
Java日志系统框架的设计与实现
2010-12-17 11:15 1322在Java 领域,存在大量的日志组件,open-open收录了 ... -
胜负彩10001期欧洲四大博彩公司最新赔率
2010-09-20 13:37 24胜负彩对阵 威廉希尔 Interwetten 立博l ... -
明明白白Unsupported major.minor version 49.0的错误
2010-08-05 14:33 498转载自:http://www.blogjava.net/Unm ... -
一位系统分析师的工作经验总结
2010-07-20 15:39 1515谈到项目的需求分析,几乎每个软件开发人员 ... -
Tomcat6的结构
2010-05-17 17:28 1620本文分为三部分,分别为: Tomcat文件系统 Tom ... -
tomcat生命周期管理 LifeCycle
2010-05-17 15:12 971Servlet规范中定义了一个Servlet的生命周期, To ... -
计算机端口管理
2010-05-12 11:03 884在运行中输入cmd,进入命令行,然后输入netstat -an ... -
Debug Tomcat时发生java.library.path错误的解决方法
2010-05-12 10:22 953Tomcat, library, java, path, 解 ...
相关推荐
https://blog.csdn.net/myWorld001/article/details/109261850
通过简单的办法解决Tomcat中出现的乱码,本文章使用于jsp servlet初学者
参看文档:http://blog.csdn.net/sinat_29398599/article/details/52880036
中文乱码过滤器,可以解决GET提交,以及POST提交的中文乱码问题。引入该过滤器,其它任何地方都将不需要再转码。
可以解决post get请求乱码问题.
含Indy10.6 用于D7~XE6有详细安装方法;libeay32.dll和ssleay32.dll完美适用于indy10.6;解决D7下GET&POST;中文乱码的方法。
get post 请求中文乱码 处理方式一(小实例+说明文档)
今天为大家介绍fiddler的3种使用技巧,(1)Fiddler抓包显示域名IP(2)解决Fiddler抓包时中文乱码问题(3)利用fiddler模拟发送get/post请求的方法
自定义Filter来解决web项目中的乱码问题,包括get请求和post请求,使用包装设计模式。
使用过滤器实现GET请求和POST请求的中文乱码问题,只需在自己的Web应用中的web.xml中配置该filter即可使用。
JSP-GET-POST传递的乱码问题 中文参数传递乱码问题一直伴随着我们,整理的解决过程。
能处理所有servlet里的乱码,让你的网页里不在有乱码
POST和GET方法乱码解决方案.docx
Java中解决POST和GET请求的中文乱码问题.doc
今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。 当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头...
JSP中文乱码问题综述,中文乱码解决大全,表单使用Post方式提交后接收到的乱码问题,表单get提交方式的乱码处理方式,上传文件时的乱码解决,Java代码关于url请求,接受参数的乱码,关于jsp在MyEclipse中打开的乱码问题,...
filter是javaWeb中一个十分重要的知识点,可以拦截webApp的所有请求。 使用场景: 1、可以利用filter做到网站自登录。...2、可以利用filter全局修改参数编码,从而解决中文乱码问题(十分重要)。
关于StrutsPrepareAndExecuteFilter最新的过滤器,在Struts.xml定义常量<constant name="struts.i18n.encoding" value="UTF-8"/>无法解决post方式提交中文乱码问题。 关于Struts2各个版本、各种过滤器,用get方式...
03.SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理呢
主要解决表单提交中文乱码问题,主要针对页面GET提交的处理编码问题,设计知识 过滤器,servlet,装饰设计模式等