'session-timeout'에 해당되는 글 1

  1. 2011.07.22 web.xml 에 EL 사용하기 4

web.xml 에 EL 사용하기

시스템 프로퍼티를 web.xml 에서 EL 로 사용 가능하다.
동일한 소스를 사용하는 2대의 서버에서 처리한 예
...    
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j_${env.type}.xml</param-value>
</context-param>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/security_${env.type}.xml
        /WEB-INF/root-context.xml
    </param-value>
</context-param>

<session-config>
    <session-timeout>${session.timeout}</session-timeout>
</session-config>

- 요구사항
대외계에서는 security_outer.xml 을 로드하고 세션타임아웃을 30분으로 설정한다.
내부 시스템에서는 security_inner.xml 을 로드하고 세션이 끊기지 않도록 설정한다.

환경에 따라 web.xml 을 변경하지 않고 각 환경에 맞게 적용할 수 있다.
java -cp ... -Denv.type=outer -Dsession.timeout=30 xxx.HttpServer
java -cp ... -Denv.type=inner -Dsession.timeout=-1 xxx.HttpServer

- env.type 이 outer 인 경우 세션 타임아웃을 별도로 지정하지 않아도 30분으로 설정하고 싶은데 web.xml 에서 논리 표현을 지원하지 않는다.
(Resin 설정 파일에서는 가능함)
<session-config>
    <session-timeout>${env.type == "inner" ? -1 : 30 }</session-timeout> <!-- 이렇게 가능하면 좋겠지만... -->
</session-config>