In this Tutorial we are going to see that how can we Handle SESSION in JSP.
1. Setting Session :
Before we validate or check the existing session it is important to know that how we set session in JSP.
we use session.setAttribute("ATTRIBUTE NAME","ATTRIBUTE VALUE"); you can set as many attribute as you want.
2. Retrieving valuse from session attribute
To retrieve value from session attribute we use following method. session.getAttribute("attribute name");
to store the retrieved value in a variable we write code as shown below.
data-type variable-name=(data type cast)session.getAttribute("attribute name");
e.g. String signin=(String)session.getAttribute("username");
3. Ending or Invalidating session.
To End the current session and all attributes value we use session.invalidate(); method.
4. To Prevent user from going back to the previous page after logout put following META-TAG in every page's Header
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
working Example
1. index.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@page
language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<title>index</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<% String signin=(String)session.getAttribute("username");
if(signin==null) {
/** perform some your own logic for not signed in user , i'm just forwarding to login page
**/
%> <a href="login.jsp">click to login</a>
<%
}
else {
/** logic for logges in users **/
%>
<h3>successfull login</h3>
<a href="logout.jsp">click to logout</a>
<%} %>
</body>
</html>
2. Login.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@page
language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<title>login</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<%
/** setting username here . you will do it after processing login code **/
session.setAttribute("username","your user's username");
%>
i set the session, now click on index page link to verify it
<a href="index.jsp">go to index page</a>
</body>
</html>
3. Logout.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@page
language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<title>logout</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<% //session.setAttribute("username",null);
session.invalidate();
%>
<jsp:forward page="index.jsp"/>
</body>
</html>