Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 예외미루기
- 오라클
- GRANT VIEW
- EnhancedFor
- 참조형변수
- 사용자예외클래스생성
- 추상메서드
- 객체 비교
- 대덕인재개발원
- 자바
- 정수형타입
- 환경설정
- oracle
- 어윈 사용법
- 집합_SET
- cursor문
- 생성자오버로드
- Java
- abstract
- 예외처리
- 컬렉션프레임워크
- NestedFor
- 인터페이스
- 자동차수리시스템
- 제네릭
- 컬렉션 타입
- exception
- 한국건설관리시스템
- 다형성
- 메소드오버로딩
Archives
- Today
- Total
거니의 velog
(7) 서블릿이란? - 2 본문
7. 다수의 서블릿 매핑하기
* 온라인 쇼핑몰 같은 경우 대부분 상품 조회, 주문, 회원 관리 등의 기능으로 이루어져 있다. 만약 이런 기능을 모두 서블릿 하나에 만들어서 제공한다면 소스가 복잡해져 관리하기 불편할 것이다. 따라서 일반적인 웹 애플리케이션은 각 기능에 대한 서블릿을 따로 만들어서 서비스를 제공한다. 즉, 프로젝트에서 여러 개의 서블릿을 만들어 사용한다.
* 이번에는 다른 서블릿으로 SecondServlet.java로 추가해 본다.
package sec01.ex01;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SecondServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("init 메서드 호출>>>>");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
System.out.println("doGet 메서드 호출>>>>");
}
@Override
public void destroy() {
System.out.println("destroy 메서드 호출>>>>");
}
}
* 다시 SecondServlet.java를 web.xml에 매핑해 보자.
<?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">
// <servlet> 태그끼리 위치시킨다.
<servlet>
<servlet-name>aaa</servlet-name>
<servlet-class>sec01.ex01.FirstServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>bbb</servlet-name> // </servlet-name> 태그 값은 다른 </servlet-name> 태그 값과 절대 같으면 안 된다.
<servlet-class>sec01.ex01.SecondServlet</servlet-class>
</servlet>
// <servlet-mapping> 태그끼리 위치시킨다.
<servlet-mapping>
<servlet-name>aaa</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>bbb</servlet-name>
<url-pattern>/second</url-pattern>
</servlet-mapping>
</web-app>
* 프로젝트의 web.xml 변경 사항을 반영하려면 톰캣을 재실행해야 한다. Servers의 빨간색 버튼을 클릭해 톰캣을 종료한 후 다시 녹색 버튼을 클릭해 톰캣을 실행한다.
* 이후 브라우저에서 /second라는 매핑 이름으로 요청했을 때 결과이다. 이번에는 SecondServlet 클래스들의 메서드가 호출되어 메시지를 출력한다.
* 이처럼 여러 개의 서블릿을 web.xml에 매핑하려면 <servlet> 태그와 <servlet-mapping> 태그를 분리한 후 <servlet-name> 태그의 값을 다른 값으로 설정해야 한다.
'Java_Servlet' 카테고리의 다른 글
(9) 애너테이션을 이용한 서블릿 매핑 (0) | 2023.08.22 |
---|---|
(8) 서블릿 동작 과정 (0) | 2023.08.22 |
(6) 서블릿이란? - 1 (0) | 2023.08.21 |
(5) 웹 어플리케이션 서비스하기 (0) | 2023.08.21 |
(4) 이클립스에서 웹 어플리케이션 실습하기 (0) | 2023.08.21 |