interceptor 拦截器

<?xml version="1.0" encoding= "UTF-8" ?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<constant name ="struts.devMode" value= "true"></constant >

<constant name= "struts.enable.DynamicMethodInvocation" value= "true"></constant >

<package name ="test" namespace="/" extends= "struts-default">

<!--      定义一个权限控制拦截器   -->

<interceptors >

<interceptor name ="authority" class= "com.cola.interceptor.AuthorizationInterceptor" ></interceptor >

</interceptors >

<!--    定义一个全球结果集处理方式,所有经过拦截器的action都会按下面处理跳转 -->

<global-results >

<result name ="login">/login.jsp</ result>

</global-results >

<action name ="test" class= "com.cola.action.TestAction" method ="execute">

<result name ="success" type= "dispatcher">/test.jsp</result >

<!-- 使用拦截器 -->

<interceptor-ref name= "defaultStack"></interceptor-ref >

<interceptor-ref name= "authority"></interceptor-ref >

</action >

</package >

<include file ="struts2.xml"></ include>

</struts>

--------------------------------------------------

package com.cola.interceptor;

import java.util.Map;

import com.cola.bean.User;

import com.opensymphony.xwork2.Action;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.Interceptor;

@SuppressWarnings("all" )

public class AuthorizationInterceptor implements Interceptor{

@Override

public void destroy() {

// TODO Auto-generated method stub

}

@Override

public void init() {

// TODO Auto-generated method stub

}

@Override

public String intercept(ActionInvocation ai) throws Exception {

Map<String,Object> session = ai.getInvocationContext().getSession();

User user = (User) session.get( "user");

if( user!= null){

return ai.invoke();

}

return Action. LOGIN;

}

}

时间: 2024-11-08 14:08:12

interceptor 拦截器的相关文章

springMVC3学习(七)--Interceptor拦截器

Spring为我们提供了:org.springframework.web.servlet.HandlerInterceptor接口, org.springframework.web.servlet.handler.HandlerInterceptorAdapter适配器, 实现这个接口或继承此类,能够很方便的实现自己的拦截器. 有下面三个方法: Action之前运行 public boolean preHandle(HttpServletRequest request, HttpServletR

SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

SpringMVC 中的Interceptor 拦截器

1.配置拦截器 在springMVC.xml配置文件增加: <mvc:interceptors>  <!-- 日志拦截器 -->  <mvc:interceptor>   <mvc:mapping path="/**" />   <mvc:exclude-mapping path="/static/**" />   <bean class="拦截器java代码路径" />  

Spring MVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

SpringMVC中使用Interceptor拦截器详解

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间. 一.定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的.在SpringMVC 中定义一个Interceptor 非常简单,主要有两种方式,第一种方式是要定义的Intercep

Mybatis Interceptor 拦截器原理 源码分析

Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件. 代理链的生成 Mybatis支持对Executor.StatementHandler.PameterHandler和ResultSetHandler进行拦截,也就是说会对这4种对象进行代理. 通过查看Configuration类的源代码我们可以看到,每次都

登录检查 springMVC Interceptor拦截器实现登访问

web开发中经常会遇到浏览网页时,需要用户登陆之后才能访问一些重要的页面,当你访问一些"非法"页面时,也就是如果检查你还没有登录进该系统,则需要先登录,只要你成功登录就可以访问信管内容,实现该功能需要 继承拦截器HandlerInterceptorAdapter,这个类中有三个重要的方法,灰色老哥方法可以先不关注,主要代码实现是绿色那一部分,代码如下: /** * @author  tony * @date  2014-12-17 */ /** * 登录拦截器,只有登录之后才能访问 *

interceptor拦截器实现aop

项目开发过程中,总会出现一些公共性的基础性服务.例如:日志.事务等等.即使在之前的OO的开发过程中,利用封装.继承.多态这些特性已经使开发趋于这样一个比较易扩展.易维护的开发流程.但是对于这些公共性的服务,开发者越来越发现这些代码总是在不断的重复.所以AOP应势而生,基于切面编程其实基于OO这样一个开发理念而形成的.好了,关于AOP的充电过程自行去了解. 直入正题,本文主要是通过interceptor结合ejb的client调用server来实现这样一个aop的效果. 项目驱动,简单介绍一下大体

CXF对Interceptor拦截器的支持

前面在Axis中介绍过Axis的Handler,这里CXF的Interceptor就和Handler的功能类似.在每个请求响应之前或响应之后,做一些事情.这里的Interceptor就和Filter.Struts的Interceptor很类似,提供它的主要作用就是为了很好的降低代码的耦合性,提供代码的内聚性.下面我们就看看CXF的Interceptor是怎么样工作的. 1. 我们就用上面的HelloWorldService,客户端的调用代码重新写一份,代码如下: package com.hoo.