HttpSession:
HttpSession is an interface that provides a way to identify a user in multiple page requests. A
unique session id is given to the user when first request comes. This id is stored in a request
parameter or in a cookie.
How to get session object?
HttpServletRequest interface’s getSession() method is used to get the session object.
Syntax:
HttpSession session = [Link]();
How to set attribute in session object?
HttpSession interface’s setAttribute() method is used to set attribute in session object.
Syntax:
public void setAttribute(String name,Object value);
How to get attribute from session object?
HttpSession interface’s getAttribute() method is used to get attribute from session object.
Syntax:
public Object getAttribute(String name);
Session management example using HttpSession:
[Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
* This class is used to set values in session.
* @author w3spoint
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
//no-argument constructor
public LoginServlet() {
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
//get parameters from request object.
String userName = [Link]("userName").trim();
String password = [Link]("password").trim();
//check for null and empty values.
if(userName == null || [Link]("") ||
password == null || [Link]("")){
[Link]("Please enter both username " +
"and password. <br/><br/>");
RequestDispatcher requestDispatcher =
[Link]("/[Link]");
[Link](request, response);
}//Check for valid username and password.
else if([Link]("asfa") && [Link]("123")){
HttpSession session=[Link]();
[Link]("userName",userName);
[Link]("password",password);
[Link]("Logged in successfully.<br/>");
[Link]("Click on the below link to see " +
"the values of Username and Password.<br/>");
[Link]("<a href='DisplaySessionValueServlet'>" +
"Click here</a>");
[Link]();
}else{
[Link]("Wrong username or password. <br/><br/>");
RequestDispatcher requestDispatcher =
[Link]("/[Link]");
[Link](request, response);
}
}
}
[Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
* This class is used to get values from session.
* @author w3spoint
*/
public class DisplaySessionValueServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
//no-argument constructor
public DisplaySessionValueServlet() {
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
//get parameters from session object.
HttpSession session=[Link](false);
String userName =(String)[Link]("userName");
String password =(String)[Link]("password");
[Link]("Username: " + userName + "<br/><br/>");
[Link]("Password: " + password);
[Link]();
}
}
[Link]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "[Link]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login</title>
</head>
<body>
<form action="LoginServlet" method="post">
Username:<input type="text" name="userName"/>
<br/><br/>
Password:<input type="password" name="password"/>
<br/><br/>
<input type="submit" value="login"/>
</form>
</body>
</html>
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>
LoginServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DisplaySessionValueServlet</servlet-name>
<servlet-class>
DisplaySessionValueServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplaySessionValueServlet</servlet-name>
<url-pattern>/DisplaySessionValueServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>
Session management example using HttpSession:
Enter username: jai and password: 1234
Click on login button.
Click on the link.