본문 바로가기
프로그래밍/Java

[Java] JSP와 Servlet

by 시간많은백수 2023. 9. 24.
반응형

✔️JSP(JavaServer Pages)란?

  • JSP(JavaServer Pages)와 Servlet은 Java 웹 애플리케이션 개발에 사용되는 기술입니다.
  • JSP는 HTML 내부에 Java 코드를 포함하여 동적 웹 페이지를 생성하는 데 사용됩니다.

💡JSP의 동작 원리

  1. JSP 파일은 서블릿 코드로 변환되어 실행됩니다.
  2. JSP 파일을 웹 애플리케이션 서버에 배치하면 컨테이너가 JSP를 서블릿으로 변환하고 컴파일합니다.
  3. 변환된 서블릿은 요청을 처리하고 응답을 생성합니다.

JSP 예제)

1
2
3
4
5
6
7
8
9
10
11
12
<!-- hello.jsp -->
<!DOCTYPE html>
<html>
<head>
    <title>Hello JSP</title>
</head>
<body>
    <h1>Hello, JSP!</h1>
    <p>현재 시간: <%= new java.util.Date() %></p>
</body>
</html>
 
 
cs

 

✔️Servlet이란?

Servlet은 Java 클래스로 웹 애플리케이션의 요청과 응답을 처리하는 역할을 합니다.

 

💡Servlet의 동작 원리

  1. Servlet은 웹 애플리케이션 서버에 등록되어 요청을 처리하는데 사용됩니다.
  2. 클라이언트의 HTTP 요청이 서블릿 컨테이너에 도착하면 해당 서블릿이 실행됩니다.
  3. 서블릿은 요청을 처리하고 응답을 생성하여 클라이언트에게 반환합니다.

Servlet 예제)

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
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
 
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>Hello Servlet</title></head>");
        out.println("<body>");
        out.println("<h1>Hello, Servlet!</h1>");
        out.println("<p>현재 시간: " + new Date() + "</p>");
        out.println("</body>");
        out.println("</html>");
    }
}
 
 
cs

 

🖋️Servlet과 JSP의 차이

 

*Servlet과 JSP를 모두 이용하는 모델이 MVC모델이다.

반응형

'프로그래밍 > Java' 카테고리의 다른 글

[Java] 컴파일 과정  (0) 2023.09.28
[Java]MyBatis와 JPA  (0) 2023.09.26
[Java] 스택(Stack)과 큐(Queue)  (0) 2023.08.24
[Java] Math함수  (0) 2023.08.17
[Java] 변환  (0) 2023.08.16