티스토리 뷰

WAS/WEBLOGIC

weblogic.xml 설정 방법

Giles Blog 2019. 5. 23. 16:18
728x90

weblogic.xml 설정방법

weblogic.xml은 WEB-INF\ 에서 web.xml 과 함께 있다.

web application 구현시 WAS  weblogic 을 많이 선택하게 되는데 weblogic 

띄울떄 weblogic.xml 에 설정값을 작성해 둔다. 그 설정값에 대한 설명을 한 내용이다.

아래 설정 스크립트는 weblogic 9.x 이상에서 적용된다.

 

서블릿을 수정하고 재컴파일 한 경우 브라우저에서 요청을 하데 되면 컨테이너가

<servlet-reload-check-secs> 에서 설정한 값을 읽어들여 서블릿 최종버전을

로드하게 된다. 컨테이너는 WEB-INF/classes 에 있는 클래스 파일을 읽어들일 것이다.

<servlet-reload-check-secs> 설정된 값은 최신버전으로 체크해서 재로딩하는 시간을

나타낸다. 개발 버전은 보통 1로 설정한다. 1초마다 로드한다는 말이다.

반대로 운영에서 개별 클래스를 변경하게 하지 않을려면 -1 을 설정하면 된다.

 

<weblogic-web-app>

       <context-root>/ep5cm</context-root>

       <container-descriptor>

             <servlet-reload-check-secs>-1</servlet-reload-check-secs>

       </container-descriptor>

</weblogic-web-app>

 

pageCheckSeconds 값은 JSP 에 대한 요청이 올때마다 컨테이너가 최신버전인지 체크하게

하는시간이다. 예제와 같이 10초로 설정이 되어있다면 최종 stale checking 시간과 현재

시간과의 간격을 체크하여 10초보다 더 크다면 페이지가 재 컴파일 되게 된다.

보통 개발시 1로 설정하고 진행을 하며 반대로 운영모드 일때는 -1 을 설정하여

재컴파일이

안되도록 설정한다.

<weblogic-web-app>

       <jsp-descriptor>

             <jsp-param>

                    <param-name>pageCheckSeconds</param-name>

                    <param-value>10</param-value>

             </jsp-param>

       </jsp-descriptor>

</weblogic-web-app>



아래 내용은 <timeout-secs> 웹세션 타임아웃을 설정한 값이다. 단위는 초이며 3600

이니까 60분이 되는 것이다. <invalidation-interval-secs> 의 설정된값은 session 

bound 된 것들을 unbound 시키는 시간을 나타낸다. 이것은 내부적으로 invalidate() 

호출한다.

<id-length> 는 세션 ID 길이를 설정하는 값이다. 이값을 설정하는 이유는 세션아이디를

알아내기 위해 무차별적인 공격을 막기 위한 길이이며 128비트 이상이어야 한다.

128비트 보다 짮은 세션아이디를 설정하게 되면 불순한 의도를 가진 응용프로그램에

취약점을 노출하게 된다.

<cookie-name> 는 웹로직에서 cookie 에 대한 셋팅을 한것인데 세션아이디는 여기서

설정한 cookie 와 함께 관리하게 된다.

그래서 브라우저가 쿠키를 지원할경우 JSESSIONID 라는 쿠키값을 사용하여 세션아이디에

전송하게 된다. 쿠키를 지원하지 않는 브라우저에서는 JSESSIONID 값을 URL Parameter

서버에 세션아이디를 전달하게 된다.

<persistent-store-type> 은 두개의 서버에서 클러스터링 환경을 지원해 주고자 할 때

설정하는 곳이다.

 

<weblogic-web-app>

       <session-descriptor>

             <timeout-secs>3600</timeout-secs>

             <invalidation-interval-secs>20</invalidation-interval-secs>

             <debug-enabled>false</debug-enabled>

             <id-length>52</id-length>

             <cookie-name>JSESSIONID</cookie-name>

             <persistent-store-type>replicated_if_clustered</persistent-store-type>

       </session-descriptor>

</weblogic-web-app>

 

다음은 인코더를 설정하는 부분으로 resource-path  / * 의미는 URL 하위에 있는

모든 페이지들에 적용하라는 표시가 된다. 적용타입은 아래에 java-charset-name 값으로

하게 되는데 예제에서는 UTF-8 로 적용하게 되어있다.

 

<weblogic-web-app>

       <resource-path>/*</resource-path>

       <java-charset-name>UTF-8</java-charset-name>

</weblogic-web-app>

 

흔히 두가지 이상의 언어도 사이트를 구분해서 언어를 적용하고 싶을때가 있다.

예를 들어 일본어 사이트와 한글사이트를 구분해서 표현하고자 할 때 URL 주소아래에

/kr, /jp 를 붙여 구분한다. 페이지의 접근을 구분해서 설정하고 weblogic 은 아래와 같이

resource-path 에 구분 URL 을 넣고 java-charset-name 에 원하는 인코더를 넣어

설정한다.

 

<weblogic-web-app>

       <resource-path>/kr/*</resource-path>

       <java-charset-name>euc-kr</java-charset-name>

      

       <resource-path>/jp/*</resource-path>

       <java-charset-name>SJIS</java-charset-name>

</weblogic-web-app>

 

JSP 파일을 컴파일해서 명시적인 주소로 집어넣기 위해 설정하는 곳이다. JSP 

컴파일 되게 되면 servlet java 형태로 만들어져 설정한 주소로 들어간다.

이것을 설정하지 않으면 eclipse 에서 임시폴더인 tmp 로 만들어 집어넣고

속도 또한 떨어지게 된다.

 

<weblogic-web-app>

       <keepgenerated>true</keepgenerated>

       <page-check-seconds>1</page-check-seconds>

       <verbose>true</verbose>

       <working-dir>D:\workDir\admin</working-dir>

       <print-nulls>false</print-nulls>

       <debug>true</debug>

</weblogic-web-app>



<?xml version='1.0' encoding='UTF-8'?>

<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"

        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">

        <session-descriptor>

               <timeout-secs>3600</timeout-secs>

               <invalidation-interval-secs>60</invalidation-interval-secs>

               <persistent-store-type>memory</persistent-store-type>

               <url-rewriting-enabled>true</url-rewriting-enabled>

        </session-descriptor>

        <jsp-descriptor>

               <page-check-seconds>5</page-check-seconds>

               <precompile>false</precompile>

               <keepgenerated>false</keepgenerated>

               <encoding>utf-8</encoding>

        </jsp-descriptor>

        <charset-params>

               <input-charset>

                       <resource-path>/*</resource-path>

                       <java-charset-name>utf-8</java-charset-name>

               </input-charset>

        </charset-params>



        <!-- 입력 -->

<container-descriptor>

    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>


</container-descriptor>



        <!-- 이 부분에 설정하고자 하는 Context Root 입력 -->

        <context-root>/</context-root>

</weblogic-web-app>

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함