<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 828871
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    在映射請求中添加一個攔截器,自定義攔截器必須實現org.springframework.web.servlet.HandlerInterceptor接口。
    HandlerInterceptor的示例代碼如下:
    public interface HandlerInterceptor
    {
       //在處理器執行前調用
    boolean preHandle(HttpServletRequest request, HttpServletResponse response,   Object handler) throws Exception;

       //在處理器執行后調用
    void postHandle(HttpServletRequest request, HttpServletResponse response,   Object handler,   ModelAndView modelAndView ) throws Exception;
       //在整個請求處理完后調用
    void afterCompletion(HttpServletRequest request, HttpServletResponse response,   Object handler,   Exception    ex) throws Exception;
    }
    ----------------------------------------------------------------------------------------------------------------------------
    文件NotLeaveWord.java
    package dgut.ke.interceptor;

    import java.util.Calendar;

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

    import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

    public class NotLeaveWord extends HandlerInterceptorAdapter
    {
     private int startTime;
     private int endTime;
     private String interceptorPage;
      
     /*通過依賴注入*/
     public void setStartTime(int startTime) {
      this.startTime = startTime;
     }
     public void setEndTime(int endTime) {
      this.endTime = endTime;
     }
     public void setInterceptorPage(String interceptorPage) {
      this.interceptorPage = interceptorPage;
     }
     public int getStartTime() {
      return startTime;
     }
     public int getEndTime() {
      return endTime;
     }
     public String getInterceptorPage() {
      return interceptorPage;
     }
     /*進行攔截處理*/
     public boolean preHandle(HttpServletRequest request,
           HttpServletResponse response,
           Object handler)throws Exception
     {
      Calendar cal = Calendar.getInstance();
      int hour = cal.get(java.util.Calendar.HOUR_OF_DAY);
      if( hour > startTime && hour < endTime)
      {
       request.setAttribute("startTime", this.getStartTime());
       request.setAttribute("endTime", this.getEndTime());
       RequestDispatcher rd = request.getRequestDispatcher(this.getInterceptorPage());
       rd.forward(request, response);
       return false;
      }
      else
      {
       return true ;
      } 
     }
     
    }
    -----------------------------------------------------------------------------------------------------------------

    文件dispatcherServlet-servlet.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<beans>
    <!-- 定義映射 -->
     <bean id="urlMapping"
      class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
      abstract="false" singleton="true" lazy-init="default"
      autowire="default" dependency-check="default">
      <!-- 設置攔截器 -->
      <property name="interceptors">
       <list>
        <ref local="notLeaveWord"/>
       </list>
      </property>
      <property name="mappings">
       <props>
        <prop key="helloWorld.do">helloWorld</prop>
       </props>
      </property>
     </bean>
    <!-- 定義視圖 -->
     <bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      abstract="false" singleton="true" lazy-init="default"
      autowire="default" dependency-check="default">
      <property name="viewClass">
       <value>
       org.springframework.web.servlet.view.JstlView
       </value>
      </property>
      <!-- 定義jsp所在的目錄 -->
      <property name="prefix"><value>/</value></property>
      <property name="suffix"><value>.jsp</value></property>
     </bean>
    <!-- 定義控制器 -->
     <bean id="helloWorld" class="dgut.ke.action.HelloWorld"
      abstract="false" singleton="true" lazy-init="default"
      autowire="default" dependency-check="default">
      <property name="helloWorld">
       <value>Spring MVC 例子</value>
      </property>
      <property name="viewPage">
       <value>index</value>
      </property>
     </bean>
    <!-- 攔截器設置 -->
     <bean id="notLeaveWord" class="dgut.ke.interceptor.NotLeaveWord"
      abstract="false" singleton="true" lazy-init="default"
      autowire="default" dependency-check="default">
      <property name="startTime">
       <value>10</value>
      </property>
      <property name="endTime">
       <value>20</value>
      </property>
      <property name="interceptorPage">
       <value>outTime.jsp</value>
      </property>
     </bean>
    </beans>
    -------------------------------------------------------------------------------------------------------------
    文件web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4"
     xmlns="
     xmlns:xsi=" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
      
      <servlet>
       <servlet-name>dispatcherServlet</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <!-- 初始化參數 -->
       <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcherServlet-servlet.xml</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
      </servlet>
     
      <servlet-mapping>
       <servlet-name>dispatcherServlet</servlet-name>
       <url-pattern>*.do</url-pattern>
      </servlet-mapping>
     
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>



    FeedBack:
    # re: 攔截器[未登錄] 2008-06-30 23:17 aaa
    這個和《spring從入門到精通》里是一樣的,我試過了,沒有用哦……
    在prehander里加個控制臺輸入可以發現沒有用……  回復  更多評論
      
    主站蜘蛛池模板: 国产精品亚洲玖玖玖在线观看| 亚洲av中文无码乱人伦在线咪咕| 91亚洲va在线天线va天堂va国产| 东北美女野外bbwbbw免费| 一本色道久久综合亚洲精品高清| 国产精品极品美女自在线观看免费| 免费人成视网站在线观看不卡| 男女啪啪免费体验区| 久久亚洲高清综合| 国产精品区免费视频| 亚洲精品视频免费看| 亚洲成在人线aⅴ免费毛片| 亚洲日韩一区精品射精| 国产大片线上免费看| 免费国产va视频永久在线观看| av无码东京热亚洲男人的天堂| jizz日本免费| 亚洲AV日韩AV永久无码久久| **aaaaa毛片免费同男同女| 亚洲国产乱码最新视频| 国产成人免费a在线资源| 一个人看的免费高清视频日本| 中文字幕人成人乱码亚洲电影| 最近的2019免费中文字幕| 亚洲黄色免费观看| 成全高清视频免费观看| 四虎永久在线精品免费一区二区| 亚洲国产日韩在线视频| 97在线观看永久免费视频| 18禁亚洲深夜福利人口| 亚洲精品乱码久久久久久蜜桃不卡 | 又黄又爽的视频免费看| 国内精品免费久久影院| 亚洲欧洲日本精品| 免费国产a国产片高清网站| 黄网站色视频免费在线观看的a站最新| 亚洲一卡二卡三卡四卡无卡麻豆| www国产亚洲精品久久久日本| 久久国产免费一区| 色偷偷尼玛图亚洲综合| 亚洲AV人人澡人人爽人人夜夜|