日期:2014-05-18  浏览次数:20627 次

谁能不能给我用通俗的语言讲解一下拦截器啊?
看书看不懂,只好花分数来请教

struts2里面struts.xml这个配置文件,里面这个拦截器到底怎么理解,能不能用通俗易懂的语言
和代码讲解一下,实在理解不了啊

------解决方案--------------------
拦截器属于spring的aop,面向切面编程 简单点说,你用豆浆机打完豆浆,有个过滤网,把豆浆倒上去,豆浆都到碗里去了,豆渣都留下来了,过不去  拦截器的作用就是就是过滤网的作用,有用的消息通过,无用的请留下。
------解决方案--------------------
楼上的大神们用通俗易懂的方式给撸主讲解了拦截器,
我相信如果撸主既然有心学struts2了,必定做过登陆功能了,对吧?
拦截器是AOP思想的一个具体实现。
比如,我进入了一个论坛,我要发水帖,但是人家不让我发,为什么?因为,我没登陆。这个是怎么实现呢===》拦截器的功能.
也就是说,你成功发完一个水帖,struts2需要做两件事情,第一个就是拦截器要做的,通常这种拦截器会去检查session里是否有登陆信息(成功登陆逻辑都会将登陆信息存入session),如果没登陆,弹出提示,如果检查已有登陆,那么就发帖成功。

没环境,用TXT弄了个简易的,格式不好,撸主见谅。

//拦截器类
class Interceptor {
    public static void intercept() {
   if(是否登录了){
SubmitHandler.submitAction();
}
if(!是否登录了){
LoginHandler.loginAction("interceptor");
        }
    }
}


//处理提交水帖的某类
class SubmitHandler{
    public static void submitAction(){
编写你的提交水帖的逻辑
    }
}
//处理登录的某类
class LoginHandler {
    public static void loginAction(String type){
if("interceptor".equals(type)){
写你需要提示客户先登录,再发贴的逻辑
}
    }
}