SpringMVC中实现自己的拦截器

在springMVC中要实现自己的拦截器对某些访问进行拦截,主要是继承HandlerInterceptorAdapter,主要步骤如下:

1、在app-config.xml中加入如下配置

	<mvc:interceptors>
		<bean class="com.listener.CommonInterceptor" />
	</mvc:interceptors>


 

如果需要对指定url进行拦截,则做如下配置:

<mvc:interceptors>  
        <mvc:interceptor>   
          <mvc:mapping path="/saveObjectInstance.do"/>    
            <mvc:mapping path="/createObjectInstance.do"/>    
           <mvc:mapping path="/cloneObjectInstance.do"/>   
            <bean class="com.listener.CommonInterceptor" />   
       </mvc:interceptor>  
</mvc:interceptors>  


 

2、其中com.listener.CommonInterceptor 代码如下(继承HandlerInterceptorAdapter)

package com.yjh.mobile.listener;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.logging.Logger;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.yjh.core.common.CommonStaticConstant;
import com.yjh.core.mapper.user.UserMapper;
import com.yjh.core.model.user.User;
import com.yjh.mobile.common.Context;
import com.yjh.mobile.controller.goods.CollectGoodsController;
import com.yjh.mobile.controller.user.UserBrowseGoodsController;

/**
 * 通用拦截 拦截后做一些异常或者日志处理
 * @author atao
 *
 */
public class CommonInterceptor extends HandlerInterceptorAdapter{
	 

	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception 
	{
		 //处理自己的拦截业务
		System.out.println("test");
		return true;
	}

	 

	 

}


其中spring中的HandlerInterceptorAdapter代码如下:

/*
 * Copyright 2002-2012 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.web.servlet.handler;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.AsyncHandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

/**
 * Abstract adapter class for the HandlerInterceptor interface,
 * for simplified implementation of pre-only/post-only interceptors.
 *
 * @author Juergen Hoeller
 * @since 05.12.2003
 */
public abstract class HandlerInterceptorAdapter implements AsyncHandlerInterceptor {

	/**
	 * This implementation always returns {@code true}.
	 */
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
		throws Exception {
		return true;
	}

	/**
	 * This implementation is empty.
	 */
	@Override
	public void postHandle(
			HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
			throws Exception {
	}

	/**
	 * This implementation is empty.
	 */
	@Override
	public void afterCompletion(
			HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
	}

	/**
	 * This implementation is empty.
	 */
	@Override
	public void afterConcurrentHandlingStarted(
			HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
	}

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值