JSP는 필터를 이용하여 request 중국어 디코딩 문제를 해결합니다

2162 단어
본고는 JSP가 필터로 리퀘스트의 중국어 디코딩 문제를 해결하는 것을 공유하고자 합니다. 구체적인 내용은 다음과 같습니다. (1) 클라이언트의 데이터는 일반적으로 HTTP GET/POST 방식을 통해 서버에 제출되고 서버에서 리퀘스트를 사용합니다.getParameter () 에서 매개 변수를 읽을 때 중국어 디코딩 현상이 발생하기 쉽습니다.(2) 필터로request 중국어 부호 문제를 해결한다.(3) 코드는 다음과 같습니다.

package my; 
 
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
 
public class ChineseFilter implements Filter { //   Filter  
 
 private FilterConfig config = null; 
 
 public void init(FilterConfig config) throws ServletException { 
 this.config = config; 
 } 
 
 public void destroy() { 
 config = null; 
 } 
 
 public void doFilter(ServletRequest request, ServletResponse response, 
      FilterChain chain) throws IOException, ServletException 
 { 
  request.setCharacterEncoding("GB2312"); 
  chain.doFilter(request, response); // request  
 } 
} 

(4) 필터를 배치합니다.WEB-INF\web를 편집합니다.xml 파일, 다음을 추가합니다.

 
 cf 
 my.ChineseFilter 
 
 
 cf 
 /* 
 REQUEST 
 FORWARD 
 INCLUDE 
 

여기에는 주로 RequestDispatcher와 함께 사용됩니다.
  • 1.RequestDispatcher에서 요청이 있는 경우 RequestDispatcher에서 필터를 활성화할 수 있습니다.forward 시 활성화되지 않음;
  • 2.FORWARD로 값을 지정하면 요청이 RequestDispatcher에서 온 경우를 나타냅니다.forward 시 이 필터가 활성화됩니다
  • 3.INCLUDE로 값을 지정하면 요청이 RequestDispatcher에서 온 경우를 나타냅니다.include 시 이 필터가 활성화됩니다
  • 4.값이 ERROR인 경우 요청이 RequestDispatcher에서 "오류 정보 페이지"를 사용하는 경우에만 이 필터가 활성화됨을 나타냅니다
  • 5.기본값은 REQUEST..

  • (5) jsp 페이지 검사 만들기
    
     
     
     
     
     
      
     
     
     
     
     
     
    

    이상은 JSP가 리퀘스트의 중국어 디코딩 문제를 해결하는 방법입니다. 여러분의 학습에 도움이 되었으면 합니다.

    좋은 웹페이지 즐겨찾기