티스토리 뷰

728x90
반응형

포스팅은 우리가 가장 자주 접하게 되는 HTTP Status인 404 Not Found에 대한 고찰입니다.

다양한 케이스를 습득해 보고 이에 대한 대응 방안을 마련해 보도록 하겠습니다.


 

1. Jsp Not Found 에러발생 (DocRoot에 File 자체가 없을 때 발생)

[Web Browser 호출시 발생] 

 

 

<DocRoot 확인방법>

1) JEUS4.2

 

- $JEUS_HOME/config/`hostname`/`hostname`_servlet_engine1/WEBMain.xml 파일의 다음 두가지 항목을 체크한다.

<web-container>

<context-group>

<group-name>MyGroup</group-name>

<group-docbase>webapps</group-docbase>

<servlet_home>/test</servlet-home>

- $JEUS_HOME/config/`hostname`/`hostname`_servlet_engine1/jeus-web-dd_(context).xml의 다음 항목을 체크한다.

<jeus-web-dd>

<context>

<context-name>test</context-name>

<docbase>test</docbase>

<auto-reload>

 

위의 WEBMain.xml 체크항목과 jeus-web-dd_context.xml 파일의 체크항목을 결합해 보면 Docroot가 /test/webapps/test 임을 알 수 있다.

 

2 ) JEUS 5.0, JEUS6.0

 

- $JEUS_HOME/config/`hostname`/JEUSMain.xml 파일의 <Application> 태크 항목 체크한다.

<application>

<name>test</name>

<path>/test/webapps/test</path>

<deployment-target>

<target>

<engine-container-name>mysun_container1</engine-container-name>

<web-context-group>

<name>MyGroup</name>

</web-context-group>

 

위의 체크항목을 보면 Docroot가 /test/webapps/test 임을 알수 있다.

 

1.2. 문제원인
- Docroot에 호출하고자 하는 파일이 없을 경우 발생한다.

1.3. 해결방안
- JEUS의 DocRoot을 확인 후 해당 위치에 호출하고자 하는 파일을 위치시키면 된다.


2. Jsp Not Found 에러발생 (환경파일 이상)

1) JEUS4.2

 

위에서 언급한 환경파일 WEBMain.xml파일과 jeus-web-dd_(context).xml파일의 Docroot를 확인하여 오타가 없는지 확인한다.

- WEBMain.xml –

<web-container>

<context-group>

<group-name>MyGroup</group-name>

<group-docbase>webaps</group-docbase>

<servlet_home>/test</servlet-home>

- jeus-web-dd_(context).xml -

<jeus-web-dd>

<context>

<context-name>test</context-name>

<docbase>test</docbase>

<auto-reload>

 

정상적인 DocRoot는 /test/webapps/test이다 확인결과 DocRoot가 /test/webaps/test로 되어 있기 때문에 발생한 것이다.


2) JEUS 5.0, JEUS6.0

 

<application>

<name>test</name>

<path>/test/webaps/test</path>

<deployment-target>

<target>

<engine-container-name>mysun_container1</engine-container-name>

<web-context-group>

<name>MyGroup</name>

</web-context-group>

 

정상적인 DocRoot는 /test/webapps/test이다 확인결과 DocRoot가 /test/webaps/test로 되어 있기 때문에 발생한 것이다.

 

2.2. 문제 원인
- 환경파일 수정에 의한 오타로 인해 발생한 것이다.
2.3. 해결방안
- 환경파일 안의 DocRoot 설정을 올바르게 수정한다.

 

 

3. html Not Found 발생에러(File 자체가 없을 때)
[Web Browser 호출 확인] 

 

<DocRoot 확인 방법>

WebtoB 환경파일 위치 : $WEBTOBDIR/config/http.m(file명은 변경가능)

 

NODE 절에 DOCROOT 절 확인

*NODE

Test    WEBTOBDIR="d:/webtob41",

   SHMKEY = 54000,

   DOCROOT="/test/webapps",

   PORT = "80",

   HTH = 1,

 

3.2. 문제 원인
- 호출하고자 하는 html파일이 DocRoot인 /test/webapps에 없을 때 발생하는 현상이다.
3.3. 해결 방안
- 호출하고자 하는 html파일을 DocRoot에 위치시켜 놓는다.

 

 

4. html Not Found 발생에러(환경파일 이상)

WebtoB 환경파일 점검 WebtoB 환경파일인 http.m 파일을 점검하여 Docroot가 올바른지 체크 한다.

 

*NODE

Test    WEBTOBDIR="d:/webtob41",

   SHMKEY = 54000,

   DOCROOT="/test/webaps",

   PORT = "80",

   HTH = 1,

 

4.2. 문제 원인
- 환경파일 수정에 따른 오타에 의해 발생한 것이다.
4.3. 해결 방안
- 환경파일을 점검하여 DocRoot가 올바르게 설정되어 있는지 확인한다.

 

 

5. Context Path 불일치로 인한 404 Not Found

[Web Browser 호출 확인] 

 

1) JEUS4.2 Context path를 지정하는 파일 위치는 다음과 같다.

 

$JEUS_HOME/config/`hostname`/`hostname`_servlet_engine1/WEBMain.xml

- WEBMain.xml –

<web-container>

<context-group>

<group-name>MyGroup</group-name>

<group-docbase>webapps</group-docbase>

<context>

<context-name>test</context-name>

<context-path>/test</context-path>

</context>

 

 2) JEUS 5.0, JEUS6.0 Context path를 지정하는 파일 위치는 다음과 같다.

 

$SOURCE_HOME/WEB-INF/jeus-web-dd.xml

- jeus-web-dd.xml -

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

<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus">

<context-path>/test</context-path> => 여기에 설정된 context path 가 다를 때

<enable-jsp>true</enable-jsp>

<auto-reload>

<enable-reload>true</enable-reload>

<check-on-demand>false</check-on-demand>

</auto-reload>

  

5.2. 문제 원인
- context path 가 “/test“ 일때 “/정의되지 않은 context path/“으로 호출시 발생한다.
5.3. 해결 방법
- /DocRoot/WEB-INF/jeus-web-dd.xml파일의 context path 확인한다.

 

 

6. URI 조건에 의해 Not Found 발생(WebtoB 환경파일)

[WeBrowser 호출시 발생 ]

 

1) WebtoB 호출하려는 페이지가 예를 들어 http://localhost/test/test.jsp 라고 하면 WebtoB 환경파일에 /test라는 URI를 등록해 주어야 한다.

WebtoB 환경파일 위치 : $WEBTOBDIR/config/http.m

 

- http.m -

*URI uri = "/cgi-bin/", Svrtype = CGI uri2 Uri = "/test/", Svrtype = JSV

2) JEUS의 경우 앞에서 언급한 context path 가 test 인지 확인 작업이 필요하다.

6.2. 문제 원인
- 사용자가 요구하는 context path가 일치하지 않아 발생한다.
6.3. 해결 방법
- http.m, jeus-web-dd.xml 같은 context path가 설정되어지는 파일의 일치 여부를 확인한다.

728x90
반응형