Struts2拦截器为什么执行不到?

packagecom.cib.util;importjava.util.Map;importcom.opensymphony.xwork2.Action;importco... package com.cib.util;

import java.util.Map;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class AuthorityInterceptor extends AbstractInterceptor {

//@Override
//public String intercept(ActionInvocation arg0) throws Exception {
// // TODO Auto-generated method stub
// return null;
//}
private static final long serialVersionUID = 1358600090729208361L;

//拦截Action处理的拦截方法
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("************************************");
// 取得请求相关的ActionContext实例
ActionContext ctx=invocation.getInvocationContext();
Map session=ctx.getSession();
//取出名为user的session属性
String user=(String)session.get("user");
//如果没有登陆,或者登陆所有的用户名不是aumy,都返回重新登陆
if(user!=null && user.equals("aumy")){
return invocation.invoke();
}
//没有登陆,将服务器提示设置成一个HttpServletRequest属性
ctx.put("tip","您还没有登录,请登陆系统");
System.out.println("tip="+ctx.get("tip"));
return Action.LOGIN;
}

}
// 处理用户请求的execute方法
public String execute() throws Exception {
if (isInvalid(getUsername()))
return INPUT;

if (isInvalid(getPassword()))
return INPUT;

if ((getUsername().equals("mm") || getUsername().equals("aumy"))
&& getPassword().equals("111")) {
// 通过ActionContext对象访问Web应用的Session
ActionContext.getContext().getSession().put("user", getUsername());
ActionContext.getContext().getSession().put("pass", getPassword());
System.out.println(getUsername() + "----" + getPassword());
return SUCCESS;
} else {
System.out.println(getUsername() + "----" + getPassword());
return ERROR;
}
}
展开
 我来答
akjamie
2011-08-25 · TA获得超过100个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:82.9万
展开全部
拦截器配置是不是有问题:给你个配置的例子:
<package namespace="/" name="userManager"
extends="struts-default">
<!-- 拦截器 -->
<interceptors>
<interceptor name="securityInterceptor" class="org.itfuture.interceptor.SecurityInterceptor"></interceptor>
<interceptor-stack name="default">
<!-- 自定义拦截器-->
<interceptor-ref name="securityInterceptor"></interceptor-ref>
<!--— 必须引用struts默认的拦截器 ———>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>

<default-interceptor-ref name="default"></default-interceptor-ref>
<default-action-ref name="index"></default-action-ref>
<!-- 全局结果集 -->
<global-results>
<result name="login">/login.jsp</result>
</global-results>
<!-- loginAction -->
<action name="login" class="org.itfuture.hr.action.UserAction">
<result name="index">/WEB-INF/hr/index.jsp</result>
<result name="adminIndex">/WEB-INF/hr/user-list.jsp</result>
<result name="input">/login.jsp</result>
</action>
<!-- userAction -->
<action name="user" class="org.itfuture.hr.action.UserAction">
<result name="input">/regist.jsp</result>
<result name="updateInput" type="redirectAction">login</result>
<result name="update">user!list</result>
<result name="list">/WEB-INF/hr/user-list.jsp</result>
<result name="logout">/login.jsp</result>
</action>
<!-- registAction -->
<action name="regist" class="org.itfuture.hr.action.UserAction">

<interceptor-ref name="default"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result name="invalid.token">/recommitErr.jsp</result>
<result name="input">/regist.jsp</result>
<result name="update" type="redirect">user!list</result>
<result name="regist" type="dispatcher">/login.jsp</result>
<result>/login.jsp</result>
</action>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
kisstao1990
2011-09-02
知道答主
回答量:12
采纳率:0%
帮助的人:7.1万
展开全部
在拦截器那里设置一个断点调试下.调用Action之前是会先进入拦截器的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqyzs03
2011-08-26
知道答主
回答量:11
采纳率:0%
帮助的人:5万
展开全部
拦截器执行不了
如果连第一行的*************都不打印的话,很明显是你
struts.xml中配置文件出问题了。你不把那段代码发出来怎么给你看呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式