사용자 데이터 전송 방식
✔️ get 방식
- GET 방식은 URL에 데이터를 포함시켜 요청하는 것으로 보안 유지가 불가능하다.
- 따라서 로그인 같은 경우는 GET 방식은 부적합하다.
- GET 방식에서 데이터를 Header에 포함하여 전송하고 Body는 빈 상태로 전송되며 Header의 내용 중에 body의 데이터를 설명하는 content-type 헤더도 포함되지 않는다.
- 데이터 전송 길이 제한이 있다.
- default 값이다.
<방법>
- URL 주소 창에 직접 입력한다.
- <form> 태그 안에서 메소드 방식을(Request Method) get() 으로 보낸다.
- <a></a> 태그를 통한다.
- URL창에 "?" 뒤에 데이터를 입력하는 방법 ( 쿼리 스트링 )
- ? key = value & key = value
- 데이터가 여러 개일 경우 & 로 묶어서 보낸다.
- 데이터 검색에 많이 사용하고 데이터 크기에 한계가 있으며 보안에 취약하다.
✔️ post 방식
- POST 방식은 데이터를 노출하지 않고 요청하는 것으로 보안 유지가 가능하다.
- 데이터를 Body에 포함하여 전송하고 body의 데이터를 설명하는 content-type 헤더가 포함된다. (데이터가 어떤 타입인지 명시가 된다.)
- 데이터 전송 길이 제한이 없다.
서블릿 메소드
✔️ doGet
client에서 데이터 전송 방식을 get 방식으로 전송하면 호출되는 메소드
✔️ doPost
** 반드시 ServletException 처리를 해야한다.**
client에서 데이터 전속 방식을 post 방식으로 전송하면 호출되는 메소드
서블릿 매개변수 객체
✔️ HttpServletRequest
HTTP Servlet을 위한 요청 정보(request information)을 제공한다.
상속 : javax.servlet.ServletRequest
✔️ HttpServletResponse
요청에 대한 처리 결과, 응답에 대한 정보를 담은 객체이다.
상속 : javax.servlet.ServletResponse
[여기까지 중에 가장 중요한 포인트!] ** 우리가 직접 브라우저에서 index.html 파일을 열은 것이 아니라 HTTP 프로토콜을 사용해서 → 네트워크에 연결된 톰캣 서버에게 요청해서 → 톰캣에 올라가 있는 웹 애플리케이션 중에 → 원하는 Context Path를 가지는 프로그램에 접근해서 → 루트(WebContent)에 있는 index.html를 얻어온 것이다. ** index.html을 생략 가능한 이유? : <welcome file> list에 있기 때문에, 디렉터리만 지정해주면 자동으로 해당 파일로 응답하도록 설정되어 있다. : 지워도 모든 xml 파일에 공통적으로 적용되는 web.xml 파일 안에 들어가 있기 때문에 (default 제외) |
'Programming > Servlet' 카테고리의 다른 글
DAY 113. 서블릿 필터, 서블릿 래퍼 (0) | 2021.12.09 |
---|---|
DAY 105. Servlet - 기본 개념 (0) | 2021.12.01 |
DAY 104. Servlet에 앞서 (Web Server VS WAS) (0) | 2021.12.01 |