问题描述
小弟初学拦截器 现做了个登录拦截器 没起作用 帮我看下 少什么东西struts.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constant name="struts.devMode" value="true"></constant><constant name="struts.i18n.encoding" value="UTF-8"></constant><package name="authority" extends="struts-default"><interceptors><interceptor name="authority" class="com.dg.util.common.LoginInterceptor" /><interceptor-stack name="mydefault"><interceptor-ref name="defaultStack"></interceptor-ref><interceptor-ref name="authority"></interceptor-ref></interceptor-stack></interceptors><default-interceptor-ref name="mydefault"></default-interceptor-ref><global-results><result name="input" type="redirect">/login.jsp</result></global-results></package><include file="struts-sys.xml"></include><include file="struts-equ.xml"></include><include file="struts-equtest.xml"></include><include file="struts-equrepair.xml"></include></struts> LoginInterceptor.javapackage com.dg.util.common;import java.util.Map;import com.dg.dtjc.sys.user.vo.TblUser;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginInterceptor extends AbstractInterceptor {@Overridepublic String intercept(ActionInvocation invocation) throws Exception {Map session =invocation.getInvocationContext().getSession();TblUser tu= (TblUser) session.get("tu");if(null!=tu){System.out.println(tu.getLoginname()+tu.getPassword()+"uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu");//return invocation.invoke();}else{return Action.INPUT;}}}我不登陆直接访问jsp页面 就可以进去 问题补充:问题解决了 其他的packaeg 没有继承interceptors
解决方案
<interceptor-ref name="authority"></interceptor-ref>放在<interceptor-ref name="defaultStack"></interceptor-ref>的前面:<interceptor-ref name="authority"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref>