일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 | 27 | 28 |
- eqauls-hashcode
- JavaScript
- InteliJ
- Aspect
- 봤어요처리
- Mac
- oracle
- 인텔리제이
- 프로그래머스
- db
- svn
- DART
- javascript error
- flutter mac 설치
- 코어자바스크립트
- maven
- node.js
- ojdbc6
- REST
- datagrip 한글깨짐
- MySQL
- @RequestBody
- Java
- Stream
- class-transformer
- tecoble
- Spring
- TypeScript
- SQL
- 프로젝트 여러 개
- Today
- Total
개발자가 되고 싶은 개발자
[JSP] HttpSession 인터페이스 본문
안녕하세요, JSP에서 HttpSession Interface를 이용하여 간단한 로그인을 구현해보도록 하겠습니다.
" login.jsp "
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form method="POST" action="auth.jsp">
<fieldset>
<legend>Login</legend>
<input type="text" placeholder="Input ID" name="userID">
<input type="submit" value="login">
</fieldset>
</form>
</body>
</html>
login버튼을 누르면 auth.jsp에 전송되도록 하겠습니다.
(각 input 태그 별 name을 지정해주셔야 합니다. ex. userID, userPW, id, pw )
참고로 필드 셋 태그를 이용하시면 저렇게 예쁘게 감싸실 수 있습니다.
" auth.jsp "
<body>
<%
request.setCharacterEncoding("UTF-8");
String userID = request.getParameter("userID");
if(userID != null){
session.setAttribute("userID",userID);
}
response.sendRedirect("index.jsp");
%>
</body>
login.jsp에서 현재 파일로 데이터를 전송했습니다.
userID에 input 태그에서 아이디를 전송한 name속성과 매칭 시켜 userID를 저장합니다.
저는 간단하게 조건문으로 그냥 어느 값이던 들어왔으면(null이 아니면) 세션 값을 저장했습니다.
실제로는 DB의 회원 정보와 비밀번호가 일치하는지 확인하면 되겠죠?? 물론 세션만을 사용하진 않겠지만요ㅎ
세션 값을 userID에 저장하고, 메인 페이지인 index.jsp로 돌아갑니다.
" index.jsp "
<body>
<!-- session is using HttpSession Interface. -->
<%
//If user not logined;
if(session.getAttribute("userID")==null){
out.println("<a href='login.jsp'>Login</a>");
} else {
String userID = (String)session.getAttribute("userID");
out.println(userID);
out.println("<a href='logout.jsp'>Logout</a>");
}
%>
auth.jsp에서 null값이 아니면 userID에 아이디를 저장하도록 코드를 작성했습니다.
비슷한 맥락으로 세션 값이 없으면 로그인 페이지로 이동시키고, 세션 값이 있으면 ID를 띄웁니다.
로그아웃을 위해 logout.jsp페이지를 작성하고 마무리하겠습니다.
" logout.jsp"
<%
session.removeAttribute("userID");
response.sendRedirect("login.jsp");
%>
로그아웃 페이지로 오면 세션 값을 삭제하도록 하고, 다시 로그인 페이지로 리다이렉션 해줍니다.
마치며
Session메소드를 사용할 때마다 자주 잊는 것 같아서, 정리해 보았습니다.
잘못된 부분은 알려주시면 수정하도록 하겠습니다. 감사합니다.
5_jinseok12님의 https://jinseok12.tistory.com/13?category=711052 포스팅을 바탕으로 작성하였습니다.
'Dev > Java & Spring' 카테고리의 다른 글
[SpringBoot] DB 연결 (0) | 2020.03.06 |
---|---|
[Spring] AOP 개념 (0) | 2020.03.03 |
[Spring] Maven Ojdbc6 에러 (0) | 2020.02.21 |
[Java] Buffer를 이용한 입출력 (0) | 2020.02.18 |
[Java] ArrayList (0) | 2020.02.06 |