[Web] 9. step04_JSP(6) - Logout2.java를 jsp파일로 변경

진주·2022년 2월 10일
0

Web

목록 보기
16/17
post-custom-banner

step03_sessionTracking의 login.html을 jsp로 변경할 예정!

logout2.jsp 파일 생성하기

logout2.jsp 코드

login.html , Welcome2.java는 이전 코드와 동일하다

login.html 코드

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>login page</title>
</head>
<body>

	<h2>로그인</h2>

	<!-- http://localhost/step01_basic/encore/playdata 호출 -->
	<form action="encore/playdata" method="post">

		<label>id :</label><br> <input type="text" name="id"
			value="tester"><br> <label>pw :</label><br> <input
			type="password" name="pw" value="11"><br> <br> <input
			type="submit" value="로그인">
	</form>

	<hr color="red">

	<h2>세션 학습 : 로그인</h2>

	<form action="encore/playdata2" method="post">

		<label>id :</label><br> <input type="text" name="id"
			value="tester"><br> <label>pw :</label><br> <input
			type="password" name="pw" value="11"><br> <br> <input
			type="submit" value="로그인">
	</form>

</body>
</html>

LoginValidate2.java 코드

package controller;

import java.io.IOException;

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("/encore/playdata2")
public class LoginValidate2 extends HttpServlet {
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		String id = request.getParameter("id");
		
		if(id != null && id.equals("tester")) {
			
//			세션 생성 or 이미 해당 user에 매핑된 세션객체가 존재할 경우에는 반환한다.
			HttpSession session	= request.getSession();
			System.out.println(session.getId());	// 고유한 session을 구분하기 위한 값 (server내부에서 id를 부여한뒤 만들어짐)
			
//			데이터 저장하기, Welcome2에서 getAttribute()를 통해서 활용함
			session.setAttribute("name","lee");
			session.setAttribute("age","30");
			
//			Welcome2 redirect방식으로 호출하기
			response.sendRedirect("../succ2");
			
		}else {
			
		}
	
	}

}

Welcome2.java 코드

button - 'logout2'를 'logout2.jsp'로 변경

location.href=\"<<<<<logout2>>>>>\"'
location.href=\"logout2.jsp\"' 로 변경

@WebServlet("/succ2")
public class Welcome2 extends HttpServlet {

	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		HttpSession session = request.getSession();
		out.println("안녕하세요"+ session.getAttribute("name"));
		
		out.println("<button onclick='location.href=\"logout2.jsp\"'>로그아웃</button>");
	}

}

login.html에서 Run as - Run on Server


결과창

세션학습 : 로그인 부분의 '로그인' 버튼 클릭

Welcome2.java로 넘어감, '로그아웃'버튼 클릭

Welcome2.java에서 button의 경로를 'logout2.jsp'로 변경했기 때문

profile
진주의 코딩일기
post-custom-banner

0개의 댓글