session 내장 객체에 데이터 바인딩 실습
1. JSP 파일이 많아지므로 test01 폴더를 만든 후 session1.jsp, session2.jsp 등 실습 파일들을 생성합니다.

2. SessionTest 클래스를 다음과 같이 작성합니다. 서블릿에서 getSession() 메서드를 이용해 session 객체를 얻은 후 name을 바인딩합니다.
package sec01.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import java.rmi.ServerException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
public class SessionTest extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServerException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
HttpSession session = request.getSession();
session.setAttribute("name", "이순신");
pw.println("<html><body>");
pw.println("<h1>세션에 이름을 바인딩합니다.</h1>");
pw.println("<a href='/pro12/test01/session1.jsp'>첫번째 페이지로 이동하기 </a>");
pw.println("</body></html>");
}
}
3. session1.jsp 파일을 다음과 같이 작성합니다. session 객체의 사용법은 서블릿에서 배운 HttpSession 사용법과 같습니다. 차이점은 JSP에서는 자동으로 세션 객체를 생성해 주므로 굳이 getSession() 메서드를 호출해서 세션을 얻을 필요가 없다는 것입니다. getAttribute() 메서드를 이용해 첫 번째 JSP에서 session에 바인딩된 name값을 가져온 후 setAttribute() 메서드를 이용해 session에 address를 바인딩합니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String name = (String)session.getAttribute("name");
session.setAttribute("address", "서울시 강남구");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>session 내장 객체 테스트2</title>
</head>
<body>
이름은 <%=name %>입니다. <br>
<a href=session2.jsp>두 번째 페이지로 이동</a>
</body>
</html>
4. session2.jsp에서는 getAttribute()를 이용해 서블릿과 JSP에서 session에 바인딩된 name과 address 값을 가져옵니다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String name = (String) session.getAttribute("name");
String address = (String) session.getAttribute("address");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>내장 객체 테스트3</title>
</head>
<body>
이름은 <%=name %>입니다.
주소는 <%=address %>입니다.
</body>
</html>
5. 다음은 최초 서블릿에 요청한 결과입니다. 서블릿 요청 시 session 객체에 name 바인딩합니다.

6. 첫번째 페이지로 이동하기 클릭 시 서블릿에서 바인딩한 name을 출력합니다. 두 번째 페이지로 이동을 클릭합니다.

7. 서블릿과 첫 번째 JSP에서 바인딩한 이름(name)과 주소(address)를 출력합니다.

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| request 내장 객체에 데이터 바인딩 실습 (0) | 2025.10.28 |
|---|---|
| application 내장 객체에 데이터 바인딩 실습 (0) | 2025.10.25 |
| 내장 객체(내장 변수) 기능 (0) | 2025.10.19 |
| 이미지 리스트 출력 예제 (0) | 2025.10.16 |
| 구구단 출력 예제 (0) | 2025.10.13 |