`
m635674608
  • 浏览: 5031806 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
监听器的作用 监听你的web应用,监听许多信息的初始化,销毁,增加,修改,删除值等。当被监听对象发生上述事件后,监听器某个方法将立即被执行。 常用的有:1、统计在线人数和在线用户。2、系统加载时进行信息的初始化工作。3、统计网站的访问量。4、跟Spring结合。 监听器的类型 按监听的对象划分,servlet2.4规范定义的有三种 1.用于监听应用程序环境对象(ServletContext)的事件监听器。 2.用于监听用户会话对象(HttpSession)的事件监听器。 3.用于监听请求消息对象(ServletRequest)的事件监听器。   按监听的事件划分 1.用于监 ...
Path – 路径。指定与cookie关联的WEB页。 值可以是一个目录,或者是一个路径。 如果http://www.jb51.net/test/index.html 建立了一个cookie,那么在http://www.jb51.net/test/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这 ...
redis 的key失效移除事件监听   1. 事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发,故需要订 阅 __keyevent@0__:expired 通道 0表示db0 根据自己的dbindex选择合适的数字   2. 修改 redis.conf 文件  修改 notify-keyspace-events Ex    3. 重启redis , 即可测试失效事件的触发, 监听获取的值为 key   doc参考: http://redis.readthedocs.org/en/latest/topic/notification.html
/** * Allows creating an HttpSession from a Session instance. * * @author Rob Winch * @since 1.0 */ private final class HttpSessionWrapper extends ExpiringSessionHttpSession<S> { HttpSessionWrapper(S session, ServletContext servletContext) { super(session, s ...

Servlet Session学习

    博客分类:
  • java
HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录(每次POST,或者GET请求都从新开始握手,连接。。)。 但是仍然 ...
为什么用DelegatingFilterProxy?窃以为,这样子做可以将DelegatingFilterProxy所代理的filter可以作为spring的bean,受到 spring的管理。而且有一点,我觉得应该注意的是,因为web应用的启动顺序是:listener->filter->servlet的,而spring容器的 启动主要是通过以下两种方式实现的:启动ContextLoaderListener或者ContextLoaderServlet的,所以,要将 将DelegatingFilterProxy所代理的filter可以作为spring的bean的话,就 ...
读取properties文件中的内容,可以使用@Value 比如 @Value("${url}")public String url; properties文件内容是 url=xxxxxx 但是它只能在它所在容器中使用。比如spring容器中加载了properties文件,但你这个注解使用在springmvc容器(子容器)的Controller中,那么是获取不到的。 ------------------------------------------------- 关于父子容器: 子容器能够访问父容器的资源,父容器能够访问子容器的资源。 我们在web.xm ...
package com.jayway.springsessionexample; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Optional; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.ht ...
keepalived+redis 高可用redis主从解决方案 背景介绍: 目前,Redis还没有一个类似于MySQL Proxy或Oracle RAC的官方HA方案。#Redis 2.8版开始正式提供名为Sentinel的主从切换方案(后面附上,未测试)因此,如何在出现故障时自动转移是一个需要解决的问题。通过对网上一些资料的搜索,有建议采用HAProxy或Keepalived来实现的,事实上如果是做Failover而非负载均衡的话,Keepalived的效率肯定是超过HAProxy的,所以我决定采用Keepalived的方案。
相关问题 2.Redis容量考虑,由于spring seesion依赖redis,考虑是否和业务redis分开? Spring session 一次访问会产生3个key, 根据用户量以及程序中session.setAttribute的量来考虑是否需要跟业务redis分开 3.Redis高可用考虑,由于spring seesion依赖redis,如果redis存在单点故障,将会影响到spring session. 在redis层面做高可用,keepalived or Sentinel or redis3.0 cluster 4.浏览器不支持 cookie 怎么办? Spr ...

DelegatingFilterProxy

摘要: 配置过滤器代理类,通过spring配置的bean来加载过滤器,实际并未解决我所遇到的问题,shiro集成springmvc过程中,配置shiroFiltor抛异常,无法加载shiroFilter这个bean,然而实际我在spring中已经配置好了对应 bean 在web.xml中进行配置,对所有的URL请求进行过滤,就像"击鼓传花"一样,链式处理。 配置分为两种A和B。 A:普通配置 在web.xml中增加如下内容:<filter>    <filter-name>permissionFilter</filter-na ...
通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。Java语言规范对volatile的定义如下: Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。 上面比较绕口,通俗点讲就是说一个变量如果用volatile修饰了,则Java可以确保所有线程看到这个变量的值是一致的,如果某个线程对volati ...
方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类ApplicationObjectSupport 方法四:继承自抽象类WebApplicationObjectSupport 方法五:实现接口ApplicationContextAware 方法六:通过Spring提供的ContextLoader 获取spring中bean的方式总结:  方法一:在初始化时保存ApplicationContext对象 ApplicationContext ac =newFileSy ...
总结如下: 明确了Servlet规范中ServletContext的作用和意义。此外明确一个Tomcat中多个web应用,每个人web应用有唯一的一个ServletContext(全局上下文)。[例子见:同一tomcat多个应用session问题]        这个ServletContext 对应JSP中内置对象javax.servlet.jsp.ServletContext(作用于application全局级) 明确Spring(Spring.context包定义)上下文 
解释一:     要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。 spring的启动过程: 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境;
Global site tag (gtag.js) - Google Analytics