学习内容:
提示:这里可以添加要学的内容
例如:
- 了解八大监听器有哪些
- 了解钝化与活化
- 主要掌握HttpSessionActivationListener
学习时间:
1.了解八大监听器有哪些
监听器分类 |
监听器名称 |
作用 |
ServletContext监听 |
ServletContextListener |
用于对ServletContext对象进行监听(创建,销毁) |
ServletContextAttributeListener |
用于对ServletContext对象中的属性监听(增删改属性) | |
Session监听 |
HttpSessionListener |
用于对Session对象中的整体状态监听(创建,销毁) |
HttpSessionAttributeListener |
用于对Session对象中的 属性监听(增删改属性) | |
HttpSessionBindingListener |
监听对象于Session的绑定和解除 | |
HttpSessionActivationListener |
对Session数据的钝化和活化监听 | |
Requsst监听 |
ServletRequestListener |
用于对Requsst对象进行监听(创建,销毁) |
ServletRequestAttributeListener |
用于对Requsst对象中的属性监听(增删改属性) |
2.了解钝化与活化
钝化:序列化(Serializable)(把数据存储到硬盘里面) session默认是30分钟
活化:反序列化(从硬盘中拿出来)
3.主要掌握HttpSessionActivationListener
1.tomcat服务器下面的conf里面context.xml添加下面的代码
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="true">
<Store className="org.apache.catalina.session.FileStore" directory="D:\Develop\Tomcat\apache-tomcat-8.0.53\conf\Session"/>
</Manager>
2.我是先在Student类上实现监听的操作
对象的类中
@WebListener
public class Student implements HttpSessionActivationListener, Serializable {
private String aa;
private int ddd;
public Student() {
}
public Student(String aa, int ddd) {
this.aa = aa;
this.ddd = ddd;
}
public String getAa() {
return aa;
}
public void setAa(String aa) {
this.aa = aa;
}
public int getDdd() {
return ddd;
}
public void setDdd(int ddd) {
this.ddd = ddd;
}
@Override
public void sessionWillPassivate(HttpSessionEvent se) {
System.out.println("被钝化呢");
}
@Override
public void sessionDidActivate(HttpSessionEvent se) {
System.out.println("被激活了");
}
}
//servlet类中
@WebServlet("/aa")
public class Servletlistener extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
Student st = new Student();
st.setAa("312312");
HttpSession session = req.getSession();
session.setAttribute("dd",st);
System.out.println("进来了");
}
}
学习产出:
提示:这里统计学习计划的总量
例如:
- 技术笔记 2 遍
- CSDN 技术博客 3 篇
- 习的 vlog 视频 1 个