이전글
서블릿 url-pattern 실습 예제
앞선 글에서 url-pattern의 규칙에 대해서 알아보았고 이번글에서는 해당 규칙을 바탕으로 실습을 진행하도로 해보겠습니다. 예제 프로젝트 소스는 Git 링크를 참고해주세요.
프로젝트 구성은 다음과 같이 5개의 서블릿이 있고 각각
@WebServlet
어노테이션을 이용하여 경로 맵핑 설정을 해둔 상태입니다. 이전글에서 정리를 해 두었지만 맵핑 설정은 다음과 같습니다.URL 패턴 |
맵핑된 서블릿 |
/foo/bar/* |
HelloServlet1 |
/baz/* |
HelloServlet2 |
/catalog |
HelloServlet3 |
*.do |
HelloServlet4 |
/baz/index.do |
HelloServlet5 |
서블릿 소스코드
다섯개의 서블릿은 다음과 같이
@WebServlet
어노테이션을 이용하여 경로 맵핑이 되어있고 doGet()을 통해 요청 URL와 맵핑된 URL을 응답하는 구조입니다. 각각 맵핑된 경로만 다르고 코드는 같습니다.package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/foo/bar/*") public class HelloServlet1 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); String reqUrl = request.getRequestURI(); String mappingUrl = request.getServletPath(); out.println("<html>"); out.println("<head>"); out.println("<title>HelloServelt1</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>HelloServlet1입니다.</h1>"); out.println("<h1>요청 경로는 " + reqUrl + "</h1>"); out.println("<h1>맵핑 경로는 " + mappingUrl + "</h1>"); out.println("</body>"); out.println("</html>"); out.close(); } | cs |
/foo/bar로 호출했을때의 결과는 아래와 같습니다. 각각의 경로로 요청을 해보면서 실습을 진행합니다. 정리된 결과는 이전글에서 확인해주세요.
'Servlet&Jsp' 카테고리의 다른 글
[서블릿/JSP] 표현언어(EL)에서 ${}과 #{} 표기법의 차이 (1) | 2019.08.05 |
---|---|
[서블릿/JSP] 표현 언어(EL, Expression Language)란? (0) | 2019.08.05 |
[서블릿/JSP] 서블릿 맵핑시 url-pattern 규칙 (0) | 2019.08.02 |
[서블릿/JSP] Tomcat 재시작시 세션 유지/제거 설정하기 (0) | 2019.08.01 |
[서블릿/JSP] 톰캣(서블릿 컨테이너) 시작시 Servlet 초기화 되도록 설정하기 (0) | 2019.07.31 |