java中拦截器在哪配置_配置简单的拦截器java中

springMVC.xml文件中====

java代码

package interceptor;

import org.apache.commons.lang3.StringUtils;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class InterceptorDemo implements HandlerInterceptor {

@Override

public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

System.out.println("进入preHandle方法");

String user_no=httpServletRequest.getSession().getAttribute("user_no").toString();

System.out.println("进入preHandle方法user_no=="+user_no);

if(!StringUtils.isAllBlank(user_no)) {

System.out.println("session有值");

return true;

}

return false;

}

@Override

public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

String url = httpServletRequest.getServletPath();//获取当前url

String contextPath = httpServletRequest.getContextPath();//获取当前项目的根目录

System.out.println("url:"+url);

System.out.println("contextPath:"+contextPath);

System.out.println("进入postHandler 方法");

}

@Override

public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

System.out.println("进入afterCompletion 方法");

}

}

方法二

springMVC.xml文件======

/user/getrsakey.do

/

/user/getMsgCode.do

/user/Login.do

/user/msgLogin.do

/user/getCompanyByCompanyidAndUserNo.do

/user/regist.do

/user/toDownLoadJsp.do

/user/resetPassword.do

后台java代码====

package com.xy.cc.interceptor;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;

import org.springframework.beans.factory.BeanFactory;

import org.springframework.web.context.WebApplicationContext;

import org.springframework.web.context.support.WebApplicationContextUtils;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

import com.xy.cc.controller.BadSurveyController;

import com.xy.cc.service.UserService;

import com.xy.cc.util.CUtil;

public class SpringLoginInterceptor implements HandlerInterceptor{

private static Logger logger = Logger.getLogger( HandlerInterceptor.class);

private static UserService u= null;

private List excludedUrls;

//private static SimpleDateFormat sdf =new SimpleDateFormat("yy-MM-dd HH:mm:ss");

public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object arg2) throws Exception {

String requestUri = req.getRequestURI();

if(!requestUri.endsWith(".do")){//对非.do不拦截

return true;

}

for (String url : excludedUrls) {

if (requestUri.endsWith(url)) {

return true;

}

}

if(null==u) {

getDao("userService",req);

}

String oUsrNo=req.getHeader("oUsrNo");

if(null==u.findBaseInfoByUsrNo(oUsrNo)) {

logger.info("当前请求oUsrNo='"+oUsrNo+"'");

logger.info("当前请求url="+requestUri+"未获取到用户信息");

return false;

}

return true;

}

public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)

throws Exception {

}

public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)

throws Exception {

}

public List getExcludedUrls() {

return excludedUrls;

}

public void setExcludedUrls(List excludedUrls) {

this.excludedUrls = excludedUrls;

}

private void getDao(String t,HttpServletRequest request){

BeanFactory beanFactory = WebApplicationContextUtils.getRequiredWebApplicationContext((request.getSession()).getServletContext());

u=(UserService) beanFactory.getBean(t);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值