解决tomcat的乱码问题是一个比较麻烦的问题,也分很多种情况,对于不同的情况可以采用不同的方法
方法一
更改 \Tomcat-Home\conf\server.xml,指定浏览器的编码格式为“简体中文”:
找到 server.xml 中的
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />
方法二
也是在平时开发中比较常用的,建议这样(使用Filter过滤器)
package com.web.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; import javax.servlet.http.HttpServletRequest; public class CodeFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest = (HttpServletRequest) request; httpServletRequest.setCharacterEncoding("gbk"); filterChain.doFilter(request, response); } public void init(FilterConfig arg0) throws ServletException { } }
然后在web.xml中配置
<filter> <filter-name>myTomcatFilter</filter-name> <filter-class>com.web.filter.CodeFilter</filter-class> </filter> <filter-mapping> <filter-name>myTomcatFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> <filter-mapping> <filter-name>myTomcatFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>
注意,如果你没有使用struts来开发,就不用在配置*.do了直接配置*.jsp就ok了