力所能及之struts2拦截器

我们看struts的底层代码struts-default.xml中发现好多interceptor,这个究竟是什么??今天小狼就告诉你哦。。。

写一个简单的jsp,在里面写一个简单的链接

<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
<%@ taglib uri="/struts-tags"   prefix="s"%>
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
    </head>
  <body>
      测试拦截器:<br>
        <a href="userAction_save.love">test</a><br>
  
  </body>
</html>
写一个简单的action,配置一下struts .xml。把这个工程跑通就ok了。

下面,我们来写一个自定义拦截器类,实现Interceptor接口。别的方法就空实现就行,我们先把工程的主体需求跑通。这里就写一个Intercept方法

zcy.test.aop.ExpessionInterceptor.java

public String intercept(ActionInvocation invocation) throws Exception {
		// TODO Auto-generated method stub
		Map sessionMap = ServletActionContext.getContext().getSession();

		Object obj = sessionMap.get("user");

		if (obj == null || obj.equals("")) {
			return "error";
		} else {
			return invocation.invoke();
		}
	}

下面配置一下struts.xml,在当前包下加入如下配置

<interceptors>
			<!-- 声明自定义的拦截器 -->
			<interceptor name="expessionInterceptor" class="zcy.test.aop.ExpessionInterceptor" />
			
			<!-- 声明自定义拦截器栈 -->
			<interceptor-stack name="expessionStack">
                <interceptor-ref name="defaultStack"/>
                
                <!-- 配置使用自定义拦截器 -->
                <interceptor-ref name="expessionInterceptor"/>
                
            </interceptor-stack>
		</interceptors>
		
		<!-- 配置修改struts2框架运行时,默认执行的是自定义拦截器栈 -->
		<default-interceptor-ref name="expessionStack" />

这样就ok了,一个简单的struts2自定义拦截器就ok了。。。小狼说的够清楚了吧。亲爱的亲们留下你们的观后感吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值