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>
	<constant name="struts.ui.theme" value="simple"/>
	<!-- 创建一个default包,继承自Struts2的struts-default包 -->
	<package name="default" namespace="/" extends="struts-default">
		<!-- 接收处理用户的/helloWorld.action请求 ,
			 并根据返回结果,完成跳转 -->
			 
			 		
		<interceptors>
			
		<interceptor name="loginInter" class="interceptor.AutorInterceptor"></interceptor>
		</interceptors>
			 
	<default-action-ref name="pageerror"/>
	<action name="pageerror">
	<result>builgage.jsp</result>
	</action>
	
	
	<action name="getInfo" class="action.HouseAction" method="getAllHouseInfo">
			<!-- 结果为"success"时,跳转至helloWorld.jsp页面 -->
			<result name="input">login.jsp</result>
			
			<result name="success">welcom.jsp</result>
			
			<interceptor-ref name="loginInter"/>
			<interceptor-ref name="defaultStack"/>
			
			
		</action>
	
		
		<action name="*User" class="action.UserAction" method="{1}">
			<!-- 结果为"success"时,跳转至helloWorld.jsp页面 -->
				
			<result name="lg_success" type="redirectAction">getInfo</result>
				<result name="re_success">login.jsp</result>
			<result name="input">{1}.jsp</result>
			
		</action>
	</package>
</struts>


所谓的拦截器是一种递归形式执行的


2.拦截器处理

package interceptor;

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

public class AutorInterceptor extends AbstractInterceptor {

	@Override
	public String intercept(ActionInvocation invo) throws Exception {
			String str=(String)invo.getInvocationContext().getSession().get("loginUser");
			if(str==null){
				return "input";
			}
			String s=invo.invoke();
			return s;
			
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值