当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

struts2拦截器配置

发表于: 2011-05-27   作者:g21121   来源:转载   浏览:
摘要: 在struts2中有自己默认的拦截器,但是在很多时候我们需要一个自己的拦截器去处理例如:用户权限控制,用户登录控制,异常处理等。所以这时我们就需要定义一个自己的拦截器了! 拦截器配置: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Ap

在struts2中有自己默认的拦截器,但是在很多时候我们需要一个自己的拦截器去处理例如:用户权限控制,用户登录控制,异常处理等。所以这时我们就需要定义一个自己的拦截器了!

拦截器配置:

<?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>
	<!-- 拦截器默认包 -->
	<package name="interceptor-default" namespace="/" extends="struts-default">
		<!-- 定义一个拦截器 -->
		<interceptors>
			<!-- 自定义拦截器  -->
			<interceptor name="authority"
				class="com.xxxinterceptot.AuthorityInterceptor">
			</interceptor>
			<!-- 拦截器栈 -->
			<interceptor-stack name="authorityInterceptor">
				<interceptor-ref name="defaultStack" />
				<interceptor-ref name="authority" />
			</interceptor-stack>
		</interceptors>
		<!-- 设置成为默认拦截器 -->
		<default-interceptor-ref name="authorityInterceptor" />
		<!--  定义全局跳转页面 -->
		<global-results>
			<!-- 拦截器异常 -->
			<result name="interceptotException">error.jsp</result>
			<!-- 服务层异常 -->
			<result name="serviceException">error.jsp</result>
			<!-- 登录异常 -->
			<result name="loginException">login_error.jsp</result>
			<!-- 登录页面 -->
			<result name="login">timeout_error.jsp</result>
			<!-- 错误页面 -->
			<result name="error">error.jsp</result>
		</global-results>
		<!-- 定义异常捕获页面 -->
		<global-exception-mappings>
			<exception-mapping exception="com.xxx.exception.ServiceException" result="serviceException"/>
			<exception-mapping exception="com.xxx.exception.LoginException" result="loginException"/>
			<exception-mapping exception="com.xxx.exception.InterceptotException" result="interceptotException"/>
		</global-exception-mappings>
	</package>
</struts>    

 拦截器实现:

public class AuthorityInterceptor extends AbstractInterceptor {

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		// 获取request请求
	           HttpServletRequest request = ServletActionContext.getRequest();
		// 获取response请求
		HttpServletResponse response = ServletActionContext.getResponse();
		// 跳出拦截器,进入action
                return invocation.invoke();

                 }
}

    

struts2拦截器配置

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
MyTimerAction Action类 package action; import com.opensymphony.xwork2.Action; public class My
图示: User 实体类 package entity; public class User { private String username; private Strin
首先来看一张图片: 箭头的方法代表我们的请求,把OpenSessionInView放到前面是先进后出。首先经过Op
包中的拦截器(可以拦截package中的所有的action) 如果某一个action中已经有了一个拦截器,那么pac
1、Struts2中使用拦截器来扩展Action的功能,往往是用来处理Action之间通用的事务,比如:记录日志
1、Struts2实现原理: 当请求到达Struts 2的ServletDispatcher时,Struts 2会查找配置文件,并根据
1. 理解拦截器 1.1. 什么是拦截器: 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方
转自:http://www.blogjava.net/zhoumiao0123/archive/2008/08/10/221088.html 本文为本人翻译strut
在Action前用拦截器是直接return act.invoke()。只要把收尾操作放到act.invoke()和return result;之
在之前的文章中,我们已经涉及到了拦截器(Interceptor)的概念。 downpour 写道 拦截器是AOP中的概
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号