프로그래밍 언어/자바 웹

@WebServlet 에니테이션을 이용한 서블릿 설정

· 코딩마이데이

@WebServlet의 중요한 구성 요소에 대한 설명입니다.

요소 설명
urlPatterns 웹 브라우저에서 서블릿 요청 시 사용하는 매핑 이름
name 서블릿 이름
loadOnStartup 컨테이너 실행 시 로드되는 순서 지정
initParams @WebinitParam 에너테이션 이용해 매개변수 추가하는 기능
description 서블릿에 대한 설명

 

1. sec06.ex01 패키지를 생성하고 마우스 오른쪽 버튼을 클릭한 후 New > Servlet을 선택합니다.

New > Servlet 선택

 

2. 클래스 이름으로 initParamServlet을 입력한 후 Next를 클릭합니다.

클래스 이름으로 initParamServlet 입력 후 Next 클릭

 

3. initialization parameters 항목의 Add...를 클릭합니다.

Add... 클릭

 

4. Name과 Value에 email과 admin@jweb.com을 입력한 후 OK를 클릭합니다.

email 정보 입력 후 OK 클릭

 

5. 다시 Add...를 클릭한 후 Name에 tel, value에 010-1111-2222를 입력하고 OK를 클릭합니다.

Add.. 클릭
전화번호 정보 입력 후 OK 클릭

 

6. 두 개의 서블릿 매개변수가 추가되었음을 확인한 후 URL mappings의 /initParamServlet을 선택하고 Remove를 클릭해 삭제합니다.

Remove 클릭

 

7. 새로운 매핑 이름을 추가하기 위해 Add...를 클릭합니다.

Add... 클릭

 

8. 첫 번째 매핑 이름은 /shift로, 두 번째 매핑 이름은 /shift2로 입력하고 각각 OK를 클릭합니다.

9. 두 개의 서블릿 매핑 이름이 추가된 것을 확인하고 Next를 클릭합니다.

.매개변수의 매핑 이름 확인 후 Next 클릭

 

10. Inherited abstract methods와 doGet 옵션 체크박스에 체크한 후 Finish을 클릭합니다.

서블릿에서 사용할 메서드 채크 후 Finish 클릭

 

11. 이클립스에서 확인하면 설정한 대로 @WebServlet으로 표시되는 것을 확인할 수 있습니다.

@WebServlet에 추가된 매핑 이름과 매개변수 확인

 

12. InitParamServlet 클래스를 다음과 같이 작성합니다. getInitParameter() 메서드에 애너테이션으로 매개변수를 설정할 때 지정한 email과 name을 인자로 전달하여 각 값을 가져옵니다.

package sec06.ex01;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebInitParam;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(
		name = "InitParamServlet",
		urlPatterns = { 
				"/shift", 
				"/shift2"
		}, 
		initParams = { 
				@WebInitParam(name = "email", value = "admin@jweb.com"), 
				@WebInitParam(name = "tel", value = "010-1111-2222")
		})
public class initParamServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		// TODO Auto-generated method stub
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		String email = getInitParameter("email");
		String tel = getInitParameter("tel");
		out.print("<html><body>");
		out.print("<table><tr>");
		out.print("<td>email: </td><td>" + email + "</td></tr>");
		out.print("<tr><td>휴대전화: </td><td>" + tel + "</td>");
		out.print("</tr></table></body></html>");
	}

}

 

13. 브라우저에서 각각 매핑 이름 /shift과 /shift2로 요청합니다. 동일한 결과과 출력되는 것을 확인할 수 있습니다.

매핑 이름 /shift과 /shift2을 요청한 결과

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글

웹 페이지 연결 기능  (0) 2025.07.08
load-on-startup 기능 사용하기  (1) 2025.07.05
ServletConfig  (0) 2025.06.29
ServletContext의 파일 입출력 기능  (1) 2025.06.24
ServletContext의 매개변수 설정 기능  (1) 2025.06.21