2014-04-07 2 views
2

우리는 우리 프로젝트에 깊이 관여하고 있으며, Eclipse와 함께 기본적인 웹 애플리케이션을 설정했다. 서버를 실행하려고 할 때마다 다음과 같은 404 오류가 발생합니다. enter image description hereJSP Tomcat 불량 리소스

제 연구에서 필자는 일종의 web.xml 파일이 필요하다는 것을 발견했습니다. 이 파일을 어디에 두어야하는지. 어떻게해야합니까?

+0

다음을 확인하십시오. http://stackoverflow.com/questions/11658104/where-is-web-xml-in-eclipse-projects – Umeshwali

답변

3

WEB-INF 폴더 내의 리소스에 액세스하려고했으나 허용되지 않아서이 오류가 발생한 것이므로 Webspent 폴더 아래에 jsp를 두거나 폴더 아래에 있습니다. WEB-INF \ classes에는 Java 클래스의 .class 파일이 들어 있으며 모든 리소스를 넣기에는 적합하지 않습니다.

서블릿에 대한 3.0 사양 때문에 웹 배포 설명자 (web.xml)는 선택 사항입니다.

나는 이것이 당신이 아래에 JSP를 넣는 문제

+0

코드를 통해서만 액세스 할 수있는 리소스를 배치하기에 좋은 곳입니다. 백엔드가 아니라 사용자가 직접적으로 사용할 수 있습니다. 예를 들어, 사용자가 액세스 할 수 없도록하려는 일부 구성 파일. – developerwjk

+0

WEB-INF/classes는 WEB-INF 폴더 전체가 아니라 좋은 장소라고합니다. 그가 jsp 파일에 접근하기를 원했기 때문에 대답과 관련이 없다고 생각합니다. –

2

해결하기 위해 도움이 될 희망 WEB을-INF는 사용자가 다운로드 또는 수 없기 때문에 WEB-INF의 목적은 물건을 숨기는 것입니다 web.xml에 그들을지도하지 않는 한 그들에 액세스 할 수 있습니다 WEB-INF 하의 아무 것도 액세스하지 마십시오. 사용자가 실제 이름 (예 : http://localhost/app/whatever.jsp)으로 이동할 수 없도록하려는 경우 특정 웹 페이지 (예 : http://localhost/app/somename/)

에 매핑하려는 경우 JSP를 WEB-INF 아래에 두십시오. 당신이 JSP에 다른 URL을 매핑해야하지만 사용자를 허용 할 필요를 느끼지 않는 경우 즉, web.xml을 물론

<servlet> 
    <servlet-name>somename</servlet-name> 
    <jsp-file>/WEB-INF/whatever.jsp</jsp-file> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>somename</servlet-name> 
    <url-pattern>/somename/*</url-pattern> 
</servlet-mapping> 

이 함께 할 URL을 수수에 WEB-INF 아래 .jsp 파일 이름으로 이동하는 경우 URL 재 작성 필터를 사용할 수 있습니다. 이 경우 WEB-INF에 넣을 필요가 없습니다.

관련 문제