Programing/Java JSP

[펌] UTF-8로 프로젝트하기 - weblogic

시처럼 음악처럼 2007. 3. 21. 10:05
퍼온곳 : http://www.javaservice.net/~java/bbs/read.cgi?m=resource&b=servlet&c=r_p&n=1090980025&k=utf-8&d=tb#1090980025

이번에 UTF-8로 프로젝트한겁니다.
WAS를 웹로직8.1로 사용했습니다.
DB를 오라클8.1.7인데 charset를 UTF-8로 셋팅되었구요

웹로직에서 두개의 XML파일 즉 web.xml, weblogic.xml에 아래와같이 설정해놓으면
jsp의 charset에 utf-8이 필요가 없어집니다.
또 한글로 convert도 필요없어집니다.

-- web.xml --

<web-app>
  <context-param>
    <param-name>weblogic.httpd.inputCharset./*</param-name>
    <param-value>UTF-8</param-value>
  </context-param>
  .....
</web-app>

-- weblogic.xml --
weblogic-web-app>

  <session-descriptor>
    <session-param>
      <param-name>URLRewritingEnabled</param-name>
      <param-value>true</param-value>
    </session-param>
    <session-param>
      <param-name>IDLength</param-name>
      <param-value>52</param-value>
    </session-param>
    <session-param>
      <param-name>CookieComment</param-name>
      <param-value>WebLogic Server Session Tracking Cookie</param-value>
    </session-param>
    <session-param>
      <param-name>CookieMaxAgeSecs</param-name>
      <param-value>-1</param-value>
    </session-param>
    <session-param>
      <param-name>CookieName</param-name>
      <param-value>JSESSIONID</param-value>
    </session-param>
    <session-param>
      <param-name>InvalidationIntervalSecs</param-name>
      <param-value>60</param-value>
    </session-param>
    <session-param>
      <param-name>JDBCConnectionTimeoutSecs</param-name>
      <param-value>120</param-value>
    </session-param>
    <session-param>
      <param-name>PersistentStoreCookieName</param-name>
      <param-value>WLCOOKIE</param-value>
    </session-param>
    <session-param>
      <param-name>PersistentStoreDir</param-name>
      <param-value>session_db</param-value>
    </session-param>
    <session-param>
      <param-name>PersistentStoreType</param-name>
      <param-value>memory</param-value>
    </session-param>
    <session-param>
      <param-name>PersistentStoreTable</param-name>
      <param-value>wl_servlet_sessions</param-value>
    </session-param>
    <session-param>
      <param-name>CookiesEnabled</param-name>
      <param-value>true</param-value>
    </session-param>
    <session-param>
      <param-name>TrackingEnabled</param-name>
      <param-value>true</param-value>
    </session-param>
    <session-param>
      <param-name>TimeoutSecs</param-name>
      <param-value>3600</param-value>
    </session-param>
  </session-descriptor>

  <jsp-descriptor>
    <jsp-param>
      <param-name>compileCommand</param-name>
      <param-value>javac</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>verbose</param-name>
      <param-value>true</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>keepgenerated</param-name>
      <param-value>true</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>pageCheckSeconds</param-name>
      <param-value>1</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>packagePrefix</param-name>
      <param-value>jsp_servlet</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>noTryBlocks</param-name>
      <param-value>false</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>precompile</param-name>
      <param-value>false</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>compilerSupportsEncoding</param-name>
      <param-value>true</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>superclass</param-name>
      <param-value>weblogic.servlet.jsp.JspBase</param-value>
    </jsp-param>
    <jsp-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </jsp-param>
  </jsp-descriptor>

  <charset-params>
    <input-charset>
      <resource-path>./*</resource-path>
      <java-charset-name>UTF-8</java-charset-name>
    </input-charset>
  </charset-params>
  <context-root>/</context-root>
</weblogic-web-app>


주의 사항.
ultraedit에서 jsp나 java파일을 저장 시 utf-8로 저장해야합니다.
방법 : 확인은 ultraedut의 상태바에 보면 보통 dos나 unix로 나와있을 겁니다.
        그리고 편집--> HEX편집을 누르면 가장앞에 FF FE가 나오면 바뀐걸 알수있습니다.
이게 u8-dos, 혹은 u8-unix로 되어있어야 하는데 변환방법은
파일--> 변환 --> ASCII를 utf-8으로 를 선택하면 바뀝니다.
그런데 그걸 저장했다가 다시 읽어들이면 dos로 바뀔때도 있는데 워드패드에서 저장하면
가장확실할 겁니다.

eclipse를 사용시 반드시 utf-8로 바뀌어줘야 하는데
window --> preference --> Editors 를 클릭하면 우측에 Text file Encoding를
utf-8로 바꾸면 됩니다.

위와같이 프로젝트 수행해 보니 한글변환이 전혀 필요없어서 편리했던거 같습니다.
언제쯤이면 utf-8로 모든 프로젝트가 바뀔런지 아마도 어려울듯 싶네요