728x90
반응형
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"
728x90
반응형