JSP와 Servlet을 실행해 봤을때 JSP는 주로 MVC(Model View Controller)패턴에서 View를 만들어줄 때 사용하고 Servlet을 Model과 Controller를 만들때 사용합니다.
또 Servlet을 만들때 URL mapping을 해주었는데요.
Servlet 맵핑이란 무었일까요??
브라우저에서 요청을 보낼때 서블릿을 쉽게 구분할수 있는 요소가 필요합니다.
하지만 위의 그림처럼 full path를 입력해야 구분이 될 경우 복잡할 뿐더러 보안에도 상당히 취약할수 있겠죠.
그래서 path를 mapping하여 좀더 간결한 URL을 만들어줍니다.
Servlet Mapping을 하는 방법은 크게 2가지로 web.xml파일을 이용한 매핑이 있고 Java annotation을 활용한 매핑이 있습니다.
매핑을 하기 앞서 프로젝트를 하나 만들어볼까요??
저는 com.servlet 으로 패키지를 만들었고 Clanss name은 ServletTest로 하겠습니다.
그리고 URL mapping은 ST로 일단 정해놓겠습니다.
우선 web.xml파일을 이용한 맵핑을 볼까요??
저희는 web.xml파일을 이용하여 매핑을 할 것이기 때문에 서블릿 파일에 @WebServlet 어노테이션을 잠시 주석처리 하겠습니다.
그리고 서블릿 요청이 되면 응답할 간단한 코드를 작성했습니다.
그러면 이 서블릿은 어떤 주소로 응답이 되어야 할까요??
이런 응답되는 mapping을 web.xml파일에서 해줄수 있습니다.
web.xml파일은 WebContent아래 WEB-INF아래 있는데요.
web.xml을 켜서 위의 코드를 작성하게 되면 매핑이 됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>Test03</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>
<servlet-name>servletTest</servlet-name>
<servlet-class>com.servlet.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletTest</servlet-name>
<url-pattern>/ST</url-pattern>
</servlet-mapping>
</web-app>
코드를 잘보면 이해하기 쉽습니다.
내가 찾는 서블릿의 이름은 servletTest라는 이름인데 이 파일의 class경로는 com.test.ServletTest야.
그리고 이 servletTest라는 이름을 가진애는 /ST라는 URL이 들어오면 찾도록 url 패턴을 매핑해줄거야!
라는 의미입니다.
쉽죠?
이제 실행시켜볼까요??
/ST가 들어오면 응답하도록 url-pattern을 매핑해주었기 때문에 입력한것이 잘 들어오는것을 확인할수 있습니다.
이번에는 어노테이션을 이용한 매핑을 보겠습니다.
아까 주석처리 해두었던 것의 주석을 해제하고 ST1이라는 이름을 어노테이션어 적어보겠습니다
web.xml에서 매핑해둔 ST와 어노테이션으로 매핑해둔 ST1 모두 잘 실행이 되네요!
이 글은 실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌를 수강하며 공부한 내용을 정리한 글입니다.
'Java 관련 > JSP & Servlet' 카테고리의 다른 글
[JSP & Servlet] Servlet Life-Cycle과 메서드 (0) | 2022.08.12 |
---|---|
[JSP & Servlet] request(요청), response(응답) (0) | 2022.08.11 |
[JSP & Servlet] Servlet 시작하기! (0) | 2022.08.09 |
[JSP & Servlet] 웹 컨테이너 구조와 JSP 시작하기 (0) | 2022.08.08 |
[JSP & Servlet] 웹 프로그램이란? (0) | 2022.08.06 |