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"));
%>


<br>
<a href="updateAtt.jsp">属性修改</a>




<%@ 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+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'demo.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->


  </head>
  
  <body>
    <a href="addAtt.jsp">创建属性</a>
  </body>
</html>


<%@ 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"));
%>
<br>
<a href="delAtt.jsp">属性删除</a>





猜你喜欢

转载自blog.csdn.net/luckily_star/article/details/78690120
今日推荐