티스토리 뷰

Servlet

GET/POST 전송 방식

dev23 2024. 8. 11. 14:12
반응형

- GET 방식 : URL 주소에 데이터를 붙여서 전송하는 방식

- POST 방식 : 전송하는 데이터를 숨겨서 전송하므로 보안성이 좋음.

 

GET방식 POST 방식
- 서블릿에 데이터를 전송할 때는 데이터가 URL 뒤에
name=value 형태로 전송된다.
- 여러 개의 데이터를 전송할 때는 '&' 구분해서 전송된다.
- 보안에 취약.
- 전송할 있는 데이터는 최대 255
- 기본 전송 방식이고 사용이 쉽다.
- 브라우저에 직접 입력해서 전송할 수도 있다.
- 서블릿에서는 doGet()으로 전송된 데이터를 처리한다.
- 서블릿에 데이터를 전송할 때는 TCP/IP 프로토콜
데이터의 HEAD 영역에 숨겨진 전송된다.
- 보안에 유리함.
- 전송 데이터 용량이 무제한이다.
- 전송 서블릿에서는 또다시 가져오는 작업을 해야 하므로
처리 속도가
 GET 방식보다 느림.
- 서블릿에서는 doPost() 이용해 데이터를 처리.

 

GET 방식과 POST 방식 요청 동시 처리

 

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class GetPost
 */
@WebServlet("/handling")
public class GetPost extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doGet 메서드 호출");
		doHandle(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("doPost 메서드 호출");
		doHandle(request, response);
	}
	
	private void doHandle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
		request.setCharacterEncoding("utf-8");
		String userId = request.getParameter("user_id");
		String userPw = request.getParameter("user_pw");
		
		System.out.println("doHandle 메서드 호출");
		System.out.println("아이디 : " + userId);
		System.out.println("비밀번호 : " + userPw);
	}

}

 

- doGet()이나 doPost() 메서드로 처리한 후 다시 doHandle()을 호출해서 처리한다.

반응형

'Servlet' 카테고리의 다른 글

DataSource를 이용한 DB 연동  (0) 2024.08.11
서블릿 - 비즈니스 로직 처리  (0) 2024.08.11
서블릿 - 응답  (0) 2024.08.11
서블릿 - 클라이언트 요청 얻기  (0) 2024.08.11
서블릿의 기능  (0) 2024.08.11
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함