JSP에서 제공하는 객체

  • request, response, out, session, application, pageContext, page, config, exception

  • request, session, application, pageContext 내장 객체는 속성(attribute) 값을 저장하고 읽을 수 있는 메소드인 setAttribute()메소드와 getAttribute() 메소드를 제공


request 객체

  • 웹 브라우저의 요청 정보를 저장하고 있는 객체
  • 입력폼에 입력한 사용자의 요구 사항을 얻어낼 수 있도록 요청 메소드를 제공


사용자의 요구 사항을 얻어내는 요청 메소드

  • String getParameter(name)
    • 파라미터 변수 name에 저장된 변수 값을 얻어내는 메소드
  • String[] getParameterValues(name)
    • 파라미터 변수 name에 저장된 모든 변수 값을 얻어내는 메소드
  • Enumeration getParameterNames()
    • 요청에 의해 넘어오는 모든 파라미터 변수를 java.util.Enumeration 타입으로 리턴
  • 요청된 파라미터 값 외에도 웹 브라우저와 웹 서버의 정보도 가져올 수 있음
  • 웹 브라우저, 웹 서버 및 요청 헤더의 정보를 가져올 때 사용되는 메소드
    • String getProtocol()
      • 웹 서버로 요청 시 사용중인 프로토콜 리턴
    • String getServerName()
      • 웹 서버로 요청 시 서버의 도메인 이름을 리턴
  • 사용자의 요구 사항을 얻어내는 요청 메소드
    • String getMethod()
      • 웹 서버로 요청 시 요청에 사용된 요청 방식(GET,POST,PUT등)을 리턴
    • String getQueryString()
      • 웹 서버로 요청 시 요청에 사용된 QueryString을 리턴
    • String getRequestURI()
      • 웹 서버로 요청 시 요청에 사용된 URL로부터 URI값을 리턴
    • String getRemoteHost()
      • 웹 서버로 정보를 요청한 웹 브라우저의 호스트 이름을 리턴
  • 사용자의 요구 사항을 얻어내는 요청 메소드
    • String getRemoteAddr()
      • 웹 서버로 정보를 요청한 웹 브라우저의 IP 주소를 리턴
    • String getServerPort()
      • 서버의 Port 번호를 리턴
    • String getContextPath()
      • 해당 JSP 페이지가 속한 웹 애플리케이션의 컨텍스트 경로를 리턴
    • String getGeader(name)
      • HTTP 요청 헤더 이름 name에 해당하는 속성 값을 리턴
    • Enumeration getGeaderNames()
      • 웹 서버로 요청 시 HTTP 요청 헤더에 있는 모든 헤더 이름을 리턴



request 관련 간단한 예제

requestTestForm1.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>request</title>
</head>
<body>
<h2>request - 요청 메소드</h2>
<form action="requestTest1.jsp" method="post">
<dl>
	<dd>
		<label for="name">이름</label>
		<input type="text" id="name" name="name" placeholder="홍길동" autofocus="autofocus" required="required">
	</dd>
	<dd>
		<label for="age">나이</label>
		<input type="number" id="age" name="age" required="required" min="20" max="99" value="20">
	</dd>
	<dd>
		<fieldset>
			<legend>성별</legend>
			<input id="gender" name="gender" type="radio" value="m" checked="checked">
			<label for="gender"></label>
			<input id="gender" name="gender" type="radio" value="f" checked="checked">
			<label for="gender"></label>
		</fieldset>
	</dd>
	<dd>
		<label for="hobby">취미</label>
		<select id="hobby" name="hobby" required="required">
			<option value="잠자기" selected="selected">잠자기
			<option value="무협지보기" selected="selected">무협지보기
			<option value="애니시청" selected="selected">애니시청
			<option value="건프라" selected="selected">건프라
		</select>
	</dd>
	<dd>
		<input type="submit" value="전송">
	</dd>
</dl>
</form>
</body>
</html>



requestTest1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>request 요청 메소드</title>
</head>
<body>
	<h2>request 요청 메소드</h2>
	<% 	
		request.setCharacterEncoding("utf-8");
	
		String name = request.getParameter("name");
		String age = request.getParameter("age");
		String gender = request.getParameter("gender");
		String hobby = request.getParameter("hobby");
		
		if(gender.equals("m")) {
			gender = "남자";
		} else {
			gender = "여자";
		}
	%>
	<%=name %>님의 정보는 다음과 같습니다.<p>
	나이 : <%=age %><br>
	성별 : <%=gender %><br>
	취미 : <%=hobby %><br>
</body>
</html>



결과

Leave a comment