Get 방식
URL 창에 "?" 뒤에 데이터를 입력하는 방법이다
데이터가 여러 개일 경우 &로 묶어서 보낸다
데이터 검색에 많이 사용하고 데이터 크기에 한계가 있으며
보안이 취약하다는 단점이 존재한다.
localhost:8888/1_Servlet/test.do?userName=&age=20&address=서울&height=160
예시 주소이다.
test.do 바로뒤에 ?가 있는 게 보인다
Get 방식 메소드 정리
protected void doGet(HttpServletRequest request, HttpServletResponse response)
doGet 메소드 :
client에서 데이터 전송 방식을 get 방식으로 전송하면
호출되는 메소드이다
request : 요청 시 전달된 내용들이 담겨져 있다
(사용자가 입력한 값, 요청방식, 요청자의 ip주소등이 있다)
HttpServletRequest request 관련 메소드
requset.getParameter(String) String 타입
client가 보내준 값이
저장된 명칭이 매개변수와 같은 명칭에 저장된 값을
불러오는 메소드
<form action="/1_servlet/test.do" method="get">
<div>
<label for="userName">이름: </label>
<input type="text" id="userName" name="userName">
</div>
</body>
id 특징 유일성 문서 내에서 고유해야 한다
같은 id 값을 가진 요소가 하나만 존재해야 한다
- CSS 및 JavaScript와의 상호작용: CSS에서는 id를 선택자로 사용해 스타일을 지정할 수 있고, JavaScript에서는 특정 요소를 식별해 접근하거나 조작할 때 id를 사용합니다.
- DOM 접근: JavaScript에서 document.getElementById() 메서드를 사용해 id로 요소에 접근할 수 있습니다
name 속성은 폼 데이터를 전송할 때, 해당 데이터를 서버에 제출할 때 사용이 된다
서버에서는 name 속성을 기준으로 데이터를 처리한다
여러개가 동일한 name을 가질 수 있다
체크박스나 라디오 버튼을
같이 같은 그룹으로 처리해야 할 때 유용하다.
getParameter() 사용 예시 :
String userName = request.getParameter("userName");
System.out.println("이름: " + userName);
같은 name 값 즉 여러 개의 키값이 데이터로 전달되는 경우 사용되는 메소드 : getParameterValues
String[] foods = request.getParameterValues("food");
여러 개의 값 예시
<div>
좋아하는 음식 (모두 고르시오):
<input type="checkbox" name="food" value="한식"> 한식
<input type="checkbox" name="food" value="중식"> 중식
<input type="checkbox" name="food" value="일식"> 일식
<input type="checkbox" name="food" value="양식"> 양식
<input type="checkbox" name="food" value="베트남식"> 베트남식
</div>
response :
요청 처리 후 응답할 때 사용되는 객체이다
응답 데이터의 문서형식 및 인코딩 방식 설정하기
:
response.setContentType("text/html; charset=utf-8");
응답 시 사용할 스트림 객체 (응답 페이지 작성할 것임!)
PrintWriter pw = response.getWriter();