로그인 정보 바인딩
package session;
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("/sanha")
public class sanha_Session4 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doHandle(req,resp);
}// end dogGet
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doHandle(req,resp);
}// end dopost
private void doHandle(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter out =resp.getWriter();
HttpSession session = req.getSession();
// 로그인창에서 전송된 id pw 가져오기
String user_id = req.getParameter("user_id");
String user_pw = req.getParameter("user_pw");
if (session.isNew()) {
// 최초 세션의 경우
if(user_id !=null) { //로그인에 전송된 name=user_id값이 null인 경우 (중복이 아닌 경우)
session.setAttribute("user_id",user_id);
//세션 속성 이름이 "user_id"인 속성 값으로 user_id를 할당
out.println("<a href='sanha'>로그인 상태 확인~!</a>");
}else { // 로그인에 전송된 값이 이미 존재하는 값인 경우 (중복인 경우)
out.print("<a href='sanhaStudy02'.html>다시 로그인 해주세용</a>");
session.invalidate(); // 세션 삭제
}
//최초 세션이 아닌 경우
}else {
user_id = (String) session.getAttribute("user_id");
//리턴 타입은 java.lang.Object이므로 데이터 본래의 타입으로 캐스트 연산을 해야 한다.
if(user_id !=null && user_id.length() !=0) {
//user_id 값이 null이 아니고 길이가 0이 아닌경우
out.print("안녕~~!!"+user_id+" 님 !!!");
}else { //최초 세션이 아니고, user_id값이 null, user_id의 길이가 0
out.print("<a href='sanhaStudy02.html'>다시 로그인 해주세용</a>");
session.invalidate(); // 세션 삭제
}
}
}// end doHandle
}// end class
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인창</title>
</head>
<body>
<form name="frmLogin" method="post" action="../sanha" encType="UTF-8">
아이디 :<input type="text" name="user_id"><br>
비밀번호:<input type="password" name="user_pw"><br>
<input type="submit" value="로그인">
<input type="reset" value="다시입력">
</form>
</body>
</html>
실행결과
최초 로그인을 하는 경우
최초 로그인이 아닌경우
'Programming > Back-end Language' 카테고리의 다른 글
[JAVA] Servlet 로그인 페이지 만들기 (1) (1) | 2022.01.05 |
---|---|
[JAVA] 서블릿 경로설정과 Cycle (0) | 2022.01.04 |
[JAVA] 서블릿 (GET/POST)전송방식 (0) | 2022.01.04 |
[JAVA] JSP (Java Server Pages) 란 무엇인가? (0) | 2022.01.04 |
[JAVA] Session이란?(1) (2) | 2022.01.04 |