본문 바로가기
✨ Back-end/Servlet

[Servlet] JSP를 활용하여 doGet( ) , doPost( ) 출력하기

by 환풍 2023. 2. 13.
728x90
반응형
이전에 공부했던 JSP와 Servlet을 이용하여 HTML로 화면에 출력하고,
doGet( ) 혹은 doPost( )로 콘솔창에 입력받아보려고한다.

 

HelloServlet.java  

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
31
32
33
34
35
36
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
 
 
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    
    public HelloServlet() {
        super();
        
    }
 
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //html 작성 법.
        PrintWriter p = response.getWriter();
        p.print("hello");
        // 서블릿으로도 화면을 구현할 수 있다는 걸 보여줌.
        // 서블릿으로는 불편해서 html로 안쓴다. 
        System.out.println("doget() 메소드 실행");
    }
 
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doPost() 메소드 실행");
        
    }
 
}
 
cs

서블릿으로도 HTML을 작성할 수 있지만, 굉장히 불편해서 사용하지 않는다.

 

hello.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<a href="HelloServlet">페이지 이동</a> <br>
 
<form action="HelloServlet" method="post">
    
    <input type="submit" value="페이지 이동">
</form>
</body>
</html>
cs

11번째의 코드 줄에서 보이는 href="HelloServlet"에 이동 할 페이지명에 확장자가 붙어있지 않으면,

이동하고자 하는  입력값과 똑같은 이름의 servlet으로 이동한다.

페이지가 이동되어 servlet이 실행되면 doGet( ), doPost( ) 둘 중 하나의 메소드가 실행된다.

form태그의 method 속성값이 post일 경우에만 doPost( )가 실행된다.

이외에는 무조건 doGet( ) 메소드가 실행된다.

결과 화면

728x90
반응형

댓글