728x90
반응형
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- src/main/webapp/ch03/requestForm.jsp --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--
submit 버튼 클릭 :
1. submit 버튼이 속한 form 객체에 onsubmit 이벤트 발생. => 구현 안되었으므로 무시됨.
2. form 객체 action 속성에 등록된 페이지로 서버에 요청.
=> form 객체의 하위의 입력태그들의 값들을 가지고 요청됨.
파라미터 : <input type="..." name="파라미터 이름"> ...
String request.getParameter("파라미터 이름") : 파라미터에 입력(선택)된 값을 한개만 리턴
method="post/get"
get : 전송 될 파라미터들이 url을 통해서 전송. 보안에 취약.
post : 전송 될 파라미터들이 http 전문(전달되는 문서)의 body 부분으로 전송. url 부분에 보이지 않음.
한글 처리가 안됨. ISO8859 기본 인코딩됨.
=> 인코딩 설정이 필요. request.setCharacterEncoding("UTF-8")
--%>
<h2>request 내장 객체 : 클라이언트의 요청 정보를 저장하고 있는 객체</h2>
<form action="request1.jsp" method="post">
이름 : <input type="text" name="name"><br>
나이 : <input type="text" name="age"><br>
성별 : <input type="radio" name="gender" value="1">남
<input type="radio" name="gender" value="2">여<br>
취미 : <input type="checkbox" name="hobby" value="여행">여행
<input type="checkbox" name="hobby" value="야구">야구
<input type="checkbox" name="hobby" value="축구">축구
<input type="checkbox" name="hobby" value="요리">요리
<input type="checkbox" name="hobby" value="독서">독서<br>
출생년도 : <select name="year">
<%for (int i=1988; i<2001; i++) { %>
<option><%=i %></option>
<%} %> </select>
<input type="submit" value="전송">
</form>
</body>
</html>
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- src/main/webapp/ch03/request1.jsp --%>
<%--
String request.getParamter("파라미터이름") : 파라미터이름에 해당하는 파라미터값 한개 리턴
String[] request.getParamterValues("파라미터이름") : 파라미터이름에 해당하는 파라미터값 여러개를 배열로 리턴
Enumeration request.getParameterNames() : 요청객체에 존재한느 모든 파라미터 이름을 리턴
--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>전송된 파라미터 값 출력</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8"); //파라미터값을 인코딩. 한글인식을 위한 설정
String name = request.getParameter("name"); //abc
String age = request.getParameter("age"); //20
String gender = request.getParameter("gender"); //1
String hobby = request.getParameter("hobby"); //여행
String year = request.getParameter("year"); //1994
%>
이름 : <%=name %><br>
나이 : <%=age %><br>
성별 : <%=gender %><br>
취미 : <%=hobby %><br>
출생년도 : <%=year %><br>
<hr>
<h3>모든 취미 정보 조회하기</h3>
<%
String[] hobbies = request.getParameterValues("hobby");
for(String h : hobbies) {
%>
<%=h %>
<%} %>
<hr>
<h3>모든 파라미터 정보 조회하기</h3>
<table><tr><td>파라미터이름</td><td>파라미터값</td></tr>
<%
//Enumeration : 반복자. Iterator의 구버전
Enumeration e = request.getParameterNames(); //파라미터이름 목록
while(e.hasMoreElements()) {
String pname = (String)e.nextElement(); //파라미터이름 한개
String[] values = request.getParameterValues(pname); //파라미터의 값들 리턴
%>
<tr><td><%=pname %></td>
<td>
<%for (String v : values) {%>
<%=v %>
<%} //for구문의 끝 %>
</td></tr>
<% } //while구문의 끝 %>
</table>
</body>
</html>
728x90
반응형
'study > Jsp' 카테고리의 다른 글
[Jsp] 8. response 객체 예제 : 응답객체 (0) | 2022.04.06 |
---|---|
[Jsp] 7. Exam1 (합계 계산하기) (0) | 2022.04.06 |
[Jsp] 6. 스크립트 예제 (스크립트릿<% %>, 표현식<%= %>) (0) | 2022.04.06 |
[Jsp] 5. include 지시어 (include file) (0) | 2022.04.06 |
[Jsp] 4. page 디렉티브 (language="java", contentType, pageEncoding, import) (0) | 2022.04.06 |