<< 학습 목표 >>
1. 서블릿을 추가하며 등록할 수 있다.
2. 서블릿을 실행할 수 있다.
앞서 서블릿을 추가 하고 등록했지만 이번에는 서블릿을 추가하며 등록하는 방법을 알아볼 예정
서블릿을 추가하며 등록하는 과정은 매우 간단함
그리고 그 이후에 실행, 요청(호출) 하는 과정은 똑같으니 이 글은 매우 짧게 끝날 예정!
서블릿을 추가하며 등록할 때는 서블릿을 추가하는 방법이 달라짐
서블릿을 추가하며 등록해보자
우선 서블릿을 추가할 패키지를 한번 클릭 -> Ctrl + N -> servlet 으로 검색(1) -> Servlet 선택(2) -> [ Next ](3)

먼저 서블릿으로 만들 클래스 설정 부분이 나오는데 클래스명과 서블릿명은 같은거라고 생각하면 됨
클래스명을 Ex05 로 지정(1) -> [ Next ] 클릭(2)

그 다음으로는 서블릿 설정 부분이 나옴
(1) Name : web.xml의 servlet 태그 내 servlet-name 태그의 역할
(2) URL mapping : web.xml 의 servlet-mapping 태그 내 url-pattern 태그의 역할

URL mappings 에 /Ex05 로 되어있으므로 클라이언트가 이 서블릿에 접근할 때는 대소문자 정확하게 지켜서 http://서버IP주소:8080/studyProject/Ex05 로 접근해야함
URL에 대문자가 섞여있으면 접근하기 불편하므로 URL mappings 에 /Ex05 를 클릭(1) -> [ Edit ] 버튼 클릭(2) -> 대문자 E를 소문자 e로 바꿈(3) -> [ OK ] 버튼 클릭(4)
그 후에 [ Finish ] 를 누르면 안되고 [ Next ] 를 눌러야함

이제 마지막으로 이 서블릿이 어떤 방식의 요청을 처리할 것인지 지정해야함
기본적으로 doGet, doPost 가 체크 되어있어 이 서블릿은 GET 방식 요청과 POST 방식 요청 모두 처리하겠다 임
우선 doPost는 체크를 풀고(1) [ Finish ] 클릭(2)

만들어진 결과를 보면 주석과 몇 줄의 코드가 더 들어있어서 그렇지 앞서 우리가 서블릿을 추가했을 때 코드와 별반 다르지 않음
package chapter02;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Ex05
*/
@WebServlet("/ex05")
public class Ex05 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Ex05() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
}
주석과 생성자, 불필요한 멤버 변수를 지우고 보자
( 앞의 글을 보고 이 글을 보신분이라면 앞의 글을 보면서 추가한 서블릿와 이 글의 서블릿을 비교해보세요 )
package chapter02;
import java.io.IOException;
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("/ex05")
public class Ex05 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
}
앞에서는 클래스부터 시작해서 클래스를 직접 서블릿으로 변환하고 필요한 메서드를 오버라이딩 해줬음
그러나 지금은 곧바로 서블릿을 만들어서 필요한 메서드가 준비됬고 서블릿 등록까지 마친 상태가 됬음
여기까지 서블릿 추가와 등록 끝!
앞서 서블릿을 추가하고 등록했을 때와 지금 서블릿을 추가하며 등록했을 때 과정을 비교해보자
지금의 과정을 기준으로 앞의 과정과 비교해보자
| << Servlet으로 검색해서 만들 때 첫 번째 단계 >> |
![]() |
| (1) 입력하는 클래스명이 앞에서 클래스를 만드는 과정 (2) Superclass 부분이 클래스를 만들고 extends HttpServlet 을 했던 과정 이 두 과정이 한 단계로 압축된 것 |
| << Servlet으로 검색해서 만들 때 두 번째 단계 >> |
![]() |
| (1) Name : web.xml에 servlet 태그를 사용해서 프로젝트에 서블릿을 등록할 때 지정한 서블릿의 별명 (2) URL mapping : web.xml에 servlet-mapping 태그를 사용해서 등록한 서블릿의 접근 경로를 지정한 것 이렇게 web.xml에 입력해야할 것들을 이 단계에서 처리한 것 |
| << Servlet으로 검색해서 만들 때 세 번째 단계 >> |
![]() |
| (1) doGet 메서드 등 체크 : 요청 방식에 따라 처리하기 위한 메서드 구현 |
이렇게 Servlet으로 검색해 만들면 우리가 직접 해줘야할 많은 과정들을 간단하게 클릭으로 처리할 수 있으니 앞으로는 서블릿을 추가 할 때 Servlet 으로 검색해 추가하겠음
이제 Ex05 서블릿을 실행시켜 호출해봐야하는데 그 과정은 앞 글에서 알아봤으므로 여기서는 패쓰~!
여기까지 서블릿을 추가하면서 등록하는 과정을 알아봤음
'Servlet + JSP > Serlvet-Chapter02' 카테고리의 다른 글
| Chapter02. 서블릿 본격적인 시작 (0) | 2023.02.27 |
|---|---|
| Chapter02. 서블릿의 구조와 라이프 사이클, 동작 순서 (0) | 2023.02.25 |
| Chapter02. 서블릿 추가, 등록, 실행, 요청(호출) (0) | 2023.02.24 |
| Chapter02. 서버, URL, 포트 (0) | 2023.02.24 |
| Chapter02. 용어 정의 (0) | 2023.02.24 |


