@WebServlet 에니테이션을 이용한 서블릿 설정
@WebServlet의 중요한 구성 요소에 대한 설명입니다.
| 요소 | 설명 |
| urlPatterns | 웹 브라우저에서 서블릿 요청 시 사용하는 매핑 이름 |
| name | 서블릿 이름 |
| loadOnStartup | 컨테이너 실행 시 로드되는 순서 지정 |
| initParams | @WebinitParam 에너테이션 이용해 매개변수 추가하는 기능 |
| description | 서블릿에 대한 설명 |
1. sec06.ex01 패키지를 생성하고 마우스 오른쪽 버튼을 클릭한 후 New > Servlet을 선택합니다.

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

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

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

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


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

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

8. 첫 번째 매핑 이름은 /shift로, 두 번째 매핑 이름은 /shift2로 입력하고 각각 OK를 클릭합니다.
9. 두 개의 서블릿 매핑 이름이 추가된 것을 확인하고 Next를 클릭합니다.

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

11. 이클립스에서 확인하면 설정한 대로 @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로 요청합니다. 동일한 결과과 출력되는 것을 확인할 수 있습니다.


'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| 웹 페이지 연결 기능 (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 |