springmvc拦击器

  1. package com.examp.ch23; 
  2. import Java.util.Calendar; 
  3. import Javax.servlet.http.HttpServletRequest; 
  4. import Javax.servlet.http.HttpServletResponse;
  5. import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; 
  6. public class TimeInterceptor extends HandlerInterceptorAdapter { 
  7.                                         //继承HandlerInterceptorAdapter类
  8.     private int openingTime;            //openingTime 属性指定上班时间
  9.     private int closingTime;            //closingTime属性指定下班时间
  10.     private String outsideOfficeHoursPage; 
  11.                                         //outsideOfficeHoursPage属性指定错误
  12.                                           提示页面的URL 
  13.     public void setOpeningTime(int openingTime) { 
  14.         this.openingTime = openingTime; 
  15.     } 
  16.     public void setClosingTime(int closingTime) { 
  17.         this.closingTime = closingTime; 
  18.     } 
  19.     public void setOutsideOfficeHoursPage(String outsideOfficeHoursPage) { 
  20.         this.outsideOfficeHoursPage = outsideOfficeHoursPage; 
  21.     } 
  22.     //重写 preHandle()方法,在业务处理器处理请求之前对该请求进行拦截处理
  23.     public boolean preHandle( 
  24.             HttpServletRequest request, 
  25.             HttpServletResponse response, 
  26.             Object handler) 
  27.     throws Exception { 
  28.         Calendar cal = Calendar.getInstance(); 
  29.         int hour = cal.get(Calendar.HOUR_OF_DAY);       //获取当前时间
  30.         if (openingTime<=hour && hour<closingTime) {    //判断当前是否处于工作
  31.                                                           时间段内 
  32.             return true
  33.         } else
  34.             response.sendRedirect(outsideOfficeHoursPage);  //返回提示页面
  35.             return false
  36.         } 
  37.     } 
  38. }

 

 

    配置文件

  1. <bean id="urlMapping" class="org.springframework.web.servlet.handler.Simple- 
  2. UrlHandlerMapping"> 
  3.         <property name="mappings"
  4.             <props> 
  5.                 <prop key="helloWorld.do">helloWorldAction</prop> 
  6.                 <prop key="login.do">loginController</prop> 
  7.             </props> 
  8.         </property> 
  9.         <property name="interceptors"
  10.                                 <!--在interceptors 属性中定义所有的拦截器--> 
  11.             <list> 
  12.                 <ref bean="officeHoursInterceptor"/> 
  13.                                 <!--引用officeHoursInterceptor 拦截器--> 
  14.             </list> 
  15.         </property> 
  16.          
  17. </bean> 
  18. <!--定义TimeInterceptor拦截器,id为officeHoursInterceptor --> 
  19. <bean id="officeHoursInterceptor"
  20.       class="com.examp.ch23.TimeInterceptor"
  21.     <!--openingTime 属性指定上班时间--> 
  22.     <property name="openingTime"><value>9</value></property> 
  23.     <!--closingTime属性指定下班时间--> 
  24.     <property name="closingTime"><value>18</value></property> 
  25.      <!--outsideOfficeHoursPage属性指定提示页面的URL--> 
  26.     <property name="outsideOfficeHoursPage"><value>http://localhost:8080/
  27.     ch23/outsideOfficeHours.html</value></property> 
  28. </bean>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值