- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
Bigfat
[Web] 서블릿 생성하기(애노테이션) 본문
애노테이션(annotation)을 작성하여 서블릿을 실행해보자
서블릿 배치 정보를 web.xml에서 작성할 수도 있고, 애노테이션으로 작성할 수도 있다.
서블릿 클래스명을 기입하고 'Next'버튼을 눌러준다. BBSServlet라는 클래스가 존재하므로 BBSServletAnnotation라고 기입하였다.
Initialization paramters는 web.xml에서 <servlet>의 자식인 <init-param>엘리먼트를 작성하는 것과 동일하다. 지금은 bbsProperties를 사용하지 않기 때문에 제거해도 괜찮다.
URL mappings는 web.xml에서 <servlet-mapping>엘리먼트를 작성하는 것과 동일하다.
인터페이스를 상속받거나 오버라이딩할 메서드들을 선택하는 화면이다. BBSSerlvet클래스에서와 같이 doGet, doPost, init메서드를 선택한다.
서블릿이 제대로 작동하는지 확인하기 위해 콘솔에 찍어보도록 메서드들을 수정하였다.
package com.edu.bbs; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class BBSServletAnnotation */ @WebServlet( urlPatterns = { "*.bbs" }, initParams = { @WebInitParam(name = "bbsProperties", value = "D:\\Dev\\Work\\bbs\\WebContent\\bbs.properties") }) public class BBSServletAnnotation extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public BBSServletAnnotation() { super(); } /** * @see Servlet#init(ServletConfig) */ public void init(ServletConfig config) throws ServletException { System.out.println("Initializing..."); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Get"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Post"); } }
web.xml에 작성해놓은 <servlet>엘리먼트를 주석 처리하자. 주석 처리하지 않는다면 BBSServlet과 BBSServletAnnotation이 둘 다 URL패턴에 *.bbs이 작성되어 있으므로 톰캣이 실행되지 않을 것이다.
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>bbs</display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <!-- <servlet> <servlet-name>bbsServlet</servlet-name> <servlet-class>com.edu.bbs.BBSServlet</servlet-class> <init-param> <param-name>bbsProperties</param-name> <param-value>D:\Dev\education\bbs\WebContent\bbs.properties</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>bbsServlet</servlet-name> <url-pattern>*.bbs</url-pattern> </servlet-mapping> --> </web-app>
서버를 실행시키고 브라우저에 http://localhost/bbs/*.bbs로 접근하면, 서블릿 BBSServletAnnotation의 메서드가 실행하여 요청을 처리하는 것을 확인할 수 있다.
[Spring 2-3. 애노테이션과 web.xml 참고]
'Java > web' 카테고리의 다른 글
[Web] 글쓰기 화면 만들기 (게시판 구현) (0) | 2017.04.05 |
---|---|
[Web] 싱글톤 패턴을 이용하여 데이터베이스 접근하기 (게시판 구현) (2) | 2017.04.04 |
[Web] 서블릿 생성하기(web.xml) (0) | 2017.03.22 |
[Web] 톰캣이 웹 애플리케이션을 실행하는 순서 (0) | 2017.03.21 |
[Web] 톰캣 서버로 웹 애플리케이션 실행하기 (0) | 2017.03.15 |