-
서블릿(Servlet) 경로 (Context path, Context root) , web.xmlWeb/Servlet 2018. 9. 4. 16:48
서블릿이 익숙하지 않은 경우 파일 경로에 대한 고민을 분명히 할 것이다. 필수적인 위치명 두가지 Context path와 Context root 에 대해 설명.
Context Path : 프로젝트 명을 의미하며 url의 호스트, 포트명 다음에 나온다.
Context root : Content directory의 경로. 해당 경로에 메타 정보와 웹 정보를 관리하는 META-INF와 WEB-INF 파일이 자동생성되며 JSP파일은 여기 하위에 저장되어야 경로를 찾을 수 있다.Dynamic web project 생성시 마지막 페이지이다.
작성 중 url mappings는 path로 설정했다. 따라서 이를 url에 넣어줘야 한다.
Context root와 Content directory의 경로를 설정할 수 있는 페이지고,
jsp 파일은 Content directory 하위에 폴더로 관리해 경로를 설정한다.getRequestDispatcher 메소드의 파라미터로 브라우저에 출력 원하는 jsp 파일의 경로를 입력하는데 Content directory 이후부터 작성했다.
/view/path.jsp 파일. "파일의 경로를 잘 찾았네요!" 문자열이 출력되어야 한다.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>pathExam</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>PathExamServlet</display-name> <servlet-name>PathExamServlet</servlet-name> <servlet-class>com.naver.blog.PathExamServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>PathExamServlet</servlet-name> <url-pattern>/path</url-pattern> </servlet-mapping> <servlet> <description></description> <display-name>IndexServlet</display-name> <servlet-name>IndexServlet</servlet-name> <servlet-class>com.naver.blog.IndexServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>IndexServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
중요한 것이 맨 위의 display-name과 url-pattern이다.
display-name은 프로젝트명으로 자동등록되고 이후 servlet들에 적지 않아도 자동으로 추가된다.
"display-name/url-pattern" 형태의 url을 등록해놓고 그에 해당하는
서블릿이 매핑되어 수행된다는 의미이다.
이곳에 없는 url이라면 해당 프로젝트가 수행할 수 없는 url이기에 404 에러가 나온다.'Web > Servlet' 카테고리의 다른 글
서블릿(Servlet) 예제 (0) 2018.09.04 (Servlet) 서블릿 필터 (Filter) 예제 (0) 2018.09.04