객체화 없이 사용할 수 있는 객체이며, JSP파일이 서블릿으로 변환될 때 웹 컨테이너가 자동으로 메모리에 할당하며 제공한다.
우리가 new로 생성자를 호출하지 않아도 이미 WAS라는 친구가 메모리를 할당해주면서 자동으로 얘네들까지 할당을 해준다. 그래서 우리는 사용만 하면 된다. 직접 객체화를 할 필요가 없다. 이미 내장되어 있기 때문에 객체명도 정해져있다. 그걸 통해서 어떤 것들을 해낼 수 있는지를 배워보자.
request
: 웹 브라우저의 요청 정보를 저장
response
: 웹 브라우저의 요청에 대한 응답 정보를 저장
out
: JSP 페이지 body에 출력할 내용 작성 시 사용
session
: 하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장
pageContext
: JSP 페이지에 대한 정보를 저장. 현재 페이지가 어디에서 작업 중인지 그 경로를 나타내는 데에 많이 쓰인다.
exception
: JSP 페이지에 예외가 발생한 경우 사용되는 객체
예제를 통해 알아보자. js이용. on : 클릭시 이벤트가 발생
send()라는 함수 이용
name과 birthday에 값 입력이 없으면 css와 placeholder를 띄운다.
박스를 다시 클릭하면 지워진다. -> removeAttr 사용
<%@ 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="object_ok.jsp" name="join">
<fieldset>
<legend>개인 정보</legend>
<input type="text" name="name">
<input type="date" name="birthday">
<input type="button" value="확인" onclick="send()">
</fieldset>
</form>
</body>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$("input[name='name']").on("click", function(){
$(this).removeAttr("style");
$(this).removeAttr("placeholder");
});
$("input[name='birthday']").on("click", function(){
$(this).removeAttr("style");
});
function send(){
var frm = document.join;
if(!frm.name.value){
$("input[name='name']").css("border-color", 'red');
$("input[name='name']").attr("placeholder", '성함을 입력하세요');
return;
}
if(!frm.birthday.value){
$("input[name='birthday']").css("border-color", 'red');
return;
}
frm.submit();
}
</script>
</html>
request 내장객체 이용
<%@ 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>내장 객체 request 예제</title>
</head>
<body>
<table border="1">
<tr>
<th>이름</th>
<th>생일</th>
</tr>
<tr>
<td><%=request.getParameter("name")%></td>
<td><%=request.getParameter("birthday") %></td>
</tr>
</table>
</body>
</html>
request.getParameter("name")
request.getParameter("birthday")
사용자한테 요청받은 데이터들. 그 사람이 요청하기 전에 입력한 데이터들을 input 태그의 name의 value와 동일하게 써주면 통째로가 사용자가 입력한 이름값 생일값이 되는 것
이름 | 생일 |
---|---|
<%=request.getParameter("name")%> | <%=request.getParameter("birthday") %> |