▶ 이번 포스팅은 Servlet을 외부에서 요청하기 쉽도록
특정 문자를 이용해서 맵핑하는 방법에 대해서 입니다.
🔑 목차
🎉 1. Servlet Mapping 이란?
🎉 2. Web.xml 파일을 통한 Mapping (고전 방법)
🎉 3. Java Annotation을 통한 Mapping (최신 방법)
▶ 이전 파트에서 알아보았듯이
JSP 만으로 웹 프로그램을 만들 수 있고,
Servlet 만으로 웹 프로그램을 만들 수 있고,
둘을 모두 사용해서 만들 수도 있다. (권장 방법)
▶ View와 같은 부분은 JSP를 사용해서 만들고,
Controller, model과 같은 부분들은 Servlet을 사용해서 만든다.
🚩 1. Servlet Mapping 이란?
▶ Servlet을 Web container에 넣어놓고, 브라우저를 통해서 해당하는 요청이 들어오게 되면,
다양한 servlet들 중에서 어떠한 servlet을 요청하는 것인지 알 필요가 있기 때문에,
각 servlet에는 이름이 필요하게 된다. (고유한 이름)
▶ servlet을 구분하는 데에 full path 이름의 경우 보안이 취약하고, URL이 복잡하다.
그래서 생겨난 것이 path를 줄여서 맵핑하는 방법, 즉, servlet 맵핑이다.
▶ 맵핑을 하게 되면, Context Path까지는 그대로 써준다.
그 뒤, servlet 이하는 간략하게 한 단어(닉네임)으로 표현한다.
▶ Servlet Mapping을 하는 방법에는, 총 2가지가 있다.
1. web.xml 파일을 이용한 맵핑 (고전적인 방법)
2. Java Annotation을 이용한 맵핑 (현대적인 방법)
🚩 2. Web.xml 파일을 통한 Mapping (고전)
▶ 우선 Dynamic Web Project를 생성해준다. (전에 설명)
▶ 여기서 주의할 점은 전에 설명했듯이,
web.xml 파일을 조작하기 위해서는,
위 사진의 Generate web.xml deployment descriptor
옵션을 체크해주어야 한다.
(자동으로 web.xml 파일을생성 해주는 옵션)
▶ 전에 설명했듯이, Java Resource를 우클릭하고, new->Servlet을 생성하면 된다.
(Java Resource의 src 폴더 내부에 servlet 파일이 생긴다.)
▶ 생성된 servlet 파일을 열어보면, 아까 설정한 servlet 이름이 그대로 적용되어 있다.
▶ 그 뒤에, 전에 했던 것처럼,
반겨주는 메세지를 작성해보자.
(안해도 된다.)
▶ web.xml에 가보면, default 설정이 되어있다.
▶ servlet을 등록하기 위해서는, web-app 태그 사이에 작성하면 된다.
< Code Explanation >
<servlet>
<servlet-name> servletEx </servlet-name>
# servlet의 이름은 무엇으로 할 건지 (가명) -> 서블렛 이름
<servlet-class> com.servlet.ServletEx </servlet-class>
# servlet의 package명을 포함한, full-name
</servlet>
<servlet-mapping>
<servlet-name> servletEx </servlet-name>
# servlet의 이름은 무엇으로 할 건지 (가명) -> 어떤 서블렛 이름을 가진
<url-pattern> /SE <url-pattern>
# servletEx라는 가명을 가진 servlet의 package명을 포함한 full-name을
/SE로 mapping 하겠다는 뜻
</servlet-mapping>
▶ 즉, "/SE" 라고 호출하면, mapping되어있는 "com.servlet.ServletEx"을 실행시키라는 명령을 갖는 구조이다.
🚩 3. Java Annotation을 통한 Mapping (현대)
▶ servlet.java 파일의 @webServlet(“ “)의 괄호 안에 작성하면 된다.
▶위와 같이, /SE7 이라고 작성하게 되면,
▶ web.xml의 servlet maaping에 의한 SE와 / annotation에 의한 SE7 모두 등록되어,
주소창을 보면, SE와 SE7 모두 사용 가능하다.
🚨 slash (“/”)를 빼먹으면, 서버 접속 자체가 에러난다! (주의)
✋ 이상으로 포스팅을 마칩니다.
'(2022) 공부 (Study)' 카테고리의 다른 글
🔥 Spring Framework - #2 개발 환경 구축 (0) | 2021.01.04 |
---|---|
🔥 JSP 기본 정리 - #4 Servlet 살펴보기 (0) | 2021.01.04 |
💡 정보처리기사 필기+실기 합격 후기 (1) | 2021.01.03 |
🔥 JSP 기본 정리 - #3 JSP 살펴보기 (0) | 2021.01.02 |
🔥 Spring Framework - #1 Spring 개요 (0) | 2020.12.31 |