본문 바로가기
개발/JSP

[JSP] 내장 객체

by 두리두리안 2021. 4. 4.

1. request 객체 

request객체는 웹 브라우저에서 JSP페이지로 전달되는 정보의 모임으로 HTTP헤더와 HTTP바디로 구성

웹 컨테이너는 요청된 HTTP메시지를 통해 HttpServlet Request객체를 얻어내고, 이 객체로 부터 사용자의 요구사항을 얻어낸다. 

 

유형  내용
getParameter(name) : String  파라미터 변수 name에 저장된 변수를 얻어내는 메소드로, 이때 변수의 값은 String으로 리턴된다. 
getParameterValues(name) : String [] 파라미터 변수 name에 저장된 모든 변수값을 얻어내는 메소드로, 이때 변수의 값은 String 배열로 리턴된다. checkbox에서 주로 사용된다.
 getParameterNames() : Enumeration  요청에 의해 넘어오는 모든 파라미터 변수를 java.util.Enumeration 타입으로 리턴한다.

requestTestForm

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>내장객체 예제</title>
</head>
<body>
	<h2>학번,이름,학년,선택과목을 입력하는 폼</h2>
	<form method="post" action="requestTestPro.jsp">
		학번: <input type="text" name="num"><br>
		이름: <input type="text" name="name"><br>
		학번 :
		     <input type="radio" name="grade" value="1" checked>1학년&nbsp;
		     <input type="radio" name="grade" value="2" checked>2학년
		     <input type="radio" name="grade" value="3" checked>3학년
		     <input type="radio" name="grade" value="4" checked>4학년
		선택과목:
		<select name="subject">
			<option value="JAVA">JAVA</option>
			<option value="JSP">JSP</option>
			<option value="React">React</option>
			<option value="Vue">Vue</option>
		</select><br/>
		<input type="submit" value="입력완료">
	</form>
</body>
</html>

requestTestPro

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("utf-8"); %>
<%
String num = request.getParameter("num");
String name = request.getParameter("name");
String grade = request.getParameter("grade");
String subject = request.getParameter("subject");
%>
<h2>학생정보</h2>
<table border="1">
	<tr>
		<td width="150">학번</td>
		<td width="150"><%=num %></td>
	</tr>
	<tr>
		<td width="150">이름</td>
		<td width="150"><%=name %></td>
	</tr>
	<tr>
		<td width="150">학년</td>
		<td width="150"><%=grade %></td>
	</tr>
	<tr>
		<td width="150">선택과목</td>
		<td width="150"><%=subject %></td>
	</tr>
</table>

 


2. response 객체 

response객체는 웹 브라우저로 응답할 응답 정보를 가지고 있다. 

웹브라우저에 보내는 응답 정보는 HttpServletResponse 객체를 사용하는데, JSP에서는 response객체는 사용 

 

유형 내용
   
   
   

responseRedirect

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Response 내장객체</title>
</head>
<body>
	<h2>Response내장객체 - 리다이렉트 예제</h2>
	현재 페이지는 <b>ResponseRedirect.jsp</b>페이지 입니다.
	
	<%
	response.sendRedirect("responseRedirected.jsp");
	/* .jsp페이지로 제어를 이동시킨다 */
	/* 즉 페이지에 .jsp페이지가 표시 */
	%>
</body>
</html>

responseRedirected

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Response내장 객체</title>
</head>
<body>
	<h2>리다이렉트된 페이지 - ResponseRedirectd.JSP</h2>
	지금 보시는 페이지는 <b>responseRedirectd.jsp</b>페이지 입니다.
</body>
</html>


3. out 객체 

out객체는 JSP페이지가 생성한 결과를 웹 브라우저에 전송해 주는 출력 스트림이며, JSP페이지가 웹브라우저에게 보내는 모든 정보는 out객체를 통해 전송

 

표현식(<%= %>)과 out.println()은 둘 다 브라우저에 출력 시키는 똑같은 역할을 수행 한다. 

표현식(<%= %>)는 스트립트릿(<% %>)안에 쓸수 없다. 

 

outTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>out 내장객체</title>
</head>
<body>
 	<h2>out내장 객체</h2>
 	<%
 	String name = "두리안";
 	out.println("출력되는 내용은 <b>" +name+"</b>입니다.");
 	%>
 	<h2>위와 같은 내용 출력  - 표현식</h2>
 	출력되는 내용은 <b><%=name %></b> 입니다.
</body>
</html>


4. pageContext 객체 

pageContext 내장 객체는 현재 JSP페이지의 콘텍스트를 나타내며, 주로 다른 내장객체를 구하거나 페이지의 흐름 제어

그리고 에러데이터를 얻을 때 사용

 

pageContext객체를 이용하여 out객체르 얻는 방법

JspWriter outObject = pageContext.getOut();

5. session 객체 

session 내장객체는 웹브라우저의 요청시, 요청한 웹 브라우저에 관한 정보를 저장하고 관리하는 내장객체이다. 

session 내장객체는 웹 브라우저(클라이언트)당 1개가 할당. 

따라서 주로 회원관리 시스템에서 사용자 인증에 관련된 작업을 수행할 때 사용 


6. application 객체 

웹 애플리케이션의 설정 정보를 갖는 context와 관련이 있는 객체로 웹 애플리케이션과 연관이 있다.

실행되는 서버의 설정 정보 및 자원에 대한 정보를 얻거나, 애플리케이션이 실행 되고 있는 동안 발생할 수 있는 이벤트 로그 정보와 관련된 기능들을 제공

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>application 내장객체</title>
</head>
<body>
	<h2>application 내장객체</h2>
	<%
	String info=application.getServerInfo();
	String path=application.getRealPath("/");
	application.log("로그기록 : ");
	%>
	
	웹 컨테이너의 이름과 버전: <%=info %><p>
	웹 애플리케이션 폴더의 로컬 시스템경로 : <%=path %>
</body>
</html>

 

'개발 > JSP' 카테고리의 다른 글

[JSP] 에러 처리  (0) 2021.04.05
[JSP] 액션 태그  (0) 2021.04.05
[JSP] 페이지의 연산자, 제어문, 및 한글처리  (0) 2021.04.04
[JSP] 페이지의 스크랩트 요소  (0) 2021.04.03
[JSP] 디렉토리  (0) 2021.04.03