02
18
728x90

1. 톰캣의 servlet-api.jar 클래스 패스 설정

1. 이클립스 상단의 New 아이콘 클릭 -> Dynamic Web Project 클릭

2. 프로젝트 이름 작성 / Target runtime을 Apache Tomcat v10.0으로 바꾸고 Next

3. 경로 확인 후 Next

4. Generate web.xml deployment decriptor 체크 후 Finish

5. 아래와 같이 프로젝트가 생성된 것을 확인할 수 있음

6. 프로젝트 이름 선택 -> 마우스 오른쪽 클릭 -> Build Path -> Configure Build Path... 클릭

7. Java Build Path -> Libraries -> Classpath 선택 후 Add External JARs.... 클릭

8. Tomcat lib 디렉터리의 servlet-api.jar 선택 후 열기

9. 아래와 같이 servel-api.jar 클래스 패스 설정이 확인되었으면 Apply and Close를 클릭해 종료


2. 첫 번째 서블릿 만들기

1. pro05 프로젝트의 src/main/java 선택 후 마우스 오른쪽 클릭 -> New -> Package 선택

2. Package의 이름을 설정한 후 Finish

3. 아래와 같이 패키지가 생성된 것을 확인할 수 있음

4. 위에서 생성한 패키지 선택 후 마우스 오른쪽 클릭 -> New -> Class

5. 클래스 이름 설정 후 Finish

6. 아래와 같이 FirstServlet 클래스가 생성된 것을 확인 할 수 있다.

7. FirstServlet.java에 다음과 같이 코드를 작성한다.

package sec01.ex01;

import java.io.IOException;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

public class FirstServlet extends HttpServlet {
	@Override
    //init():초기화 / 서블릿 요청 시 맨 처음 한번만 호출
	public void init() throws ServletException
	{
		System.out.println("init 메서드 호출");
	}
	@Override
    //doGet():작업수행 / 서블릿 요청시 매번 호출 / 실제로 클라이언트가 요청하는 작업 수행
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
	throws ServletException, IOException
	{
		System.out.println("doGet 메서드 호출");
	}
    //destroy():종료 / 서블릿이 기능을 수행하고 메모리에서 소멸될 때 호출 / 마무리 작업 수행
	@Override
	public void destroy()
	{
		System.out.println("destroy 메서드 호출");
	}
}

3. 서블릿 매핑하기

매핑이란? 해당 값이 다른 값을 가리키도록 하는 것으로 웹 주소에 실제 디렉토리 경로가 나와있게되면 보안에 취약해 매핑을 통해 임의의 이름으로 바꾸거나 감추어서 보안을 높이는 작업이다.

1. web.xml 더블클릭

2. web.xml에 아래와 같은 코드 입력

/first라는 이름으로 매핑하였다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="5.0">
  <servlet>
	<servlet-name>aaa</servlet-name>
	<servlet-class>sec01.ex01.FirstServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>aaa</servlet-name>
  	<url-pattern>/first</url-pattern>
  </servlet-mapping>
</web-app>

4. 톰캣에 프로젝트 실행

1. 톰캣 서버 선택 후 마우스 오른쪽 버튼 클릭 -> Add and Remove... 클릭 

2. pro05를 선택 후 Add를 클릭하여 추가 후 Finish

3. 톰캣에 프로젝트가 등록된 것을 확인가능

4. 서버를 실행시킴

 


5. 브라우저에서 서블릿 요청

1. 웹브라우저 주소창에 http://IP주소:포트번호/프로젝트이름/서블릿매핑이름 를 입력 후 접속 확인

2. 이클립스 콘솔에 각각의 메서드가 호출되며 메시지가 출력됨

728x90
COMMENT