웹 개발 기초/자바 웹을 다루는 기술

session 내장 객체에 데이터 바인딩 실습

sungw00 2023. 2. 28. 09:32
728x90

1. SessionTest.java, session1.jsp, session2.jsp 파일 작성

// SessionTest.java
package sec01.ex01;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet("/sess")
public class SessionTest extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html; charset=utf-8");
		PrintWriter pw = response.getWriter();
		HttpSession session = request.getSession(); // session 객체를 가져옴
		session.setAttribute("name", "이순신"); // session 객체에 name을 바인딩
		pw.println("<html><body>");
		pw.println("<h1>세션에 이름을 바인딩합니다.</h1>");
		pw.println("<a href='/pro12/test01/session1.jsp'>첫 번째 페이지로 이동하기</a>");
		pw.println("</body></html>");
	}

}
<%-- session1.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String name = (String)session.getAttribute("name"); <%-- session 객체에 바인딩 된 name 값을 가져옴 --%>
	session.setAttribute("address", "서울시 강서구"); <%-- session 객체에 address를 바인딩 --%>
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>session 내장 객체 테스트2</title>
</head>
<body>
	이름은 <%= name %>입니다.<br>
	<a href=session2.jsp>두 번째 페이지로 이동</a>
</body>
</html>
<%-- session2.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	<%-- session 객체에 바인딩 된 name 값과 address 값을 가져옴 --%>
	String name = (String)session.getAttribute("name");
	String address = (String)session.getAttribute("address");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>session 내장 객체 테스트</title>
</head>
<body>
	이름은 <%= name %>입니다.<br>
	주소는 <%= address %>입니다.<br>
</body>
</html>

 

2. http://localhost:8090/pro12/sess 최초 서블릿에 요청

서블릿 요청 시 session 객체에 name을 바인딩한다.

 

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

두 번째 페이지로 이동하기를 클릭한다.

 

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

 

728x90