본문 바로가기

프로그래밍/JSP 프로그래밍

JSP 프로그래밍_세션(session)

세션(session)

: 세션이란 웹 컨테이너에서 클라이언트의 정보를 서버에 보관하는 기능이다.

 

 

세션에 값 저장

session.setAttribute(이름, 값)

→ setAttribute 메소드는 이름, 값 쌍으로 세션에 정보를 저장할 수 있다.

 

 

세션에 값 가져오기

session.getAttribute(name)

→ getAttribute 메소드는 세션에 저장된 값을 이름으로 조회해 값을 반환받는다. 

 

 

세션 예제

index.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login Example</title>
</head>
<body>
    <form action="login.jsp" method="post">
        <label> 사용자 이름 : </label>
        <input type="text" id="username" name="username">
        <label> 비밀번호 : </label>
        <input type="password" id="password" name="password">
        <input type="submit" value="로그인">
    </form>
    
    <% if(session.getAttribute("username") != null){    %>
            
            <p>현재 로그인 상태입니다. 
            사용자 이름 : <%= session.getAttribute("username") %></p>
            
    <%    } %>
</body>
</html>
cs

→ session.getAttribute(”input name”) : 세션 클래스의 사용자 이름이 저장되어 있으면 로그인 상태를 유지한다.

 

 

login.jsp 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username != null && password != null) {
    if (username.equals("admin") && password.equals("1234")) {
        //로그인 성공
        
        //세션에 사용자 이름 저장
        session.setAttribute("username", username);
        response.sendRedirect("index.jsp");
    }else{
        //로그인 실패
        out.print("<p>로그인에 실패했어요</p>");
    }
    
}
%>
cs

→ response.sendRedirect(”다시 불러올 파일명”) : 로그인 성공 후 index.jsp페이지로 리다이렉트 처리