关于struts2 易做图的问题。希望各位大大帮忙解答一下。
这个易做图的作用是,未登陆的用户跳到登陆页面,登陆用户则可以通过。而这个易做图是能起到作用的,但有个缺点:如果我一开始就登陆然后进拦截页面,他会顺利通过,易做图好使。如果清空Session后,然后让他拦截一次,你再登陆它还是照样拦截。附上代码:易做图代码
public class CheckUserInterceptor implements Interceptor {
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
//System.out.println("qwerqwerqwrqwerqwe");
Map<String,Object> session = invocation.getInvocationContext().getSession();
String userName = (String)session.get("username");
System.out.println("****"+userName);
if (null != userName)
{
return invocation.invoke();
}
return Action.LOGIN;
}
}
Struts里面易做图的布置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" extends="struts-default" namespace="/allweb">
<interceptors>
<!-- 定义权限控制易做图 -->
<interceptor name="checkuser" class="com.goldenroom.interceptor.CheckUserInterceptor"/>
<!-- 定义一个包含权限控制的易做图栈 -->
<interceptor-stack name="checklogin">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="checkuser" />
</interceptor-stack>
</interceptors>
<!-- 定义默认易做图 -->
<default-interceptor-ref name="checklogin" />
<!-- 定义全局处理结果 -->
<global-results>
<!-- 逻辑名为login的结果,映射到/notlogon.html页面 -->
<result name="login">/allweb/notlogon.html</result>
</global-results>
<action name="user" class="com.goldenroom.actions.UserAction">
<result name="showbook">orderbook.jsp</result>
<result name="orders">ordersuccess.jsp</result>
<result name="manager">manager.jsp</result>
<result name="changpwds">pwdsuccess.jsp</result>
<result name="changemails">emailsuccess.jsp</result>
<result name="exit">out.jsp</result>
</action>
</package>
</struts>
求解答啊,这个问题折磨人呀................... --------------------编程问答-------------------- 求解答啊 --------------------编程问答-------------------- 首先,你知道你使用易做图的目的吗?session都被清空了,也没有标识了,怎么不被拦截
补充:Java , Web 开发