关闭

黑马day14 监听器之javaBean对象的活化和钝化

标签: session钝化和活化
1222人阅读 评论(0) 收藏 举报
分类:

javaBean对象的活化和钝化:

如果将一个属性如String类型的字符串放到session域中,或者一个Person类放到session域中,要想实现session的钝化和活化,则这个javaBean必须实现Serializable接口...

1.javaBean Person

package cn.itheima.domain;

import java.io.Serializable;

import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
import javax.servlet.http.HttpSessionEvent;

public class Person implements Serializable, HttpSessionBindingListener,HttpSessionActivationListener{
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void valueBound(HttpSessionBindingEvent event) {
		System.out.println("当当前javaBean对象被绑定到session域中,javaBean感知自己被添加到了session域中,从而触发此事件...");
	}

	public void valueUnbound(HttpSessionBindingEvent event) {
		System.out.println("当当前javaBean对象从sessio域中移除,javaBean感知自己从session域中移除了,从而触发此事件...");
	}

	public void sessionWillPassivate(HttpSessionEvent se) {
		System.out.println("javaBean感知自己钝化了...触发此事件...");
	}

	public void sessionDidActivate(HttpSessionEvent se) {
		System.out.println("javabean感知自己被活化了...触发此事件...");
	}
	
}
这里监听不用再web.xml配置文件中进行注册...直接使用即可

2.servlet 将Person类的实例p放到域对象中

package cn.itheima.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import cn.itheima.domain.Person;
public class SessionDemo extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//创建session对象
		HttpSession session = request.getSession();
		Person p=new Person();
		session.setAttribute("p", p);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}
测试:我们先访问这个servlet....

如果我们的Person类实现了Serializable接口...

正常关闭服务器....


观察tomcat的工作目录我们发现多了一个文件:这个文件就是钝化的文件...这是临时保存的...当正常开启的时候就会发现钝化的文件又被加载到了内存中...


正常开启服务器



如果没有实现Serializable接口就不会触发javaBean中的事件....即也就没有钝化和活化之说。


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

javaEE之--------------session的活化与钝化

session的活化与钝化就是当用户访问时网站异常,不能丢掉session,所有也必须采用文件存储;和之前那个统计网站访问量一样的原理。  class Person implementsHttpSessionActivationListener,Serializable 必须实现这两个接口...
  • yangxin_blog
  • yangxin_blog
  • 2016-01-02 16:41
  • 2699

Servlet监听器/Session钝化和活化

Servlet监听器平时用的比较少,但是还是有用的。 监听器一共有八个,分为3类 第一类:用来监听Request,Session,ServletContext的创建和销毁 ServletContextListener 用来监听ServletContext对象创建和销毁的监听器 HttpSes...
  • u014629433
  • u014629433
  • 2016-06-02 09:53
  • 1176

22条途径提升你的大脑!

大脑就像一台计算机。如果这是正确的,那么真的没有愚蠢的人了。只不过是些运行着dos的人罢了”大脑是一个三磅重的超级计算机,它是使你正常生活的命令和控制中心,完全参与你所做的每一件事。你的大脑决定你如何思考、如何感知、如何行动以及如何与其他人和平相处。你的大脑甚至决定你是哪种人,它决定你是如何深思熟虑...
  • zjfei
  • zjfei
  • 2010-02-21 14:26
  • 438

session的钝化与活化技术

lHttpSessionActivationListener •实现此接口的JavaBean,可以感知自己被活化(从硬盘到内存)和钝化(从内存到硬盘)的过程。 •如果需要同时保存Session中的JavaBean则JavaBean也要实现Serializable序列化接口。 •实现此...
  • lengjinghk
  • lengjinghk
  • 2016-08-20 13:17
  • 1374

session的钝化与活化技术

lHttpSessionActivationListener •实现此接口的JavaBean,可以感知自己被活化(从硬盘到内存)和钝化(从内存到硬盘)的过程。 •如果需要同时保存Session中的JavaBean则JavaBean也要实现Serializable序列化接口。 •实现此...
  • lengjinghk
  • lengjinghk
  • 2016-08-20 13:17
  • 1374

[笔记]JavaWeb高级应用--监听器

监听器定义 监听器主要用途第一个实例监听器的分类Servlet3.0下监听器的使用实际项目中常用案例
  • mr_zhuqiang
  • mr_zhuqiang
  • 2015-03-24 21:23
  • 521

session被钝化和激活,session在一分钟内不使用的话 让其钝化的设置

一、session只有可以被序列化才可以被钝化。可以被钝化的有:字符串,javabean在继承接口Serializable之后也可以被钝化(注意没序列化不可钝化)。如果把不可以序列化的对象放进一个可以序列化的集合里,这个集合还是不可以序列化,例如map集合里面添加不可以序列化的对象,map也是不可以...
  • qqahanson
  • qqahanson
  • 2014-12-12 11:25
  • 2274

递归神经网络不可思议的有效性

递归神经网络(RNNs)有一些不可思议的地方。我仍然记得我训练的第一个用于 图片字幕的递归网络。从花几十分钟训练我的第一个婴儿模型(相当随意挑选的超参数)开始,到训练出能够针对图像给出有意义描述的模型。有些时候,模型对于输出结果质量的简单程度的比例,会与你的期望相差甚远,而这还仅仅是其中一点。有...
  • mydear_11000
  • mydear_11000
  • 2016-09-02 16:10
  • 905

Session 的钝化与活化

(一)钝化 当服务器正常关闭时,还存活着的session(在设置时间内没有销毁) 会随着服务器的关闭被以文件(“SESSIONS.ser”)的形式存储在tomcat 的work 目录下,这个过程叫做Session 的钝化。 (二)活化 当服务器再次正常开启时,服务器会找到之前的“SESSION...
  • codejas
  • codejas
  • 2018-01-12 10:16
  • 108

如何让编程思维保持活化?

最近读了一下《程序员的思维修炼》,涉及了一个词:元学习。所谓「元学习」就是“学习如何学习”。这种能力很重要,学会学习不光在编程里有用,掌握了这种能力后在其他领域也可以如鱼得水。 不知道大家有没有这样的经历,就是一个人宅在家里一整天,到了晚上遇到人开口说话都有点不畅,结巴。有时候明明想表达一个意...
  • mangrandi
  • mangrandi
  • 2013-10-31 10:50
  • 249
    个人资料
    • 访问:201292次
    • 积分:4377
    • 等级:
    • 排名:第8008名
    • 原创:242篇
    • 转载:4篇
    • 译文:0篇
    • 评论:38条
    友情链接