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에 직접 입력하지 않더라도
주소창에서 파라미터를 전송할 수 있다