Servlet监听器案例(代码)
listener
package com.orcal.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyFirstListener implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("监听器销毁。。。。。");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("监听器启动。。。。。");
}
}
package com.orcal.listener;
import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
public class MyRequestAttributeListener implements ServletRequestAttributeListener{
@Override
public void attributeAdded(ServletRequestAttributeEvent arg0) {
}
@Override
public void attributeRemoved(ServletRequestAttributeEvent arg0) {
}
@Override
public void attributeReplaced(ServletRequestAttributeEvent arg0) {
}
}
package com.orcal.listener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
public class MyRequestListener implements ServletRequestListener{
@Override
public void requestDestroyed(ServletRequestEvent arg0) {
System.out.println("消息监听已销毁。。。。。。");
}
@Override
public void requestInitialized(ServletRequestEvent arg0) {
System.out.println("消息监听已创建。。。。。。");
}
}
package com.orcal.listener;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
public class MyServletContextAttributeListener implements ServletContextAttributeListener{
/**
* 监听创建属性
*/
@Override
public void attributeAdded(ServletContextAttributeEvent arg0) {
System.out.println("监听到属性创建");
String name = (String) arg0.getServletContext().getAttribute("name");
System.out.println(name);
}
/**
* 监听删除属性
*/
@Override
public void attributeRemoved(ServletContextAttributeEvent arg0) {
System.out.println("监听属性删除");
}
/**
* 监听修改属性
*/
@Override
public void attributeReplaced(ServletContextAttributeEvent arg0) {
System.out.println("监听属性修改");
}
}
package com.orcal.listener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
/**
* 监听session的属性
* @author user
*
*/
public class MySessionAttributeListener implements HttpSessionAttributeListener{
@Override
public void attributeAdded(HttpSessionBindingEvent arg0) {
System.out.println("监听到session属性的创建");
System.out.println(arg0.getSession().getAttribute("name"));
}
@Override
public void attributeRemoved(HttpSessionBindingEvent arg0) {
System.out.println("监听到session属性的删除");
System.out.println(arg0.getSession().getAttribute("name"));
}
@Override
public void attributeReplaced(HttpSessionBindingEvent arg0) {
System.out.println("监听到session属性的修改");
System.out.println(arg0.getSession().getAttribute("name"));
}
}
package com.orcal.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class MySessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("会话监听已创建。。。。。。");
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
System.out.println("会话监听已结束。。。。。。");
}
}
servlet
package com.orcal.servlet;
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 Login extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//请求编码处理
request.setCharacterEncoding("utf-8");
//响应字符编码处理
response.setContentType("text/html;charset=utf-8");
//获得参数
String name = request.getParameter("name");
//响应
// PrintWriter out = response.getWriter();
//请求转发
// request.getRequestDispatcher("../main.jsp").forward(request,response);
//设置session
HttpSession session = request.getSession();
session.setAttribute("userName", name);
session.setMaxInactiveInterval(60);
//请求重定向
response.sendRedirect("../a.jsp");
}
}
jsp代码
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
application.setAttribute("name", "tom");
out.println("创建了session属性:"+application.getAttribute("name"));
session.setAttribute("name", "admin");
out.println("创建了session属性"+application.getAttribute("name"));
%>
属性修改
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
application.removeAttribute("name");
session.removeAttribute("name");
out.println("删除属性:"+application.getAttribute("name"));
out.println("删除session属性:"+session.getAttribute("name"));
%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
创建属性
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
application.setAttribute("name", "jack");
out.println("修改属性:"+application.getAttribute("name"));
session.setAttribute("name", "root");
out.println("修改了session属性:"+session.getAttribute("name"));
%>
属性删除
