Session

김규원·2024년 1월 25일

24.01: 실전! JSP(完)

목록 보기
11/13
post-thumbnail

Session(세션)

: 세션을 이용하여 클라이언트와 서버가 유지될 수 있게 만들어 줄 수 있음
: 세션은 웹 컨테이너(서버)에서 만듦

  • 쿠키는 브라우저에서 생성 및 저장
  • 세션은 서버에서 생성 및 저장
    : 정확하게 말하자면 세션은 웹 컨테이너에서 생성 서버에서 저장
  • 세션은 쿠키에 비해 보안성이 뛰어남
  • 쿠키는 세션에 비해 빠름
  • 대부분 세션을 쿠키보다 선호

<!-- form 작성 -->
<form action = "loginCon" method = "post">
ID : <input type = "text" name="mID"><br>
PW : <input type = "password" name = "mPW"><br>
<input type = "submit" value = "login">
</form>

  • login을 submit하면 loginCon으로 연결
// LoginCon.java
public class LoginCon extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		PrintWriter out = response.getWriter();
		String mID = request.getParameter("mID");
		String mPW = request.getParameter("mPW");
		
		out.print("mID : " + mID);
		out.print("mPW : " + mPW);
		
		HttpSession session = request.getSession();
		session.setAttribute("memberId",mID);
		response.sendRedirect("loginOk.jsp");
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		doGet(request, response);
	}

  • login.jsp에서 mID, mPW 받음
  • out 내장 객체 이용해 print
  • HttpSession 인터페이스 사용
    : getSession()
    : setAttribute() 이용 memberId 세션으로 저장
    : 세션 저장 후 sendRedirect("loginOk.jsp");

<!-- loginOk.jsp -->
<%
session = request.getSession();
out.print("memberId : " + session.getAttribute("memberId")+ "<br>");
%>

<form action="logoutCon" method="post">
<input type = "submit" value = "logout">

</form>
  • seesion.getAttribute 이용 세션 받아와 화면에 print
  • form태그 이용
    : logoutCon 이동하는 submit 버튼 제작
// logoutCon.java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		session.invalidate();
		
		response.sendRedirect("login.jsp");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		doGet(request, response);
	}
  • HttpSession 인터페이스 이용 세션 요청하고
  • session.invalidate() 사용하여 세션을 무효화 시킴
  • 무효화 후 login.jsp 페이지로 이동

profile
행복한 하루 보내세요

0개의 댓글