2024-10-03 00:31:58

Servlet

- JSP 표준이 나오기 전에 만들어진 표준

- Java에서 웹 어플리케이션을 개발 할 수 있도록 하기 위해 만들어짐

- Java 클래스를 뭽에서 호출 및 실행할 수 있도록 한 표준

- Javax.Servlet.HttpSerVlet을 상속받아 작성

 

SerVlet 호출 과정

GET

  • 주소에 매개변수가 붙어서 호출하는 방식 (?으로 구분)
  • <a> 태그를 이용해서 페이지를 호출하는 경우
  • 자바스크립트를 이용해서 호출하는 경우
  • <form> 태그에서 명시적으로 GET방식으로 호출하는 경우
  • 데이터는 최대 255자 이내이며, 보안성이 취약
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<br>
<h1>get 방식으로 부르는 페이지 입니다.</h1>
<br>
 
<form action = "HelloWorld" method = "get">
    <input type = "submit" value ="확인"> 
</form>
 
 
 
</body>
</html>
cs

POST

  • = <form> 태그에서 명시적으로 POST방식으로 호출하는 경우
  • = 주소에 매개변수가 붙어있지 않아 보안성이 우수
  • = 데이터의 크기에 제한이 없음.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<h1>post 방식으로 부르는 페이지입니다.</h1>
<br>
 
<form action="HelloWorld" method="post">
    <input type="submit" value="확인">
</form>
 
</body>
</html>
cs

 


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
37
package week2;
 
import java.io.IOException;
import java.io.PrintWriter;
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("/HelloWorld"// action이 여기에 있는 내용을 찾음
public class HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    public HelloWorld() {
        super();
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // get 방식으로 호출한 경우 실행하는 메소드
        response.setContentType("text/html; charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>Hello World Servlet doGet() 페이지입니다.</h1>");
        out.println("</body></html>");
        out.close();
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       // post 방식으로 호출한 경우 실행하는 메소드
        response.setContentType("text/html; charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>Hello World Servlet doPost() 페이지입니다.</h1>");
        out.println("</body></html>");
        out.close();
    }
}
cs

 

결과

 

 

response.setContentType("text/html;Charset=utf-8"); 

request.setCharacterEncoding("utf-8");

// Post방식으로 매개변수를 줄 때 반드시 써줘야 한다.

 

 

 

'JSP공부' 카테고리의 다른 글

표현 언어 Expression Language  (0) 2024.10.04
JavaBeans 자바빈  (0) 2024.10.04
JSP 액션 태그  (1) 2024.10.03
JSP  (1) 2024.10.03
JSP 개요  (1) 2024.10.02