`
xurichusheng
  • 浏览: 335879 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

一个 Spring 拦截器

阅读更多
package com.common.core.interceptor;

import java.util.HashMap;

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

import org.apache.log4j.Logger;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.iss.delver.entity.Classes;
import com.iss.delver.entity.Employee;
import com.iss.delver.entity.Tenant;

/**
* Spring 拦截器
*
* @author jhwen
*
*/

public class SessionInterceptor extends HandlerInterceptorAdapter {

private final Logger logger = Logger.getLogger(SessionInterceptor.class);

/**
* 在业务处理器处理请求之前被调用
*/
@SuppressWarnings("unchecked")
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object obj) throws Exception {
// TODO Auto-generated method stub

/**
* 拿到application上的hm
* 已经在登录的时候绑定 hm
*/
HashMap hm=(HashMap)request.getSession().getServletContext().getAttribute("hm");

//判断是否已经登录
if(hm == null){

//重新绑定
hm = new HashMap();
request.getSession().getServletContext().setAttribute("hm",hm);
// return true;

Employee emp = (Employee)request.getSession().getAttribute("emp");

Tenant tenant = (Tenant)request.getSession().getAttribute("tt");

Classes cls = (Classes)request.getSession().getAttribute("cls");

if(null == emp || null==tenant || null==cls){

response.sendRedirect("index.ftl");

return false;
}
return true;
}else{
return true;
}
}

/**
* 在业务处理器处理完请求后
*/
// @Override
// public void postHandle(HttpServletRequest request, HttpServletResponse response,
// Object handler, ModelAndView model) throws Exception {
// // TODO Auto-generated method stub
//
// logger.debug("===== postHandle ======");
//
// //拿到绑定在  session 上的对象
// Employee emp = (Employee)request.getSession().getAttribute("emp");
//
// Tenant tenant = (Tenant)request.getSession().getAttribute("tt");
//
// Classes cls = (Classes)request.getSession().getAttribute("cls");
//
// if(null == emp || null==tenant || null==cls){
// //如果未登录,则跳转到登录页面
// response.sendRedirect("index.ftl");
// }
// }
//
// /**
// * 在DispatcherServlet完全处理完请求后被调用
// */
// @Override
// public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
//      throws Exception{
//
// logger.debug("===== afterCompletion ======");
//
// //拿到绑定在  session 上的对象
// Employee emp = (Employee)request.getSession().getAttribute("emp");
//
// Tenant tenant = (Tenant)request.getSession().getAttribute("tt");
//
// Classes cls = (Classes)request.getSession().getAttribute("cls");
//
// if(null == emp || null==tenant || null==cls){
// //如果未登录,则跳转到登录页面
// response.sendRedirect("index.ftl");
// }
// }

}


applicationContext.xml

<!-- 拦截器 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" >
    <property name="interceptors">
   
    <bean class="com.iss.delver.common.core.interceptor.SessionInterceptor" />
   
    </property>
    </bean>
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics