언어/Servlet&Jsp

로그인 로그아웃 프로파일

NIGHT_LOVE 2020. 5. 19. 17:26
package com.test;

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("/ProfileServlet")
public class ProfileServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		request.getRequestDispatcher("link.html").include(request, response);
		HttpSession session = request.getSession(false);
		if (session != null) {
			String name = (String) session.getAttribute("name");
			String password = (String) session.getAttribute("password");
			out.print("name : " + name + ", password : " + password);
		} else {
			out.print("Please login first");
			request.getRequestDispatcher("Login2.html").include(request, response);
		}

	}

}
package com.test;

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("/LogoutServlet")
public class LogoutServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		request.getRequestDispatcher("link.html")
		.include(request, response);
		HttpSession session = request.getSession(); 
		session.invalidate();
		out.print("Logged out");
		out.close();
	}
}
package com.test;

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("/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		
		response.setContentType("text/html");
		
		PrintWriter out = response.getWriter();
		request.getRequestDispatcher("link.html").include(request, response);
		
		String name=request.getParameter("name");
		String password=request.getParameter("password");
		
		if(name.equals("test")&&password.equals("1234")) {
			out.print("Welcome,"+name);
			HttpSession session = request.getSession();
			session.setAttribute("name", name);
			session.setAttribute("password", password);
		}else {
			out.print("Mismatch name and password error! ");
			request.setCharacterEncoding("utf-8");   
			request.getRequestDispatcher("Login2.html").include(request, response);
		}
		
		out.close();
	}

}
<a href ="Login2.html">Login</a>
<a href = "LogoutServlet">Logout</a>
<a href = "ProfileServlet">Profile</a>
<hr>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login </title>
</head>
<body>
<form action="LoginServlet" method="get">
	<table border="0">
	<tr>
		<td> Name : </td>
		<td> <input type="text" name="name"></td>
	</tr>
	
	<tr>
		<td> Password : </td>
		<td> <input type="password" name="password"></td>
	</tr>
	
	<tr>
		<td colspan="2">
		<input type="submit" value="Login">
		<input type="reset" value="reset">
		</td>
	</tr>
	</table>
	</form>
</body>
</html>