NetBeans 4.1 로 개발시 사용자 ID는 무조건 영문으로.. 프로그래밍

NetBeans 4.1로 웹 어플리케이션을 개발할 때 개발시 로그인한 사용자 ID는 무조건 영문이어야 한다.

NetBeans가 웹 어플리케이션을 톰캣에 디플로이 하면서 사용자계정의 임시 디렉토리에 웹 컨텍스트 관련 XML을 임시로 생성하고 그 경로를 UTF-8 로 URL 인코딩해서 톰캣에 날리기 때문이다.

만약 톰캣의 server.xml의 <Connector URIEncoding="EUC-KR"/> 처럼 UTF-8 이 아닌 상태로 설정해 놨을 때(즉, 우리나라 대부분의 개발자들, 어쩔 수 없다. 아직은 UTF-8 인코딩이 대세는 아니기 때문에) 톰캣의 매니저가 NetBeans로 부터 UTF-8로 받은 deploy 관련 파라미터를 제대로 파싱하지 못하기 때문이다.

리눅스에서는 어차피 한글 사용자명을 생성할 수 없지만, 윈도우에서가 문제이다.

넷빈즈를 사용하려면 윈도우에서 한글 사용자명은 피하는 게 상책.

이 문제로 넷빈즈 메일링 리스트에서 논의 했는데, 멍청하게도 URIEncoding 을 계속해서 URLEncoding 으로 착각하고 테스트 하는 바람에 상당시간 삽질하고, 쪽팔림까지... --;

Tomcat 5.x 대에서 GET 방식으로 들어온 파라미터에 대한 인코딩 지정은 request.setCharacterEncoding()이 아니라 server.xml의 <Connector URIEncoding=""/>에서 해야 한다.