JSP

request 객체 연습

소힌 2022. 3. 17. 22:03
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>폼 연습하기 </title>
</head>
<body>

	<form action="./viewParameter.jsp" method="post">
		이름 :<input type="text" name="name" size="10"> <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" name="전송">



	</form>





</body>
</html>

 

<%@page import="java.util.Map"%>
<%@page import="java.util.Enumeration"%>
<%@page import="com.sun.jmx.snmp.EnumRowStatus"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>

<%
	request.setCharacterEncoding("utf-8");
%>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>요청 파라미터 출력</title>

</head>
<body>

	<b>request.getParameter()메서드 사용</b>
	<br> name 파라미터 =
	<%=request.getParameter("name")%>
	address 파라미터 =
	<%=request.getParameter("address")%>
	<p>
		<b>request.getParameterValues()메소드 사용</b><br>
		<%
			String[] values = request.getParameterValues("pet");
		if (values != null) {
			for (int i = 0; i < values.length; i++) {
		%>
		<%=values[i]%>
		<%
			}
		}
		%>
	
	<p>
		<b>request.getParameterNames()메소드 사용 </b><br>
		<%
			Enumeration paramEnum = request.getParameterNames();

		while (paramEnum.hasMoreElements()) {
			String name = (String) paramEnum.nextElement();
		%>
		<%=name%>

		<%
			}
		%>
	
	<p>
		<b>request.getParameterMap()메서드 사용</b><br>
		<%
			Map parameterMap = request.getParameterMap();
		String[] nameParam = (String[]) parameterMap.get("name");
		if (nameParam != null && !nameParam[0].equals("댕댕")) {
		%>
		name =
		<%=nameParam[0]%>
		<%
			} else if (nameParam[0].equals("댕댕")) {
		%>

		name = 아무것도 없습니다
		<%
			}
		%>
	
</body>
</html>

 

 

 

웹 브라우저는 get 방식과 post 방식 중 하나를 이용해서 파라미터를 전송한다 

get과 post 방식의 차이점은 

get 방식은 요청 url에 파라미터를 붙여서 전송한다 

 

http://localhost:8080/test/viewParameter.jsp?name=%E3%85%87%E3%85%87%E3%85%87&address=%E3%85%87%E3%85%87%E3%85%87%E3%85%87&pet=pig&%EC%A0%84%EC%86%A1=%EC%A0%9C%EC%B6%9C

 

get 형식으로 바꾸면 이렇게 나옴 

 

get 형식은 url 쿼리 문자열로 전송되기 때문에 만들어 놓은 form에 직접 입력하지 않더라도 

주소창에서 파라미터를 전송할 수 있다