**일반적으로는 JSP를 사용하는 게 더 효율적으로 HTML 작성 가능합니다!!**
Servlet : Java 코드 안에서 HTML을 작성 (지금 해볼 것!)
JSP : HTML 코드 안에 Java를 작성 (일반적!)
1. web.xml (Deployment Descriptor) 설정
: web.xml 파일은 Servlet을 설정하고 URL 매핑을 정의하는 역할
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.mulcam.edu.servlet.HelloSvl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
: <servlet> 태그: Servlet 클래스를 등록
- servlet-name: 해당 Servlet의 논리적 이름 (URL 매핑에서 사용됨)
- servlet-class: 실제 Servlet 클래스 경로
: <servlet-mapping> 태그: 특정 URL 요청을 해당 Servlet으로 연결
- url-pattern이 /hello이므로 http://localhost:8080/프로젝트명/hello 요청 시 HelloSvl 실행
2. HelloSvl.java 구현
package com.mulcam.edu.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloSvl extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("HelloServlet doGet");
// 응답 데이터 타입 및 인코딩 설정
response.setContentType("text/html; charset=utf-8");
// HTML을 출력하기 위한 PrintWriter 생성
PrintWriter pw = response.getWriter();
// HTML 응답 생성
pw.println("<html>");
pw.println("<head>");
pw.println("<title>HelloServlet</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<h1>Hello Servlet</h1>");
pw.println("<p>welcome</p>");
pw.println("</body>");
pw.println("</html>");
pw.close(); // PrintWriter 닫기
}
}
** Servlet에서 HTML 응답을 직접 생성할 수 있지만, 일반적으로는 JSP를 사용하여 더 효율적으로 HTML을 작성 **
: doGet() 메서드
- 사용자가 GET 요청을 보내면 실행된다.
- response.setContentType("text/html; charset=utf-8")
- 브라우저가 응답을 HTML 문서로 인식하도록 설정
- 한글 깨짐 방지를 위해 UTF-8 인코딩 설정
- PrintWriter 객체를 이용해 HTML 응답을 직접 작성
3. index.html (클라이언트 페이지)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="./hello">Hello Servlet 으로 이동</a>
</body>
</html>
: 브라우저에서 index.html을 열면 "Hello Servlet으로 이동" 링크가 표시됨
: 사용자가 링크 클릭 시 /hello로 요청이 전송되며 HelloSvl 실행
4. 실행 흐름
1. 브라우저에서 index.html을 열기
2. 링크 클릭( /hello 요청 전송)
3. web.xml에서 /hello 요청을 HelloSvl과 연결
4. HelloSvl.doGet() 실행 (HTML 응답 생성)
5. 브라우저에 "Hello Servlet" 페이지 표시
결과:
'back > Servlet' 카테고리의 다른 글
Servlet) 서버 저장 공간(Session) 및 xml 파일 대신 어노테이션 활용 방법 (0) | 2025.02.28 |
---|---|
Servlet) DTO 활용 HTML 응답을 Servlet에서 직접 생성하기 (0) | 2025.02.28 |
Servlet) GET / POST 요청을 하나의 메서드에서 처리하는 방법 (0) | 2025.02.27 |
Servlet) 간편하게 자동 Servlet xml 파일 생성하기 & 예제 (0) | 2025.02.27 |
Servlet) 개념 간단한 예제 & GET / POST 방식 정리 (0) | 2025.02.27 |