쓰레기 코드는 J2EE에서 비교적 일반적인 문제입니다. 하나 또는 두 가지 문제가 발생하면 새 문자열 (request.getParameter (xxx) .getBytes ( "ISO-8859-1"), "UTF-8")를 사용하여 해결할 수 있습니다. 많은 경우 필터를 사용하는 것이 가장 좋습니다.
필터에 대해서는 두 가지만주의를 기울여야합니다 - 클래스 및 web.xml
1. web.xml에 게시하는 것은 다음과 같습니다.
<fileter> <!-클래스 이름-> <filter-name> setcharsetEncodingFilter </filter-name> <!-클래스 경로-> <filter-class> setCharacter </filter-class> <init-param> <param-name> 인코딩 </param-name> <param- value> utf-8 </param-value> </init-param> <filter-name> setcharsetEncodingFilter </filter-name> <!-필터가 발생할 때 모든 파일을 가로 채도록 설정-> <url-pattern> </url-pattern> </filter-mapping> </fileter>
2. 필터 카테고리
import java.io.ioexception; javax.servlet.filter import; javax.servlet.filterchain import; javax.servlet.filterconfig import; javax.servlet.servletexception import; javax.servlet.servletrequest import; Javax.Servlet.ServletResponse 가져 오기; 공개 클래스 SetCharacter는 필터 {Protected String encoding = null; 보호 된 FilterConfig FilterConfig = NULL; 보호 된 부울은 무시 = true; public void init (filterconfig arg0) servletexception {this.encoding = arg0.getInitParameter ( "encoding"); 문자열 값 = arg0.getInitParameter ( "imnore"); if (value == null) {this.ignore = true; } else if (value.equalsignorecase ( "true")) {this.ignore = true; }} public void dofilter (servletrequest arg0, servletreponse arg1, filterchain arg2)는 ioexception, servletexception {if (ingore || (arg0.getcharacterencoding () == null)) {string encoding = selectEncoding (arg0); if (encoding! = null) arg0.setcharacterencoding (인코딩); } arg2.dofilter (arg0, arg1); } private String selectEncoding (servletRequest arg0) {return (this.encoding); } public void destrove () {this.encoding = null; this.filterconfig = null; }} Web.xml 파일에서 다음 구문은 매핑을 정의하는 데 사용됩니다.
1. "/"로 시작하고 "/*"로 끝나는 것은 경로 매핑에 사용됩니다.
2. 접두사 "*." 확장 된 매핑으로 시작합니다.
3. "/"를 사용하여 기본 서블릿 매핑을 정의하십시오.
4. 나머지는 상세한 매핑을 정의하는 데 사용됩니다. 예를 들어 : /aa/bb/cc.action
위의 것은 Java J2ee Garbled 코드 문제를 해결한다는 아이디어입니다. 나는 그것을 당신과 공유 할 것입니다. 비슷한 문제를 만날 때 비슷한 문제를 원활하게 해결할 수 있기를 바랍니다.