request 객체
: 클라이언트가 전송한 요청 정보를 담고 있는 객체
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head><title>내장 객체 - request</title></head>
<body>
<!--GET 방식으로 요청-->
<a href="./RequestWebInfo.jsp?eng=Hello&han=안녕">
GET 방식 전송
</a>
<br />
<!--POST 방식으로 요청-->
<form action="RequestWebInfo.jsp" method="post">
영어 : <input type="text" name="eng" value="Bye" /><br />
한글 : <input type="text" name="han" value="잘 가" /><br />
<input type="submit" value="POST 방식 전송" />
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head><title>내장 객체 - request</title></head>
<body>
<h2>1. 클라이언트와 서버의 환경정보 읽기</h2>
<ul>
<li>전송된 값 1 : <%= request.getParameter("eng") %></li>
<li>전송된 값 2 : <%= request.getParameter("han") %></li>
</ul>
</body>
</html>
<%= request.getParameter("name값") %>
으로 전달된 값을 받을 수 있음!
response
: 페이지 이동 redirect, HTTP 헤더에 응답 헤더 추가
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head><title>내장 객체 - Response</title></head>
<body>
<%
String id = request.getParameter("user_id");
String pwd = request.getParameter("user_pwd");
if (id.equalsIgnoreCase("must") && pwd.equalsIgnoreCase("1234")) {
response.sendRedirect("ResponseWelcome.jsp");
}
else {
request.getRequestDispatcher("ResponseMain.jsp?loginErr=1")
.forward(request, response);
}
%>
</body>
</html>
1번 방식
response.sendRedirect("이동할페이지");
2번 방식
request.getRequestDispatcher("이동할페이지").forward(request, response);
2번 방식은 데이터도 전달 가능!
out 객체
: 값을 브라우저에 출력
보통 out보단 표현식<%= %>을 많이 쓰지만
스크립틀릿<% %> 내에서 변수를 웹 브라우저에 출력해야한다면 out 사용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head><title>내장 객체 - out</title></head>
<body>
<%
// 버퍼 내용 삭제하기
out.print("출력되지 않는 텍스트"); // 버퍼에 저장
out.clearBuffer(); // 버퍼를 비움(윗 줄의 출력 결과 사라짐)
out.print("<h2>out 내장 객체</h2>");
// 버퍼 크기 정보 확인
out.print("출력 버퍼의 크기 : " + out.getBufferSize() + "<br>");
out.print("남은 버퍼의 크기 : " + out.getRemaining() + "<br>");
out.flush(); // 버퍼 내용 출력
out.print("flush 후 버퍼의 크기 : " + out.getRemaining() + "<br>");
// 다양한 타입의 값 출력
out.print(1);
out.print(false);
out.print('가');
%>
</body>
</html>
application 객체
: web.xml에 설정해서 읽어옴
<%= application.getInitParameter("파람네임") %>
이렇게 하면 param-value값이 출력됨!
exception 객체
: 예외 처리
int status = response.getStatus();
해당 오류 코드에 맞게 출력됨