关于拦截器和过滤器以及实现国际化和session超时验证

今天在单位看了一下拦截器和过滤器,有相似也有不同。一下只先浅谈一下自己的理解,至于特别官方的描述以后补充

首先说说过滤器,过滤器是在web.xml里面配置的,然后要实现一个Filter类,里面有三个方法,init,destroy,和doFilter,主要是在doFilter方法里面进行操作

在web.xml里面可以配置那些action要被过滤,一般所有action都会进入doFilter方法,然后在方法里面进行筛选。在doFilter方法里面我们不仅可以判断那些action

可以执行那些不能执行还可以做很多事情,比如说设置国际化本地语言,这里只是把需要设置的语言放到session里面,然后再在统一的拦截器里面调用ServlteActionContext的getSession的setLocale方法设置因为过滤器里面没有action的上下文。还可以判断session是否超时,时时监控用户的状态等等。

再说说拦截器,这里主要说的是身体乳头上2的拦截器,这个需要在struts.xml文件里面进行配置,配置方法不做描述,到时候会做一个例子。拦截器里面有action的上下文

 

实现国际化的过程

1 先读取配置文件是中文还是英文,这个是在初始化加载的时候就读取好并且放到一个静态变量里面(如何初始化加载:在web.xml里面配置一个listerner就ok了)

2在过滤器里根据实际情况设置好locale并且放到session里面,而且还要添加cookie

3在同一的拦截器里面进行设置。

 

判断是否超时的过程

1在登陆成功后给session设置一个时长,给那个session呢,ServlteActionContext.getSession过了时间session会自动变成null的。

2在过滤器里面判断session是否为空就可以了

 

3时监控用户状态

1每次在过滤器里面进行用户信息检查就可以

2具体情况得具体分析

 

java还可以调用javascript代码,也可以设置cookie 

有时间了会补做一个小例子的,现在只是纸上谈兵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值