Click here to watch in Youtube : https://www.youtube.com/watch?v=DquotVucWWQ
Click the below Image to Enlarge
HttpSessionBindingListenerDemo Project Dir Structure
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class HttpSessionAttributeTestServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void init() throws ServletException { System.out.println("-----------------------------------------"); System.out.println(" Init method is called in " + this.getClass().getName()); System.out.println("--------------------------------------"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); HttpSession httpSession = request.getSession(); sleep(); User user = new User("Ram", 43); httpSession.setAttribute("userinfo", user); sleep(); httpSession.invalidate(); out.println("This is the example of HttpSessionBindingListener"); } private void sleep() { try { Thread.sleep(10000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void destroy() { System.out.println("-----------------------------------------"); System.out.println(" destroy method is called in " + this.getClass().getName()); System.out.println("-----------------------------------------"); } }
User.java
import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener; public class User implements HttpSessionBindingListener { private String name; private int age; public User(String name, int age) { super(); this.name = name; this.age = age; } public User(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public void valueBound(HttpSessionBindingEvent httpSessionBindingEvent) { System.out.println("\n###################################\n"); System.out.println("valueBound method has been called in " + this.getClass().getName()); System.out.println("Added/Replaced Attribute Name =" + httpSessionBindingEvent.getName() + ",value = " + httpSessionBindingEvent.getValue()); System.out.println("\n#####################################\n"); /* * if particular Attribute is added/replaced, based on that if you want * to perform any operation then you can do it here. */ } @Override public void valueUnbound(HttpSessionBindingEvent httpSessionBindingEvent) { System.out.println("\n###################################\n"); System.out.println("valueUnbound method has been called in " + this.getClass().getName()); System.out.println("Removed Attribute Name =" + httpSessionBindingEvent.getName() + ",value = " + httpSessionBindingEvent.getValue()); System.out.println("\n#####################################\n"); /* * if particular Attribute is removed, based on that if you want to * perform any operation then you can do it here. */ } @Override public String toString() { return "User [name=" + name + ", age=" + age + "]"; } }
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="true" version="3.0"> <display-name>HttpSessionBindingListenerDemo</display-name> <description> This is a simple web application with a source code organization based on the recommendations of the Application Developer's Guide. </description> <servlet> <servlet-name>HttpSessionAttributeTestServlet</servlet-name> <servlet-class>HttpSessionAttributeTestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HttpSessionAttributeTestServlet</servlet-name> <url-pattern>/listenerTest</url-pattern> </servlet-mapping> </web-app>
index.html
<html> <body> <a href="listenerTest">listenerTest</a> </body> </html>
JDK version :1.7.0_51
Tomcat version : 7.0.50
To Download HttpSessionBindingListenerDemoApp Project Click the below link
https://sites.google.com/site/javaee4321/servlets/HttpSessionBindingListenerDemoApp.zip?attredirects=0&d=1
See also:
No comments:
Post a Comment