'tomcat'에 해당되는 글 2건
[TOMCAT]tomcat 5.x 버전에서 (GET/POST)parameter로 넘어온 한글 처리하기
tomcat 5.x 버전에서 웹브라우저로 부터 날라온 Get/Post 로 전달되는 한글이 ISO8859-1로 넘어오는 경우가 있어
한글이 깨지는 경우가 있습니다. 아래와 같이 Get / Post로 넘오는 한글 처리를 하시면 됩니다.
1. Get 방식으로 넘어오는 파라미터
server.xml
------------------------------------------------------------
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="KSC5601"/>
2. Post 방식으로 넘오는 파라미터
2-1. 톰캣이 설치된 디렉토리에서
<TOMCAT_HOME>/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class 파일을 복사해서
<TOMCAT_HOME>/common/classes/filters/ 밑으로 복사함.
2-2.
web.xml
-------------------------------------------------------------
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>euc-kr</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
[JBOSS/TOMCAT] JBOSS/TOMCAT 에서 심볼릭링크 디렉토리 허용 방법
TOMCAT이야 JSP 컨테이너로 잘 알고 있는 프로그램이고 JBOSS의 경우 Open Source WAS이다. JBOSS 중에서 JSP 컨테이너 부분은 TOMCAT을 사용하고 있다.
둘다 설정 파일 위치만 다르고 동일하기 때문에 이번 쓰래드는 JBOSS/TOMCAT으로 기술한다.
앞으로도 JBOSS와 TOMCAT에 둘다 적용 가능한 부분은 JBOSS/TOMCAT으로 JBOSS만 적용 되는 부분은 JBOSS로 TOMCAT에만 적용 되는 부분은 앞에 TOMCAT을 붙이겠다.
기본적으로 JBOSS/TOMCAT에서는 WEB Application 디렉터리 바깥으로 심볼릭 링크를 허용하지 않는다.
그러나 만약에 허용 하는 경우에는 Context의 allowLinking 값을 true로 설정하는 경우 외부의 심볼릭 링크를 허용하게 된다.
Default Context는 jboss-web.deployer/context.xml(TOMCAT의 경우 server.xml)에서 설정하게 되며, Web Application 별로 설정하고 싶은 경우에는 WEB-INF/context.xml에서 설정하게 된다.
참고로 심볼릭링크를 사용하는 경우 JBOSS나 TOMCAT을 구동하는 사용자가 해당 디렉터리를 읽을 수 잇는 권한이 설정 되어야 한다.
설정 예시
ROOT.war/WEB-INF/context.xml
<Context cookies="true" crossContext="true" allowLinking="true">
<!-- Session persistence is disable by default. To enable for all web
apps set the pathname to a non-empty value:
<Manager pathname="SESSIONS.ser" />
To enable session persistence for a single web app, add a
WEB-INF/context.xml
-->
<Manager pathname="" />
<!-- Install an InstanceListener to handle the establishment of the run-as
role for servlet init/destroy events.
-->
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
참고로 심볼릭 링크 허용은 보안상의 문제를 일으킬 수 있다. 그러므로 Default Context에 설정하기 보다는 필요한 Web Application에만 설정하도록 한다.
그리고 Windows에서는 이를 허용할 경우, JSP 소스가 노출되는 문제가 있으므로 설정해서는 안된다.
(*) 다큐먼트에 나와있는 주의 사항
NOTE: This flag MUST NOT be set to true on the Windows platform (or any other OS which does not have a case sensitive filesystem), as it will disable case sensitivity checks, allowing JSP source code disclosure, among other security problems.