List of Files
- header.jsp
- login.jsp
- home.jsp
- logout.jsp
header.jsp
<a href="login.jsp">Login</a>
<a href="home.jsp">Home</a>
<a href="logout.jsp">Logout</a>
login.jsp
<%
HttpSession sess = request.getSession();
if (sess.getAttribute("sess_username") != null) { // check is session variable exist in session pool or not
response.sendRedirect("home.jsp"); // if session variable is already set then redirect it to home page else stay on login page
}
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@include file="header.jsp" %>
<h1>Login</h1>
<form action="home.jsp" method="post">
Username <input type="text" name="username"/><br/>
Password <input type="password" name="password"/><br/>
<input type="submit" value="Login"/>
</form>
</body>
</html>
home.jsp
<%
HttpSession sess = request.getSession(); //get the session object from getSession() method of request object
if (sess.getAttribute("sess_username") == null) { // check whether the session variable is exist in session pool or not
sess.setAttribute("sess_username", request.getParameter("username")); // create session variable if it is not present in session pool
}
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@include file="header.jsp" %>
<h1>Home</h1>
<h2>Hello <%=sess.getAttribute("sess_username")%> </h2>
</body>
</html>
logout.jsp
<%
HttpSession sess = request.getSession();
sess.invalidate(); // this will terminate the session and destroy all variables stored in session pool
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@include file="header.jsp" %>
<h1>Logout</h1>
</body>
</html>
Display Session variables from pool
Console o/p:
Enumeration attributeNames = sess.getAttributeNames();
while (attributeNames.hasMoreElements()) {
String name = (String) attributeNames.nextElement();
String value = (String) sess.getAttribute(name);
out.println(name + "=" + value);
}
JSTL(Java Server Pages Standard Tag Library) o/p:
<c:forEach var="session" items="${sessionScope}">
${session.key} = ${session.value}
</c:forEach>