spring mvc 框架的基础条件 2

来源:互联网 发布:空间数据库怎么弄 编辑:程序博客网 时间:2024/06/16 21:58
 每一个应用,应该都会出现异常,那么在就有必要做一个异常拦截机制,那么在controller层就可以把异常抛出去,然后让该异常跳转到相应的页面


   1 异常拦截,spring 有一个一次拦截接口,因此可以写一个类,实现该接口,然后处理业务的异常流程
    
    public class MyHandlerException implements HandleExceptionResolver{
       public ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response,Object obj){
          system.out.println("异常拦截");
          return new ModelAndView("redirect:/errorJsp");
       }
    }




  在servlet.xml 里面配置 该异常的处理 


    <bean id=“myHandlerException”class="web.MyHandlerException" />




    在建一个 errorJsp的controller 让其跳转到指定的错误页面即可 


  2 在应用访问的时候 肯定需要初始化一些数据,那么就需要写一个类,实现spring自定义的接口 WebBindingInitializer 
    
     public class commandBindInit implements WebBindingInitializer {


        @override
        public void initBinder(WebDataBinder binder,WebRequest request){
             BaseCommand baseCom = (BaseCommand)binder.getTarget();
             if(baseCom !=null){
                baseCom.setUserIp("127.0.0.1");
             }
             
         }


     }


   public class BaseCommand {


      private String userIp;


   }






    以上写完之后,需要在servlet.xml里面添加下面配置,CommandBindInit类才能够实现初始化
     
     <bean class="org.springframework.web.servlet.mvc.annotaion.AnnotationMethodHandlerAdapter">
        <property name="WebBindingInitializer">
           <bean class="web.CommandBindInit" />
        </property>


        <property name="messageConverters">
          <list>
             <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                 <property name="supportedMediaTypes">
                     <list><value>text/html;charset=UTF-8</value></list>
                 </property>
                 <property name="writeAcceptCharset" value="false">
                 </property>
              </bean>
          </list>
          
        </property>
     </bean>






     添加以上配置后发现还是不能初始化信息,调查发现 需要将servlet.xml里面的 <mvc:annotation-driven /> 放到 CommandBindInit 配置的后面方可以使用











0 0
原创粉丝点击