내장 객체 속성 값 출력 실습
먼저 request, session, application 내장 객체에 바인딩된 속성 값을 표현 언어를 이용해 JSP에서 출력해 보겠습니다.
1. 첫 번째 JSP인 forward1.jsp를 다음과 같이 작성합니다. 브라우저에서 요청 시 request, session, application 내장 객체에 회원 정보를 바인딩한 후 다시 member1.jsp로 포워딩합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
request.setAttribute("id", "hong");
request.setAttribute("pwd", "1234");
request.setAttribute("name", "홍길동");
application.setAttribute("email", "hong@test.com");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forward</title>
</head>
<body>
<jsp:forward page="member1.jsp" />
</body>
</html>
2. 두 번째 JSP인 member1.jsp를 다음과 같이 작성합니다. 우선 첫 번째 방법으로 getAttribute() 메서드에 속성 이름을 인자로 하여 값을 가져옵니다. 그리고 두 번째 방법으로 표현 언어에서 자바 코드를 사용하지 않고 바로 속성 이름으로 회원 정보를 가져와 출력합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%
request.setCharacterEncoding("UTF-8");
String id = (String) request.getAttribute("id");
String pwd = (String) request.getAttribute("pwd");
String name =(String) request.getAttribute("name");
String email = (String) application.getAttribute("email");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 정보 출력창</title>
</head>
<body>
<table border="1" align="center" >
<tr align="center" bgcolor="#99ccff">
<td width="20%"><b>아이디</b></td>
<td width="20%"><b>비밀번호</b></td>
<td width="20%" ><b>이름</b></td>
<td width="20%"><b>이메일</b></td>
</tr>
<tr align="center">
<td><%=id %> </td>
<td><%=pwd%> </td>
<td><%=name %> </td>
<td><%=email %> </td>
</tr>
<tr align="center">
<td>${id} </td>
<td>${pwd} </td>
<td>${name} </td>
<td>${email}</td>
</tr>
</table>
</body>
</html>
3. http://localhost:8090/pro14/test02/forward1.jsp로 요청합니다. 첫 번째 회원 정보는 getAttribute() 메서드를 이용해 출력하고, 두 번째 회원 정보는 표현 언어에서 속성 이름으로 바로 출력합니다.

이번에는 request에 회원 정보를 저장한 MemberBean 객체를 바인딩한 후 다시 출력해 보겠습니다.
4. 다음과 같이 forward2.jsp에서 MemberBean 객체를 생성하고 속성에 회원 정보를 설정합니다. 그리고 request 내장 객체에 속성 이름 member로 MemberBean 객체를 바인딩한 후 member2.jsp로 포워딩합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="sec01.ex01.*" pageEncoding="UTF-8" %>
<%
request.setCharacterEncoding("utf-8");
MemberBean member = new MemberBean("lee", "1234", "이순신", "lee@test.com");
request.setAttribute("member", member);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forward2</title>
</head>
<body>
<jsp:forward page="member2.jsp"/>
</body>
</html>
5. member2.jsp를 다음과 같이 작성합니다. request 내장 객체에 속성 이름 member로 접근한 후 MembeBean 속성 값을 출력합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" %>
<html>
<head>
<meta charset=”UTF-8">
<title>회원 정보 출력창</title>
</head>
<body>
<table border="1" align="center" >
<tr align="center" bgcolor="#99ccff">
<td width="20%"><b>아이디</b></td>
<td width="20%"><b>비밀번호</b></td>
<td width="20%" ><b>이름</b></td>
<td width="20%"><b>이메일</b></td>
</tr>
<tr align="center">
<td>${member.id} </td>
<td>${member.pwd} </td>
<td>${member.name} </td>
<td>${member.email}</td>
</tr>
</table>
</body>
</html>
6. http://localhost:8090/pro14/test02/forward2.jsp로 요청하여 실행 결과를 확인합니다.

7. 이번에는 request에 회원 정보를 저장한 ArrayList를 바인딩하고 다시 출력해 보겠습니다. forward3.jsp에서 다음과 같이 ArrayList 객체를 생성하거 MemberBean 객체를 저장합니다. 그리고 request 내장 객체에 ArrayList 객체를 다시 membersList 속성 이름으로 바인딩한 후 두 번째 JSP로 포워딩합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.util.*, sec01.ex01.*" pageEncoding="UTF-8"
isELIgnored="false"%>
<%
request.setCharacterEncoding("UTF-8");
List membersList = new ArrayList();
MemberBean m1 = new MemberBean("lee", "1234", "이순신", "lee@test.com");
MemberBean m2 = new MemberBean("son", "1234", "손흥민", "son@test.com");
membersList.add(m1);
membersList.add(m2);
request.setAttribute("membersList", membersList);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>forward3</title>
</head>
<body>
<jsp:forward page="member3.jsp" />
</body>
</html>
8. member3.jsp를 다음과 같이 작성합니다. 바인딩 시 속성 이름 membersList로 바로 ArrayList 객체에 접근합니다. 그런 다음 자장 순서인 인덱스를 이용해 각각의 MemberBean에 접근한 후 속성 이름으로 회원 정보를 출력합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" %>
<%
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<meta charset=UTF-8">
<title>회원 정보 출력창</title>
</head>
<body>
<table border=1 align="center" >
<tr align="center" bgcolor="#99ccff">
<td width="20%"><b>아이디</b></td>
<td width="20%"><b>비밀번호</b></td>
<td width="20%" ><b>이름</b></td>
<td width="20%"><b>이메일</b></td>
</tr>
<tr align="center">
<td>${membersList[0].id}</td>
<td>${membersList[0].pwd}</td>
<td>${membersList[0].name}</td>
<td>${membersList[0].email}</td>
</tr>
<tr align="center">
<td>${membersList[1].id}</td>
<td>${membersList[1].pwd}</td>
<td>${membersList[1].name}</td>
<td>${membersList[1].email}</td>
</tr>
</table>
</body>
</html>
9. http://localhost:8090/pro14/test02/forward3.jsp로 요청합니다. 복잡한 자바 코드를 사용하지 않고 속성 이름과 인덱스만으로 회원 정보가 출력된 결과를 확인할 수 있습니다.

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| JSP 표준 태그 라이브러리(JSTL) (0) | 2026.01.31 |
|---|---|
| 스코프 우선순위 (0) | 2026.01.28 |
| has-a 관계 빈 사용 실습 (0) | 2026.01.22 |
| HashMap 사용 실습 (0) | 2026.01.19 |
| Collection 객체 사용 실습 (0) | 2026.01.16 |