Annotation 기반 Servlet 설정

WebServlet Annotation

@WebServlet(urlPatterns = "/insertBoard.do", initParams = @WebInitParam(name = "encoding", value = "EUC-KR"))

web.xml 파일의 servlet-mapping 내의 내용을 넣어줄 수 있다.

init-param

xml에 대한 설정을 하는 것이 java 소스코드와 분리되어있어, Annotation 기반으로 처리하게 되었다.

  • initParams = 초기화 parameter들을 servlet으로 넘겨줄 수 있다.
  • Servlet객체를 생성한 후에 ServletConfig 생성 -> parameter value 호출 -> init()에게 넘겨준다.
1
2
3
4
5
6
public void init(ServletConfig config) throws ServletException {
// ServletConfig를 이용하면 web.xml에 설정된 로컬 파라미터 정보를 추출할 수 있다.
boardEncoding = config.getInitParameter("encoding");
/* ... */
}

Global Parameter 설정

1
2
3
4
5
<!-- Global Parameter -->
<context-param>
<param-name>encoding</param-name>
<param-value>EUC-KR</param-value>
</context-param>

원하는 servlet의 service()단에서 아래 코드를 통해 적용 가능하다.

1
2
3
4
/* ... */
ServletContext context = getServletContext();
boardEncoding = context.getInitParameter("encoding");
/* ... */

ServletContext는 ServletEngine을 객체화 시킨 거라고 생각하면 된다.

  • 어디서든, 여려번 parameter에 접근하여 사용할 수 있다.
  • ServletConfig는 Servlet이 생성되고, init()이 호출될 때만 사용할 수 있다.

Annotation 기반 Servlet 설정

http://inwoo.github.io/11/02/webServlet/

Author

Inwoo Jeong

Posted on

2021-11-02

Updated on

2021-11-03

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.

댓글