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>
  • 相关阅读:
    CF733F
    P4826
    洛谷P2687 & P1108
    CF42A
    洛谷P1858
    CF1428C
    洛谷P4981
    树形DP
    背包六讲(也不知道为啥就是六个 $QwQ$)
    2020
  • 原文地址:https://www.cnblogs.com/yaoxing92/p/3007540.html
Copyright © 2011-2022 走看看