﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-共同学习java-文章分类-tomcat</title><link>http://www.blogjava.net/huanghuizz/category/34005.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 23 Aug 2008 17:02:04 GMT</lastBuildDate><pubDate>Sat, 23 Aug 2008 17:02:04 GMT</pubDate><ttl>60</ttl><item><title>Tomcat5的中文参数编码问题解决方案</title><link>http://www.blogjava.net/huanghuizz/articles/223900.html</link><dc:creator>七匹狼</dc:creator><author>七匹狼</author><pubDate>Sat, 23 Aug 2008 13:33:00 GMT</pubDate><guid>http://www.blogjava.net/huanghuizz/articles/223900.html</guid><wfw:comment>http://www.blogjava.net/huanghuizz/comments/223900.html</wfw:comment><comments>http://www.blogjava.net/huanghuizz/articles/223900.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huanghuizz/comments/commentRss/223900.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huanghuizz/services/trackbacks/223900.html</trackback:ping><description><![CDATA[我们在使用Tomcat应用服务器时，为了更好的支持URL地址中的中文参数问题，我们需要做如下的配置来确保应用程序接受到参数不乱码。比如我的系统采用了UTF-8的编码方式，那么如果直接传递中文参数，需要在tomcat进行如下设置：
<br />
<br />
1.如果单使用tomcat，不整合apache
<br />
我们需要修改server.xml文件的如下行：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Connector&nbsp;port</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">8080</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;maxHttpHeaderSize</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">8192</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxThreads</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">150</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;minSpareThreads</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">25</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;maxSpareThreads</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">75</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enableLookups</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">false</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;redirectPort</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">8443</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;acceptCount</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">100</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connectionTimeout</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">20000</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;disableUploadTimeout</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">true</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;URIEncoding</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">UTF-8</span><span style="color: #000000;">"</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;">&nbsp; <br />
</span></div>
注意URIEncoding="UTF-8"的部分，即将URI的编码设置为&#8220;UTF-8&#8220;，这样就不会有问题了；<br />
2.整合tomcat和apache后的设置
<br />
刚开始我没有整合的时候传递的中文参数可以很好的解决，后来整合apache后，却出现乱码了，绕过apache后是正常的，所以问题出现在apache
或apache和tomcat的通信上，经过baidu，好不容易找到答案。修改server.xml文件中的如下行：
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Connector&nbsp;port</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">8009</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enableLookups</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">false</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;redirectPort</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">8443</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;protocol</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">AJP/1.3</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;URIEncoding</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">UTF-8</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;">&nbsp; <br />
</span></div>
这出现apache和tomcat的通信上，由于我这里的整合是采用JK，tomcat使用的是ajp13协议，所以，需要在他们的通信阶段来处理编码，即代码中的URIEncoding="UTF-8"部分。<br />
<br />
引用：http://www.javaeye.com/topic/177911<br />
<img src ="http://www.blogjava.net/huanghuizz/aggbug/223900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huanghuizz/" target="_blank">七匹狼</a> 2008-08-23 21:33 <a href="http://www.blogjava.net/huanghuizz/articles/223900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>