Servlet_03_데이터 전송방식
- HTTP: 인터넷 상에서 데이터를 주고받기 위한 서버/클라이언트 모델을 따르는 전송 프로토콜
2. GET 방식
- url에 데이터를 얹어서 전송
- 데이터 길이에 제한(1024byte)
- url에 데이터가 노출되어 상대적으로 보안에 취약
- method 속성에 따로 작성하지 않으면 기본값으로 적용
- post 방식보다 전송속도가 빠름
→캐시(임시저장소)에 저장하기 때문에 같은 페이지를 다시 불러올 때 데이터를 다시 로딩하지 않아도 돼서 속도가 빠름
데이터 전송 전
데이터 전송 후
3. POST 방식: 대용량 데이터, 이미지
- 패킷의 body에 담아서 데이터 전송
- 데이터의 길이에 제한 없음
- 데이터가 노출되지 않기 때문에 get방식에 비해 보안에 강함
- method 속성에 post라고 명시해야 함(html 문서 body태그에서)
- Body에 들어가는 데이터의 Content Type을 명시해야 함
-Application/x-www.form-urlencoded: 기본값 ->데이터를 key=value 형태로 전송
-text/plain: 일반 txt 형태로 전송
-multipart/form data: 파일 전송
데이터 전송 전
데이터 전송 후
4. get/post 인코딩 /디코딩 방식
-get방식의 경우: tomcat 9.0버전에서 한글 인코딩이 기본값으로 설정되어 있어서 별도로 지정할 필요가 없다.
-post 방식의 경우: 데이터를 보내는 곳의 인코딩 방식과 데이터를 받는 곳의 인코딩 방식이 같아야 함
*개발자 도구에서 get/post 확인: F12-network-새로고침-headers
5. service(): 서버에 요청한 방식에 따라 doGet(), doPost(), 서비스 메소드는 모두 포함
-인코딩: 문자→코드
-디코딩: 코드→문자
[실습]post 방식 실습
//1. post 방식 인코딩
request.setCharacterEncoding("UTF-8");
//2. 데이터 가져오기
-단일선택값은 request.getParameter;
-다중선택값은 request.getParameterValues();
//3. web에 출력
response.getWriter;
//4. 배열은 for문 사용하여 출력
'JSP&Servlet' 카테고리의 다른 글
[JSP]3. MVC 패턴으로 JDBC 만들기 (0) | 2023.06.22 |
---|---|
[JSP]2. 내장객체 (0) | 2023.06.21 |
[JSP]1. JSP의 구성요소 (0) | 2023.06.20 |
[Servlet]2. 데이터 전송(get방식) (0) | 2023.06.19 |
[Servlet]1. 웹 통신 (0) | 2023.06.16 |