1 2 import java.io.IOException; 3 4 import javax.servlet.ServletException; 5 import javax.servlet.ServletRequestEvent; 6 import javax.servlet.ServletRequestListener; 7 import javax.servlet.ServletRequestAttributeEvent; 8 import javax.servlet.ServletRequestAttributeListener; 9 import javax.servlet.annotation.WebServlet; 10 import javax.servlet.annotation.WebListener; 11 import javax.servlet.http.HttpServlet; 12 import javax.servlet.http.HttpServletRequest; 13 import javax.servlet.http.HttpServletResponse; 14 15 @WebListener 16 @WebServlet(urlPatterns = "/") 17 public class app extends HttpServlet implements 18 ServletRequestListener, 19 ServletRequestAttributeListener 20 { 21 private static String request_initialized = ""; 22 private static String request_destroyed = ""; 23 private static String attribute_added = ""; 24 private static String attribute_removed = ""; 25 private static String attribute_replaced = ""; 26 27 @Override requestInitialized(ServletRequestEvent sre)28 public void requestInitialized(ServletRequestEvent sre) 29 { 30 HttpServletRequest r = (HttpServletRequest) sre.getServletRequest(); 31 32 request_initialized = r.getRequestURI(); 33 } 34 35 @Override requestDestroyed(ServletRequestEvent sre)36 public void requestDestroyed(ServletRequestEvent sre) 37 { 38 HttpServletRequest r = (HttpServletRequest) sre.getServletRequest(); 39 40 request_destroyed = r.getRequestURI(); 41 42 attribute_added = ""; 43 attribute_removed = ""; 44 attribute_replaced = ""; 45 } 46 47 @Override attributeAdded(ServletRequestAttributeEvent event)48 public void attributeAdded(ServletRequestAttributeEvent event) 49 { 50 attribute_added += event.getName() + "=" + event.getValue() + ";"; 51 } 52 53 @Override attributeRemoved(ServletRequestAttributeEvent event)54 public void attributeRemoved(ServletRequestAttributeEvent event) 55 { 56 attribute_removed += event.getName() + "=" + event.getValue() + ";"; 57 } 58 59 @Override attributeReplaced(ServletRequestAttributeEvent event)60 public void attributeReplaced(ServletRequestAttributeEvent event) 61 { 62 attribute_replaced += event.getName() + "=" + event.getValue() + ";"; 63 } 64 65 @Override doGet(HttpServletRequest request, HttpServletResponse response)66 public void doGet(HttpServletRequest request, HttpServletResponse response) 67 throws IOException, ServletException 68 { 69 request.setAttribute("var", request.getParameter("var1")); 70 request.setAttribute("var", request.getParameter("var2")); 71 request.setAttribute("var", request.getParameter("var3")); 72 73 response.addHeader("X-Request-Initialized", request_initialized); 74 response.addHeader("X-Request-Destroyed", request_destroyed); 75 response.addHeader("X-Attr-Added", attribute_added); 76 response.addHeader("X-Attr-Removed", attribute_removed); 77 response.addHeader("X-Attr-Replaced", attribute_replaced); 78 } 79 } 80