Web

JSP - URL mapping

kakaroo 2022. 2. 1. 14:52
반응형

article logo



servlet 2.* 에서는 web.xml 파일에서만 URL mapping이 가능, servlet 3.0이상에서는 annotation 으로 mapping하는 것도 가능해졌습니다.

 

1. web.xml mapping

servlet-name 끼리 매칭이 되어야 함.

servlet-class 는 코드에서 실행되는 클래스이름(package명.javaClass명)

url-pattern은 url 주소이름 (ex. http://localhost:8080/TestServlet7)

web.xml mapping
web.xml mapping

2. annotation mapping

web.xml에서 metadata-complete 값이 true로 되어 있을 경우 false로 바꿔줘야 annotation으로 URL mapping이 가능합니다.

true는 url 매핑을 포함한 메타 데이터 설정이 web.xml에 있다는 뜻입니다.

false는 url 매핑을 포함한 모든 메타 데이터 설정이 다른 파일에도 있다는 뜻입니다.

annotation mapping 을 위한 metadata-complete 설정 false로 변경
annotation mapping 을 위한 metadata-complete 설정 false로 변경

 

다음의 URL mapping 정보를 지워줍니다.

web.xml 에서 url mapping 된 정보를 지움
web.xml 에서 url mapping 된 정보를 지움

위 정보를 지운뒤, 서버를 재실행해서 page를 로드하면 mapping된 page를 찾지 못해 아래와 같이 404 에러가 발생합니다.

HTTP 404 error
HTTP 404 error

 

URL이 mapping될 정보를 @WebServlet("")에 추가하면 됩니다.

어노테이션이 추가된 자바 파일은 다음과 같습니다.

@WebServlet URL mapping 정보 추가
@WebServlet URL mapping 정보 추가

 

서버를 재실행해서 URL을 재로드하면 아래와 같이 정상적으로 페이지가 로드됩니다.

재실행 화면
재실행 화면

web.xml mapping 처럼 servlet name과 url pattern을 지정할 수 있습니다.
urlPatterns에 s는 복수형을 뜻하며, 하나의 servlet을 다수의 URL로 mapping할 수 있습니다.
여러개를 지정할 때는 콤마(,)로 구분해 설정합니다.

web.xml mapping 처럼 servlet name과 url pattern을 지정
web.xml mapping 처럼 servlet name과 url pattern을 지정

반응형

'Web' 카테고리의 다른 글

Front Controller Pattern  (0) 2022.02.01
Filter / Cookie / Session (공사중..)  (0) 2022.02.01
JSP와 Servlet 값 주고 받기 (GET/POST)  (0) 2022.02.01
Eclipse Dynamic Web Project - 02  (0) 2022.02.01
Eclipse Dynamic Web Project - 01  (0) 2022.02.01