一个spring拦截action方法的问题,大虾,HELP

hwh_chizai 2008-08-21 04:30:12
我想做一个SESSION验证,本来是想做个过滤,但是只是部分ACTION才用验证SESSION,所以所有SPRING的拦截。居然拦截不到
我晕,帮忙分析下好不

<!--session验证拦截-->

<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<value>/searchverify</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>advisor</value>
</list>
</property>
</bean>


<bean id="advisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">

<property name="advice">

<ref bean="sessionInterceptor"/>

</property>

<property name="patterns">

<list>
<value>.*list</value>
</list>
</property>
</bean>

<bean id="sessionInterceptor" class="greate.ma3go.Interceptor.SessionInterceptor"/>

<bean name="/searchverify" class="greate.ma3go.core.web.action.searchverifyAction" />

就是拦截searchverifyAction里面的list方法

下面是那个拦截器

package greate.ma3go.Interceptor;

import greate.ma3go.core.utils.Constants;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.*;

public class SessionInterceptor implements MethodInterceptor {

protected transient Log logger = LogFactory.getLog(getClass());

public Object invoke(MethodInvocation invocation) throws Throwable

{
logger.info("=======开始拦截=========");
HttpServletRequest request = null;
ActionMapping mapping = null;
Object[] args = invocation.getArguments();
for (int i = 0 ; i < args.length ; i++ )
{
if (args[i] instanceof HttpServletRequest) request = (HttpServletRequest)args[i];
if (args[i] instanceof ActionMapping) mapping = (ActionMapping)args[i];
}
if ( request.getSession().getAttribute(Constants.CURRENT_Personal) != null)
{
return invocation.proceed();
}
else
{
return mapping.findForward("sessionError");
}
}


}

访问/searchverify.do?method=list居然拦截器没起左右哦,
大家研究研究一下




...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwh_chizai 2008-08-25
  • 打赏
  • 举报
回复
过滤器不好用啊,它会为每一个ACTION做过滤,我只要对某些ACTION的某个方法做过滤
hwh_chizai 2008-08-22
  • 打赏
  • 举报
回复
晕死了,还没人回复啊
jinsu_st 2008-08-22
  • 打赏
  • 举报
回复
如果是webwork,直接使用webwork拦截器;如果是struts1.2 直接使用过滤器。没必要使用spring拦截。
hwh_chizai 2008-08-21
  • 打赏
  • 举报
回复
???????别潜水撒,我实在没分了啊
hwh_chizai 2008-08-21
  • 打赏
  • 举报
回复
自己先顶下,别给沉没了

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧