-
JSP/Servlet 이론(2)JSP Servlet 2022. 4. 29. 14:57
<데이터 전송 : 3가지 조건>
데이터를 전송하기 위해 사용하는 태그? <form> 태그
1) action 값을 어디로 보낼지
2) name 어떤 값을 보내는지
3) submit 값을 보내는 시점
<form "action" >
ID : <input type="text" "name">
PW : <input type="text" "name">
<input "submit" value = "login">
</form>ch2. 데이터 전송방식(Get/Post)
(1) GET : 데이터 조회 요청
- URL에 데이터를 포함시켜 요청
- 데이터를 패킷의 Header(헤더)에 포함하여 전송
- 전송하는 데이터의 길이에 한계(브라우저에서 제한)
- 보안에 취약
- 캐싱할 수 있음
Query String이란?
사용자가 입력한 데이터를 URL 주소 뒤에 함께 제공하는 방법
ex) http://localhost:8081/test/servlet?키1=값&키2=값2
(2) POST : 데이터 생성 요청
- URL에 데이터를 노출하지 않고 요청
- 데이터를 패킷의 Body(바디)에 담아서 전송
- 전송하는 데이터의 길이에 제한 없음
- 보안에 강함
- 캐싱할 수 없음
- 링크공유x
ex) localhost:8082/1014/ex05login-----> 주의할 점 --> request.setCharacterEncoding잡아줘야 한글 인코딩 가능!!!
(3) PUT : 데이터 수정 요청
(4) DELETE : 데이터 삭제 요청* 참고
tomcat 8버전 이상부터는 get방식의 한글 인코딩이 자동으로 UTF-8로 잡혀져 있음
tomcat 8보다 낮은 버전을 사용한다면
Sercers폴더 - server.xml - Connector 태그를 찾아서 속성으로 URIEncoding = "인코딩 방식"Servlet
- 요청 객체 : request
- 응답 객체 : response
- 화면에 출력스트림 : PrintWriter
----> response.getWriter()
- 한글 인코딩 : response.setCharacterEncoding
: response.setContentType- Servlet에서 데이터 받아오는 방법
: request.getParameter("name값")
--> 리턴타입 무조건 String
: request.getParameterValues("name값")
--> 값이 여러개일때 , 리턴타입 String[]<정리>
Servlet
- java언어 기반
- multi thread
- HttpServlet 상속
데이터전송 3가지 조건
1) action : 어디로 보낼건지
2) name : 어떤 값을 보낼건지
3) submit : 언제보낼건지
<form action = "ex01DataSend">
<input type = "text" name = "data">
<input type = "submit">
</form>
1. Servlet에서 데이터를 가져오기
String data = request.getParameter("data");
2. Servlet에서 웹페이지 출력
2-1) 출력스트림 가져오기
PrintWriter out = response.getWriter();
2-2) 출력하기
out.print(data);
2-3) 인코딩
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=")
---> 출력스트림 꺼내기 전에 완성할 것
데이터 전송방식
1) Get
: 패킷의 헤더에 데이터를 전송
: url 데이터가 붙어서 전송!
: 길이에 제한이 있다.(1024byte)
: 보안에 취약
: 캐싱이 가능
2) Post
: 패킷의 바디에 데이터를 담아 전송
: 길이에 제한이 없다
: 보안상으로 좋다.
: url 공유할 수는 없다.
form태그의 action 속성값으로 전송방식 지정
*post 방식으로 전송할 때 인코딩 추가*
request.setCharacterEncoding("UTF-8");
---> 데이터 가져오기 전에 작성할 것
https://localhost:8081:/www.~~?data=temp
--> QueryString
**데이터가 여러개였을때
String[] data = request.getParameterValues("hobby")
3) Put
4) Delete'JSP Servlet' 카테고리의 다른 글
JSP 실습(2) (0) 2022.05.02 JSP 실습(1) (0) 2022.05.02 Servlet 실습(2) (0) 2022.04.29 Servlet 실습(1) (0) 2022.04.28 JSP/Servlet 이론(1) (0) 2022.04.28