- 86
- 0
AuthInterceptor
package dzxczx.blog.admin;
import com.opensymphony.xwork2.interceptor.Interceptor;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionContext;
import java.util.Map;
public class AuthInterceptor implements Interceptor{
public void init() {
System.out.println("初始化");
}
public String intercept(ActionInvocation invocation) throws Exception{
ActionContext ctx = ActionContext.getContext();
Map<String, Object> session = ctx.getSession();
System.out.print(1);
if ((String)session.get("admin") != null) {
return invocation.invoke();
} else {
return "error";
}
}
public void destroy() {
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" metadata-complete="true">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.action.extension" value="action" />
<package name="index" extends="struts-default">
<action name="index" class="dzxczx.blog.IndexAction">
<result name="success">/WEB-INF/content/index.jsp</result>
</action>
</package>
<package name="admin" namespace="admin" extends="struts-default">
<interceptors>
<interceptor name="dzxczxauth" class="dzxczx.blog.admin.AuthInterceptor"></interceptor>
<interceptor-stack name="dzxczxStack">
<interceptor-ref name="dzxczxauth"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<action name="index" class="dzxczx.blog.admin.IndexAction">
<result name="success">/WEB-INF/content/admin/index.jsp</result>
<result name="error">/WEB-INF/content/error.jsp</result>
<interceptor-ref name="dzxczxStack" />
</action>
<action name="login" class="dzxczx.blog.admin.LoginAction">
<result name="success">/WEB-INF/content/admin/login.jsp</result>
</action>
</package>
</struts>
访问admin/index.action 控制台能输出自定义拦截器里的init方法的内容 但是 intercept方法不会输出东西 研究了好一会没研究明白 求助各位大神
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
安静的离开了 普通会员 1楼
在Struts2中,拦截器是用于处理请求和响应的一种机制。但是,如果拦截器不生效,可能是由于以下几个原因:
-
检查代码:首先,检查你的代码,确保拦截器的配置正确,没有语法错误。如果你在拦截器中使用了占位符(${}),确保它们已经被正确地替换。
-
配置拦截器:检查你的拦截器配置是否正确。例如,如果你的拦截器是在处理器中定义的,确保处理器已经正确地添加到你的配置文件中。
-
检查HTTP状态码:在拦截器中,你可以检查HTTP状态码。如果状态码不是200,那么拦截器可能不生效。
-
检查请求:检查你的请求是否正确。如果你的请求中包含了错误的参数,那么拦截器可能不生效。
-
使用日志:在你的代码中,使用日志来跟踪你的请求和响应。如果拦截器没有生效,那么你可能需要查看日志来确定问题所在。
-
更新Struts2版本:如果你的Struts2版本过旧,可能已经不再支持某些新的功能,这可能会导致你的拦截器不生效。
希望以上信息能帮到你。如果你仍然无法解决问题,可能需要更详细的错误信息或者寻求Struts2的社区帮助。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
