본문 바로가기

Servlet&JSP

Tomcat에서 ◎ 한글 파라미터를 가진 링크를 만들 때

 

◎ 한글 파라미터를 가진 링크를 만들 때

JSP페이지에서 링크를 생성할 때, 한글이 됐든 공백이나 특수문자를 가진 영어가 됐든, 순수하게 영어와 숫자, 밑줄 등으로만 이뤄진게 아닌 모든 파라미터를 넘길 때는 무조건 URLEncoding을 해야한다고 봐도 된다.

 

Web Container에 따라 URLEncoding을 안하고 넘겨도 작동하는 경우가 있는데, 동일한 웹 컨테이너라도 버전에 따라 한글을 제대로 인식하지 못하는 경우도 있고, 또 다른 컨테이너에서는 URLEncoding이 안된 한글을 전혀 인식하지 못할 수도 있다.

 

그러므로 무조건 표준을 따라서 java.net.URLEncoder.encode()메 소드를 사용해 인코딩해서 넘기도록 한다. 디코드 작업은 request.setCharacterEncoding()에 의해서 자동으로 이뤄지므로 해줄것이 없다.(Tomcat 3.x대- JSP Spec 1.1 -에서는 request.setCharacterEncoding()이 없으므로 String.getBytes()를 이용해 직접 디코딩을 해줘야만 했다)

 

public static void main(String[] args) throws ParseException  {

  String mode ="abcdef ABCDEF 12345 ._+ 한글";

  try {

      mode = URLEncoder.encode(mode, "euc-kr");

      System.out.println(mode);

  } catch (UnsupportedEncodingException e) {

   System.out.println("에러");

  }

}

결과 : abcdef+ABCDEF+12345+._%2B+%C7%D1%B1%DB

 

 곳곳에서 퍼와 합쳤어요^^.


'Servlet&JSP' 카테고리의 다른 글

파일다운로드 jsp  (0) 2011.09.29
Servlet - 3  (0) 2009.10.22
Servlet - 2  (0) 2009.10.22
Servlet - 1  (0) 2009.10.22