서버에서 jsp 페이지 디코드 접근

8653 단어 jsp

JSP 중국어 디코딩 문제 중 하나: JSP 페이지를 호출하면 디코딩이 브라우저를 통해 JSP 페이지를 호출하고 클라이언트 브라우저에서 모든 중국어 내용에 디코딩이 발생합니다.해결 방법: 먼저 이 JSP가 편집기에 저장되어 있는지 확인한 후 GBK의 인코딩 형식을 사용한 다음 JSP 페이지의 시작 부분에 <%@ pageEncoding = "GBK"%>를 추가하면 중국어 디코딩 문제를 해결할 수 있습니다.JSP 중국어 디코딩 문제 2: Servlet 페이지를 호출하면 디코딩이 브라우저를 통해 Servlet을 호출하고, Servlet은 브라우저에서 내용을 표시하면 디코딩이 해결됩니다. Servlet에서 response를 사용하여 내용을 출력하기 전에 response를 실행합니다.setContentType("text/html;charset=GBK") 출력 내용의 인코딩을 GBK JSP 중국어 디코딩으로 설정합니다. 세 번째: 포스트 폼 전달 매개 변수 디코딩은 JSP 페이지, HTML 페이지 또는 Servlet의 폼 요소를 통해 매개 변수를 대응하는 JSP 페이지나 Servelt에 제출하고 JSP 페이지 또는 Servlet에서 수신하는 중국어 매개 변수 값 디코딩입니다.해결: POST 제출 매개변수를 수신하기 전에 request를 사용합니다.setCharacterEncoding("GBK") 수신 매개 변수의 내용을 GBK로 인코딩하는 JSP 중국어 난수 문제의 더 좋은 해결 방법은 필터 기술인 Encoding 필터를 사용하는 것이다

      
  1. package com.htt;  
  2.  
  3. import java.io.IOException;  
  4.  
  5. import javax.servlet.Filter;  
  6.  
  7. import javax.servlet.FilterChain;  
  8.  
  9. import javax.servlet.FilterConfig;  
  10.  
  11. import javax.servlet.ServletException;  
  12.  
  13. import javax.servlet.ServletRequest;  
  14.  
  15. import javax.servlet.ServletResponse;  
  16.  
  17. public class Encoding implements Filter {  
  18.  
  19.     public void destroy() {  }  
  20.  
  21.     public void doFilter(ServletRequest request, ServletResponse response,   FilterChain chain) throws IOException, ServletException {  
  22.  
  23.     request.setCharacterEncoding("GBK");  
  24.  
  25.     chain.doFilter(request, response);  
  26.  
  27.     }  
  28.  
  29.     public void init(FilterConfig filterConfig) throws ServletException { }  
  30.  
  31. }       
Web.xml 파일의 설정입니다

      
  1. < filter> 
  2.  
  3.    < filter-name>encoding< /filter-name> 
  4.  
  5.    < filter-class>com.htt.Encoding< /filter-class> 
  6.  
  7. < /filter> 
  8.  
  9. < filter-mapping> 
  10.  
  11.    < filter-name>encoding< /filter-name> 
  12.  
  13.    < url-pattern>/ToCh_zn< /url-pattern> 
  14.  
  15. < /filter-mapping> 
JSP 중국어 디코딩 문제 4: Get 방식 양식 전달과 URI 방식 전달 매개 변수 디코딩 솔루션 apache-tomcat-6.0.18\conf\server.xml은 이 안에 한 줄을 추가합니다

      
  1. < Connector port="8080" protocol="HTTP/1.1"   
  2.  
  3.  connectionTimeout="20000"   
  4.  
  5.  redirectPort="8443"  URIEncoding="GBK" /> 

주: 페이지 인코딩은 페이지의 인코딩만 설정한 것입니다. 서버가 실행될 때 contentType으로 인코딩하고tomcat에서 설정하지 않은 contentType은 페이지 인코딩에 따라 처리하지만resin은 contentType에 따라 처리하기 때문에 이 두 속성을 동시에 설정하는 것을 권장합니다.

좋은 웹페이지 즐겨찾기