为什么定义的拦截器死活都进不去!各位大虾看看吧!~~struts2的~~

拦截器的配置:

<interceptors>
        <interceptor name="authority"
            class="com.softeem.assurance.interceptor.AuthorityInterceptor ">
        </interceptor>
        <interceptor-stack name="myInterceptor">
            <interceptor-ref name="defaultStack"></interceptor-ref>
            <interceptor-ref name="authority" ></interceptor-ref>
        </interceptor-stack>
</interceptors>

    <default-interceptor-ref name="authority"></default-interceptor-ref>

    <global-results>
             <result name="login">/login.jsp</result>
    </global-results>

    <action name="user*"
        class="com.softeem.assurance.user.action.UserAction" method="{1}">
        <!-- 
        <result name="loginsuccess" type="redirect">userFindRole.action</result>
        <result name="loginfailure">/login.jsp</result>
         -->
        <interceptor-ref name="authority"></interceptor-ref>        
        <result name="failure">/login.jsp</result>
        <result name="baogao">/baogao.jsp</result>
        <result name="success">/main.jsp</result>
        <result name="listsuccess">/tab/userList.jsp</result>
        <result name="findByNameSuccess">/tab/userList.jsp</result>
        <result name="findByRoleSuccess">/tab/userList.jsp</result>
        <result name="userDeleteSuccess">userList.action</result>
        <result name="preSuccess">/tab/userAdd.jsp</result>
        <result name="addSuccess" type="redirect">userList.action</result>
        <result name="preModifySuccess">/tab/userModify.jsp</result>
        <result name="updateSuccess" type="redirect">userList.action</result>   
    </action>

</package>

拦截器代码:

public String intercept(ActionInvocation arg0) throws Exception {
System.out.println("interceptor: ");
ActionContext ac = arg0.getInvocationContext();
Object obj = ac.getSession().get("user");
if(obj != null){
return arg0.invoke();
}else{

        return "login";
    }
}

死活都输不出来我想要的内容

0

6个回答


class="com.softeem.assurance.interceptor.AuthorityInterceptor ">





你把拦截器栈配错了,当然取不到值

0

我测试过,拦截器已经调用,你想要的内容是什么?

0

那奇怪了,你设置断点跟踪一下,看你的请求是否进入了Struts2,是否进入了拦截器。在FilterDispather的doFilter设断点。

0

改成这样试试
[code="java"]

[/code]

0

[quote]
貌似没有这玩意
[/quote]
什么意思?你开发总会用个IDE吧,我一般就用Eclipse,当然有调试部分了。

0

进入登录判断前先这样
Object action = ai.getAction();
if (action instanceOf LoginAction || action instanceOf RegisterAction) {
return ai.invoke();
}

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
struts2中配置拦截器、拦截器栈和默认拦截器
在struts.xml中配置,具体代码如下 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> user,client login
struts2笔记之拦截器的定义声明引用和其生命周期到Struts主要执行流程
拦截器:拦截器类似于过滤器的功能,过滤器可以过滤项目的任何请求(servlet/jsp/html/img),拦截器只能拦截Action请求。 定义拦截器interceptor :实现Interceptor接口 实现必须的三个方法 init() :拦截器初始化 服务器启动时候就初始化所有需要的拦截器 intercept(ActionInvocation
Struts2中的拦截器,你都用它干什么?
struts2中的的功能(参数处理、文件上传、字符编码等)都是通过系统拦截器实现的。如果业务需要,当然我们也可以自定义拦截器,进行可插拔配置,在执行  Action  的方法前后、加入相关逻辑完成业务。使用场景:1、用户登录判断,在执行 Action的前面判断是否已经登录,如果没有登录的跳转到登录页面。2、用户权限判断,在执行 Action的前面判断是否具有,如果没有权限就给出提示信息。3、操作日...
Struts2学习(五)---什么时候用过滤器和拦截器及区别
过滤器和拦截器的区别:1、拦截器是基于java的反射机制的,而过滤器是基于函数回调 。 2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 。 3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求 起作用 。 4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能 。 5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在
关于ssh整合后struts2拦截器不起作用(blog-1)
把struts2的拦截器配置给spring就行了。 struts.xml的配置: &amp;lt;interceptors&amp;gt;             &amp;lt;interceptor name=&quot;checkLoginInterceptor&quot; class=&quot;checkLogin&quot;&amp;gt;&amp;lt;/interceptor&amp;gt;                          &amp;lt;interce...
快速入门Struts2㊂拦截器,不登陆别想访问我
1 拦截器? 2 不登陆别想进这个页面 2.1 写一个Struts2不用数据库的简单登陆 2.2 编写自定义的登陆拦截器 更多Struts2在框架开发 1 拦截器? Struts2封装了很多的功能,这些功能都在拦截器里面,每次都会执行默认拦截器。Struts2中的拦截器有点类似于传统的过滤器,是AOP思想(不通过修改源代码的方式扩展功能)与责任链模式(类似过...
Struts2全局拦截器
Struts2全局拦截器
Struts2自定义拦截器,检查用户是否登录
自定义拦截器,检查用户是否登录
Struts2 自定义拦截器(interceptor)
Struts2 拦截器(interceptor)
struts2多个自定义拦截器的栈
//struts.xml中: //加入自己的myStack栈,规定好拦截器顺序 //在最下方引用中,不再写拦截器引用,而是自定义拦截器栈的引用<package name="user" namespace="/" extends="globle"> <interceptors> <interceptor name="myInterceptor" class="interceptor.MyInter
struts2全局拦截器
其他生成的包继承这个包就可以了,就可以实现全局拦截
Struts2中的拦截器使用方法
Struts2中的拦截器使用方法拦截器的介绍什么是拦截器?拦截器的生命周期如何新建一个自定义的拦截器?自定义的拦截器如何配置在struts.xml框架主配置文件里呢? 拦截器的介绍 什么是拦截器? 当一个请求到服务端首先在MVC模式下会执行到Action来响应一个请求,而拦截器是在Action之前被调用的一个对象(Class)。拦截器就是一个类 拦截器的生命周期 Created with Raph...
Struts2 预定义拦截器&拦截器栈 和自定义拦截器简单实例
Struts2 拦截器是在访问某个 Action 或 Action 的某个方法,字段之前或之后实施拦截,并且 Struts2 拦截器是可 插拔的,拦截器是AOP的一种实现. 优点:通用功能的封装,提供了可重用性; 二、Struts2预定义拦截器&amp;拦截器栈 struts-default.xml中就有很多预定义的拦截器; 在执行action之前和之后,拦截器进行了操作; ...
struts2拦截器使用(部分拦截和全局拦截器)
应用场景:在请求处理之前拦截请求,做出相关处理。比如在一个网站中,用户尚未登录那么他是无法查看个人信息界面的。这时候我们就可以使用拦截器来拦截他访问个人信息的界面的请求。具体如下(这里主要是struts2自定义拦截器的方法): struts2自定义拦截器: 1  实现Iterceptor接口或者继承AbstractInterceptor 2 在struts.xml文件配置拦截器 3 在需要...
Struts2自定义登录验证拦截器
Controller.UserAction.java package Controller; import java.util.Map; import com.opensymphony.xwork2.ActionContext; public class UserAction { private String username; private String pass; //|POS
Struts2(二)-Struts2之参数绑定和拦截器
Struts2使用原生Servlet的API获取表单的参数,使用模型驱动的方式获取表单参数。 使用原生Servlet的API向页面传递参数。 使用拦截器,做登录校验。
struts2中自带的拦截器和defaultStack拦截器栈
struts2中系统自带的拦截器清点,defaultStack内容清点
Struts2学习笔记(四)之——struts.xml配置文拦截器
struts.xml &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt; &amp;lt;!DOCTYPE struts PUBLIC &quot;-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quot; &quot;http://struts.apache.org/dtds/struts-2....
Struts2 拦截器(Interceptor )原理和配置
Struts2 拦截器拦截器在概念上与servlet过滤器或JDK代理类相同。拦截器允许横切功能,把action以及框架分开实现。你可以使用拦截器实现以下操作:在调用action之前提供预处理逻辑。在调用action后提供后处理逻辑。捕获异常,以便可以执行备用处理。Struts2框架中提供的许多功能都是使用拦截器实现的,包括异常处理,文件上传,生命周期回调和验证等。事实上,由于Struts2将其大...
struts2之通配符、页面跳转、拦截器
一:通配符          1.1:含义               通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使用它来代替一个或多个真正字符;         2.2:实例                  (jsp页面)                              pageEncoding="UTF-8"%>    
struts2自定义拦截器并配置拦截器使其生效
struts2自定义拦截器并配置拦截器使其生效
Struts2学习总结(十):paramsPrepareParams拦截器栈
1. paramsPrepareParamsStack:
struts2 中package的默认拦截器不能拦截某些action的原因
package中action在添加fileUpload的拦截器的时候会在之前下面的代码: 给出的解释是配置fileUpload的拦截器会使默认的拦截器失效, 所以在配置package的默认拦截器的时候如果还写defaultStack就会使package的默认拦截器失效 所以defaultStack就应该改写为package的默认拦截器
在struts2中配置自定义拦截器放行多个方法
在struts2中配置自定义拦截器放行多个方法 源码: 自定义的拦截器类: //自定义拦截器类:LoginInterceptor ; package com.java.action.interceptor; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext;
struts2拦截器栈
拦截器栈一个栈里可以有多个拦截,你可以用栈拦截信息,也可以用单独的拦截器拦截或者两者一起。比如你有一个消息需要拦截它的两个内容,你针对两个内容配置了两个拦截器,这时候就可以配置拦截器栈把两个拦截器配置进去,用这个栈去拦截。它就像是多拦截器可选择的集合,用起来灵活些。拦截器栈 覆盖拦截器栈中拦截器的参数值得覆盖拦截器栈中拦截器的参数值得有时在配置Action时引用一个拦截器栈,但是还需要覆盖拦截器栈中
JavaEE--SSH--structs2-自定义多个拦截器及拦截器链(栈)的使用演示
之前我已经介绍过了自定义拦截器的使用方法.通常我们使用拦截器来对action请求进行功能增强.但是在使用自定义拦截器后会导致struts2内置的拦截器失效.这样就会影响action的正常存取参数.下面我来演示一下如何避免这种情况的发生.1.首先创建项目2.导入struts2的相关jar包3.创建struts.xml&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;g...
Action 与 拦截器执行的顺序
Action 是在访问的时候执行。并且先执行Action创建,再执行拦截器。即先Action再拦截器。所以总的顺序是:Action中有:private String name;get(),set()方法!execute方法;
Struts2自定义拦截器应用
1. Struts2自定义拦截器需要实现的接口或类的关系 2. 自定义拦截器简易示例 public class TestInterceptor extends MethodFilterInterceptor(){ @override public String doIntercept(ActionInvocation invocation) thorws Excepti...
Struts 2 - 在 web.xml 中配置拦截器和前后台权限过滤器
现在只是为将来总结提示一下,以后再将运行流程详细解说并将源码添加到附件上,同时加深自己对 Struts 运行机制。 Architects Guide Figure 1  Struts 2 Framework's Architecture     AuthorityFilter.java   package com.tucue.interceptor; import j...
Struts2最新版(2.5.12)快速入门(四) struts2之拦截器(Interceptor)
一、初识拦截器           1、拦截器原理                    "拦截器"顾名即可思义,它是对action的请求做出拦截,然后处理访问到action之前相应的业务逻辑。其原理还是比较简单的,当请求到我们的action的时候,struts2会去查找配置文件,                    或者配置的annotation根据找到的拦截器配置去实例相对应的拦
struts2中定义拦截器对访问权限进行控制
我们在定义权限时,首先要还是要清楚的了解到权限的分类这一概念问题:            说的简单一点,我们使用拦截器对用户的访问权限进行控制时,总不能全部到拦截到吧,如果全部拦截,我们甚至连登陆都做不到,因此我们要清楚的知道有哪些权限需要我们来进行控制,将这些权限的action地址统一存储到我们的数据库的权限列表中,在进行数据访问时,我们只需要获取到url栏中的地址,查看这个权限是否需要我们控
Struts2拦截器Interceptor创建与配置
一、Interceptor类创建这里有一点需要注意:如果放行了,就不会再执行最后return的结果了,参考论坛讨论:https://bbs.csdn.net/topics/370194837 12楼的回答:楼上是正解,这是struts2的机制,只要调用 invoke()方法后,如果能成功的调用了对应Action类中的方法,strtus2就会按照该方法的返回值去找对应的result,从而忽略拦截器的...
Struts2内置拦截器timer的使用
随时随地阅读更多技术实战干货,充分利用闲暇时间,请关注源代码社区公众号和技术交流群。 TestAction: package com.home.web.action; import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport { /** ser...
Struts2-使用myeclipse时,控制台不输出timer拦截器中的信息的解决方案
学习拦截器的timer时,myeclipse始终无法在控制台打印输出timer拦截器的时间信息,此时控制台中有如下提示: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to th
【Struts2】【后台输入效验】【validation拦截器】
原理: 后台输入效验,是在Action类已经得到参数后,在使用参数前,判断参数是否符合业务要求,不符合,跳转到别的逻辑视图 注意点:判断时候要判断是否为空,防止空指针异常 输入效验的拦截器 validation拦截器: 将错误原因存入fieldErrors中 workflow拦截器 判断fieldErrors是否有错误信息,若有,就return “input”;(默认逻辑视
关于Struts2的拦截jsp的一些了解
这几天在做一个小项目,想要实现在未登录的时候无法访问除登录页面的其他页面。但是Struts2的拦截器配置只能拦截action,无法拦截jsp或者html页面,我们当然可以通过写一个filter来实现拦截,但是Struts2的机制中有这样的一点。就是在WEB-INF下的文件是无法直接访问的,所以我们可以把这些文件放到WEB-INF下,然后通过action的result返回配置返回页面。然后在acti
Struts2拦截器、拦截器栈(Interceptor Stack)、全局拦截器与方法拦截器
Struts2拦截器原理 Struts2拦截器是在访问某个Action或Action的方法之前或之后实施拦截。在请求Struts2的Action时,Struts2会查找配置文件,并根据配置文件实例化相应的拦截器对象。Struts2拦截器配置 struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC
struts2-timer拦截器实例
都配置完成控制台没反映或不起作用点击这里timer拦截器可以实现输出Action的执行时间~ 先创建一个Action并加长他的执行时间package com.xxx.action; import com.opensymphony.xwork2.ActionSupport;public class MyAction extends ActionSupport { @Override p
Struts2 自定义拦截器
1.自定义一个实现Interceptor的自定义拦截器类 package cn.gh.interceptor.myinter; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interc
解决方法|struts2执行action前加入拦截器,导致获取不到参数
今天学到使用ONGL表达式实现类型转换虽然我还是不懂ONGL表达式是啥,但抱着“先get书本例子的方法再慢慢深入学习”的想法还是跟着书本敲代码结果!在结果页面里怎么也获取不到输入的参数!经过百度后发现,是因为我使用了自定义的拦截器,如果在配置文件中加入了自定义的拦截器,那默认的拦截器就不会起作用,在Action中就不能取得表单的参数这个时候,就需要显式地调用默认的拦截器defaultStack(注...