zoukankan      html  css  js  c++  java
  • 初生牛犊之spring(五)

    spring拦截器

    自定义的拦截器必须实现org.springframework.web.servlet.HandlerInterceptor接口

    1.编写拦截器

    实现HandlerInterceptor接口的各个实现类
    package cn.HandlerInterceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
    
    public class AddHIA extends HandlerInterceptorAdapter{
        /**
         * 整个请求处理后调用
         * @param request
         * @param response
         * @throws Exception
         */
        public void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object object,Exception ex)throws Exception{
            System.out.println("整个请求处理后调用");            
        }
        /**
         * 执行后调用
         * @param request
         * @param response
         * @throws Exception
         */
        public void postHandle(HttpServletRequest request,HttpServletResponse response,Object handler,ModelAndView modelAndView)throws Exception{
            System.out.println("开始后执行");            
        }
        
        /**
         * 执行前调用
         * @param request
         * @param response
         * @return
         * @throws Exception
         */
        public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler)throws Exception{
            System.out.println("开始前执行");
            return true;        
        }
    }

    2.修改配置文件,即可使用拦截器

    修改dispatcherServlet-Servlet.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
    <beans>
       <!-- 定义映射 -->
       <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
           <!-- 定义拦截器 -->
           <property name="interceptors">
              <list>
                <ref bean="AddHIA"/>
              </list>
           </property>
           <property name="mappings">
              <props>
                 <prop key="helloWorld.do">helloWorldAction</prop>
              </props>
           </property>
       </bean>
       <!-- 定义视图 -->
       <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass">
               <value>org.springframework.web.servlet.view.InternalResourceView</value>
            </property>
            <property name="prefix">
               <value>/WEB-INF/jsp/</value>
            </property>
            <property name="suffix">
               <value>.jsp</value>
            </property>
       </bean>
       <!-- 定义控制器 -->
       <bean id="helloWorldAction" class="cn.Spring.MVC.HelloWorldAction">
            <property name="helloWorld">
               <value>Helloworld,您好spring</value>
            </property>
            <property name="viewPage">
               <value>hello</value>
            </property>
       </bean>
       <bean id="AddHIA" class="cn.HandlerInterceptor.AddHIA"></bean>
    </beans>
  • 相关阅读:
    English trip -- VC(情景课)1 A Get ready
    隔板法总结
    CF 题目选做
    ZROI 提高十连测 DAY2
    2019 09 05
    线性基总结
    解决痛苦的方法/cy
    梅深不见冬 树上贪心
    ZROI 提高十连测 Day1
    [USACO09NOV]硬币的游戏 博弈 dp
  • 原文地址:https://www.cnblogs.com/yaoxing92/p/3007540.html
Copyright © 2011-2022 走看看