반응형

 

request객체 - post방식
08_05_01_form.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 	<form action="08_05_01_formParameter.jsp" method="post"> -->
<!-- 	<form action="08_03_requestInfo.jsp" method="post"> -->
	<form action="08_03_requestInfo.jsp?id=admin" method="post">
<!-- 					ㄴkey=value 쿼리스트링방식 -->
<!-- 파라미터 key 대소문자 가린다 -->
		이름: <input type="text" name="name" size="30"><br>
		주소: <input type="text" name="address" size="30"><br>
		좋아하는 동물:
		<input type="checkbox" name="pet" value="dog">강아지
		<input type="checkbox" name="pet" value="cat">고양이
		<input type="checkbox" name="pet" value="pig">돼지
		<br>
		<input type="submit" value="전송">
	</form>
</body>
</html>
08_05_01_formParameter.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ page import="java.util.Enumeration, java.util.Map" %>
<!-- request의 데이터영역에 저장된 데이터(post방식)의 인코딩만 설정할 때 사용함. -->
<!-- get방식은 인코딩 안됨. get방식은 방식에 따라 웹페이지의 인코딩이나 브라우저의 인코딩으로 적용됨 -->
<% request.setCharacterEncoding("utf-8"); %>
	
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>request객체의 파라미터를 가져오는 메서드 종류</h1>
	<b>request.getParameter() : </b> 한 개의 인자값만을 가져오는 경우 사용한다.<br><br>
	name 파라미터 = <%= request.getParameter("name") %><br>
	address 파라미터 =<%=request.getParameter("address") %><br><br>
	<hr><br>
	<b>request.getParameterValues() : </b> 여러 개의 인자값을 가져오는 경우 사용한다.
	배열 객체를 이용하여 받을 수 있다.<br><br>
	<%
	String[] values = request.getParameterValues("pet");
	if(values!=null) {
		for(int i = 0; i < values.length; i++){
			out.println(values[i]);
		}
	}
	%>
	<hr><br>
	<b>request.getParameterNames() :</b> 인자값에 매칭되어 있는 name속성값을 가져온다.
	동일한 속성명은 1개만 가져온다. <br><br>
	<%
	int i=0;
	Enumeration paramEnum = request.getParameterNames();
// 	Enumeration : 값을 가져와서 붙여준다.(자료형 미지성시 object로 가져와짐
// 	getParameterNames : 요소들만 떼와라
	while(paramEnum.hasMoreElements()){ //떼어올 요소들이 있는지?
		i++;
		String name = (String) paramEnum.nextElement();
		out.println("폼 요소의 name속성명 [" + i + "번]" + name + "<br>");
	}
	%>
</body>
</html>
08_03_requestInfo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%-- <% request.setCharacterEncoding("utf-8"); %> --%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>현재페이지 url: http://localhost:8090/jspfirst/08_03_requestInfo.jsp</h2>
	<!--경로(path): 			ㄴ웹서버			ㄴcontext(project단위) -->
	<h3>프로토콜 : http</h3>
	<h3>ip주소(=서버이름) : 127.0.0.1(localhost)</h3>
	
	<h3>포트번호 : 8090</h3>
	<h3>경로(path) : /jspfirst/08_03_requestInfo.jsp</h3>
	
	<dl>
		<dt><strong style="font-weight:bolder">localhost정보</strong></dt>
		<dd>IPv4 주소 형식 값으로 표시: 127.0.0.1</dd>
	</dl>
	
	<ul>
		<li>요청정보 인코딩 = <%= request.getCharacterEncoding() %><br>
		<!--request: jsp에서 제공하는 객체. java에서 접근불가 -->
			<small style="color:red">클라이언트가 전송한 요청 정보의 문자셋을 구함. String으로 반환</small>
		</li>
		<li>
			파라미터 정보1= <%=request.getParameter("id") %><br>
			파라미터 정보2= <%=java.net.URLDecoder.decode(request.getParameter("name"))%><br>
			파라미터 정보3= <%=request.getParameter("name")%><br>
		</li>
	</ul>
</body>
</html>
08_05_01_form.jsp
08_05_01_formParameter.jsp

08_05_01_form.jsp
요청을 주는 곳
[request객체] Parameter부분 post방식 08_05_01_formParameter.jsp
요청을 받는 곳
<form action="08_05_01_formParameter.jsp" method="post"> request.setCharacterEncoding("UTF-8") - 데이터가 깨지지 않도록 인코딩
"utf-8" 대소문자 상관x
파라미터(name)    값(value) request.getParameter("name");
request.getParameter("address")
request.getParameterValues("pet")
name
address
pet
"홍길동"
"안양시"
"dog", "cat"
조쌤 그림

 

반응형

+ Recent posts