📍 Servlet
- HttpServlet 클래스를 상속받은 클래스이다.
- 클라이언트의 요청을 처리하고, 동적으로 웹 페이지를 생성하거나 데이터를 처리하여 응답을 생성한다.
📍 web.xml 파일의 Servlet 매핑 코드 흐름
- 1️⃣
http://localhost/lesson01/ex1
를 브라우저에 입력한 후 엔터
- 2️⃣
/lesson01/ex1
의 <url-pattern>
을 탐색
- 3️⃣ 매핑된
<servlet-name>
이 UrlMappingEx01임을 확인
- 4️⃣
<servlet>
> <servlet-name>
이 UrlMappingEx01인 것을 탐색
- 5️⃣ 연결된
<servlet-class>
가 com.test.lesson01.UrlMappingEx01임을 확인 후 해당 클래스 실행
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>Test</display-name>
<servlet>
<servlet-name>UrlMappingEx01</servlet-name>
<servlet-class>com.test.lesson01.UrlMappingEx01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UrlMappingEx01</servlet-name>
<url-pattern>/lesson01/ex01</url-pattern>
</servlet-mapping>
</web-app>
package com.test.lesson01;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UrlMappingEx01 extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.print("<html><head><title>인사</title></head><body>");
out.print("<h1>안녕하세요</h1>");
out.print("</body></html>");
}
}
📍 @WebServlet 어노테이션으로 Servlet 매핑 코드 대체하기
- 매핑하려는 클래스에 @WebServlet("매핑 주소") 어노테이션을 추가한다.
- web.xml 파일에 Servlet 매핑 코드를 작성하지 않아도 된다.
package com.test.lesson01;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/lesson01/ex01")
public class UrlMappingEx01 extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.print("<html><head><title>인사</title></head><body>");
out.print("<h1>안녕하세요</h1>");
out.print("</body></html>");
}
}
이거 보고 web.xml 파일 흐름 이해했어요