还剩7页未读,继续阅读
文本内容:
Tomcat和weblogic中文乱码问题解决方案乱码的根本原因是编码和解码的不一致,所以只要把它们置成一样的就可以了解决乱码最好的方法是增加过滤器关键代码只有三行使用tomcat服务器可以用一下过滤器先添加一个java类再在web.xml中注册这个过滤器,注意红色字体为添加的部分然而当我们将项目一到weblogic的时候,又有可能出现乱码,那么如何调整过滤器呢?weblogic中的过滤器如下然后再web.xml中注册过滤器这样的话在weblogic中就不会出现乱码了这个过滤器理论上在tomcat和weblogic中都适用,但是我试了一下,在weblogic中好用,在tomcat中会乱码,估计是tomcat中编码的问题,可以尝试一下将项目编码该为“utf-8”另外,下面的方法也可以参考一下
1、所有文件的编码格式统一设成UTF-
82、tomcat的server.xml文件中有个connector,增加一个属性 URIEncoding=utf-
83、jsp之间传递参数时,如果包含中文字符,需要用encodeURIURIString转换一下这样基本也不会出现乱码的问题4配置weblogic.xml过滤器filter
1、web.xml filter filter-namePageFilter/filter-name filter-classcom.xxxx.PageFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param /filter
2、过滤器类importjava.io.IOException;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;publicclassPageFilterimplementsFilter{ staticStringencoding=; publicvoidinitFilterConfigfilterConfig{ encoding=filterConfig.getInitParameterencoding; } publicvoiddoFilterServletRequestrequestServletResponseresponse FilterChainfilterChainthrowsIOExceptionServletException{ request.setCharacterEncodingencoding; filterChain.doFilterrequestresponse; } publicvoiddestroy{ }}response.setCharacterEncodingUTF-8;response.setContentTypetext/html;charset=UTF-8;request.setCharacterEncodingUTF-8;packagecom;importjava.io.IOException;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletRequestWrapper;publicclassTomcatFormFilterimplementsFilter{classRequestextendsHttpServletRequestWrapper{publicRequestHttpServletRequestrequest{superrequest;}/***转换由表单读取的数据的内码.*从ISO字符转到GBK.*/publicStringtoChiStringinput{try{//byte[]bytes=input.getBytesISO8859-1;//returnnewStringbytesGBK;byte[]bytes=input.getBytesISO8859-1;returnnewStringbytesGBK;}catchExceptionex{}returnnull;}/***ReturntheHttpServletRequestholdedbythisobject.*/privateHttpServletRequestgetHttpServletRequest{returnHttpServletRequestsuper.getRequest;}/***读取参数--修正了中文问题.*/publicStringgetParameterStringname{returntoChigetHttpServletRequest.getParametername;}/***读取参数列表-修正了中文问题.*/publicString[]getParameterValuesStringname{Stringvalues[]=getHttpServletRequest.getParameterValuesname;ifvalues!=null{forinti=0;ivalues.length;i++{values[i]=toChivalues[i];}}returnvalues;}}publicvoiddestroy{}publicvoiddoFilterServletRequestrequestServletResponseresponseFilterChainchainthrowsIOExceptionServletException{HttpServletRequesthttpreq=HttpServletRequestrequest;ifhttpreq.getMethod.equalsPOST{request.setCharacterEncodingGBK;}else{request=newRequesthttpreq;}chain.doFilterrequestresponse;}publicvoidinitFilterConfigfilterConfigthrowsServletException{}}xmlversion=
1.0encoding=UTF-8web-appxmlns=http://java.sun.com/xml/ns/j2eexmlns:xsi=http://www.w
3.org/2001/XMLSchema-instanceversion=
2.4xsi:schemaLocation=http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_
4.xsdservletservlet-nameaction/servlet-nameservlet-classorg.apache.struts.action.ActionServlet/servlet-classinit-paramparam-nameconfig/param-nameparam-value/WEB-INF/struts-config.xml/param-value/init-paraminit-paramparam-namedebug/param-nameparam-value3/param-value/init-paraminit-paramparam-namedetail/param-nameparam-value3/param-value/init-paramload-on-startup0/load-on-startup/servletfilterfilter-nameTomcatFormFilter/filter-namefilter-classcom.TomcatFormFilter/filter-class/filterfilter-mappingfilter-nameTomcatFormFilter/filter-nameurl-pattern/*/url-pattern/filter-mappingservlet-mappingservlet-nameaction/servlet-nameurl-pattern*.do/url-pattern/servlet-mappingcontext-paramparam-nameweblogic.httpd.inputCharset./*/param-nameparam-valueGBK/param-value/context-paramwelcome-file-listwelcome-fileUserSearch/UserSearch.jsp/welcome-file/welcome-file-list/web-apppackagecom;importjava.io.IOException;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importjavax.servlet.ServletRequest;importjavax.servlet.ServletResponse;publicclassweblogicfilterimplementsFilter{publicvoidinitFilterConfigarg0throwsServletException{}publicvoiddoFilterServletRequestrequestServletResponseresponseFilterChainfilterChainthrowsIOExceptionServletException{response.setCharacterEncodingUTF-8;response.setContentTypetext/html;charset=UTF-8;request.setCharacterEncodingUTF-8;filterChain.doFilterrequestresponse;filterChain.doFilterrequestresponse;}publicvoiddestroy{}}xmlversion=
1.0encoding=UTF-8web-appxmlns=http://java.sun.com/xml/ns/j2eexmlns:xsi=http://www.w
3.org/2001/XMLSchema-instanceversion=
2.4xsi:schemaLocation=http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_
4.xsdservletservlet-nameaction/servlet-nameservlet-classorg.apache.struts.action.ActionServlet/servlet-classinit-paramparam-nameconfig/param-nameparam-value/WEB-INF/struts-config.xml/param-value/init-paraminit-paramparam-namedebug/param-nameparam-value3/param-value/init-paraminit-paramparam-namedetail/param-nameparam-value3/param-value/init-paramload-on-startup0/load-on-startup/servlet!--filterfilter-nameTomcatFormFilter/filter-namefilter-classcom.TomcatFormFilter/filter-class/filterfilter-mappingfilter-nameTomcatFormFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping--filterfilter-nameweblogicfilter/filter-namefilter-classcom.weblogicfilter/filter-class/filterservlet-mappingservlet-nameaction/servlet-nameurl-pattern*.do/url-pattern/servlet-mappingcontext-paramparam-nameweblogic.httpd.inputCharset./*/param-nameparam-valueGBK/param-value/context-paramwelcome-file-listwelcome-fileUserSearch/UserSearch.jsp/welcome-file/welcome-file-list/web-app!DOCTYPEweblogic-web-appPUBLIC-//BEASystemsInc.//DTDWebApplication
8.1//ENweblogic810-web-jar.dtdweblogic-web-appjsp-descriptorjsp-paramparam-namepageCheckSeconds/param-nameparam-value1/param-value/jsp-paramjsp-paramparam-namecompilerSupportsEncoding/param-nameparam-valuetrue/param-value/jsp-paramjsp-paramparam-nameencoding/param-nameparam-valueGBK/param-value/jsp-param/jsp-descriptorcharset-paramsinput-charsetresource-path//resource-pathjava-charset-nameGBK/java-charset-name/input-charset/charset-paramscontext-rootPhoneNumber/context-root/weblogic-web-app。