Notice
Recent Posts
Recent Comments
Link
- 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] 서블릿 생성하기(web.xml) 본문
서블릿 클래스를 작성하고, 클라이언트 Request를 처리해보자
브라우저에 'Hello world!'를 출력했을 때부터 시작해보기로 한다. 우선 Java Resources/src에 com.edu.bbs란 패키지를 생성하고, BBSServlet클래스를 만들어보자. BBSServlet클래스는 HttpServlet클래스를 상속받게 한다. HttpServlet클래스는 Java EE 7 API 문서에서 확인할 수 있다. Servlet은 웹 컨테이너(대표적으로 Tomcat, 서블릿 컨테이너라고도 부른다)에 의해 실행, 관리된다.
BBSServlet클래스에서 alt+shift+s를 눌러 Override/Implement Methods를 선택한다.
부모클래스인 HttpServlet클래스의 doGet, doPost메서드를 오버라이딩한다.
HttpServlet클래스의 부모클래스인 GenericeServlet클래스의 init(ServletConfig)메서드도 오버라이딩하자.
오버라이딩한 메서드들의 확인을 위해 콘솔에 찍히도록 바꿨다.
/** * BBSServlet.java * @Date 2017. 3. 23. */ package com.edu.bbs; import java.io.IOException; import java.util.HashMap; import java.util.Properties; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class BBSServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("GET"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("POST"); } @Override public void init(ServletConfig config) throws ServletException { System.out.println("Initializing..."); } }
web.xml에 Servlet에 관해 정의해주자. 이제 URL패턴이 .bbs(확장자)인 요청을 bbsServlet이 처리하게 된다.
<?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>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>bbsServlet</servlet-name> <servlet-class>com.edu.bbs.BBSServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>bbsServlet</servlet-name> <url-pattern>*.bbs</url-pattern> </servlet-mapping> </web-app>
브라우저에서 http://localhost/bbs/*.bbs로 접근하면 콘솔에 init, doGet메서드가 실행되는 것을 확인할 수 있다. URL에서 *(와일드카드)는 추후 login.bbs나 list.bbs 등 화면마다 매칭되게 만들 것이다.
'Java > web' 카테고리의 다른 글
[Web] 글쓰기 화면 만들기 (게시판 구현) (0) | 2017.04.05 |
---|---|
[Web] 싱글톤 패턴을 이용하여 데이터베이스 접근하기 (게시판 구현) (2) | 2017.04.04 |
[Web] 서블릿 생성하기(애노테이션) (0) | 2017.03.24 |
[Web] 톰캣이 웹 애플리케이션을 실행하는 순서 (0) | 2017.03.21 |
[Web] 톰캣 서버로 웹 애플리케이션 실행하기 (0) | 2017.03.15 |