美文网首页
异常处理(配置方式)----2018-09-25

异常处理(配置方式)----2018-09-25

作者: Mango_lxh | 来源:发表于2018-09-26 20:51 被阅读0次

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   
  <!-- Standard Action Servlet Configuration (with debugging) -->
  <servlet>
    <servlet-name>spmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>


  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>spmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>  
</web-app>

spmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8" ?> 
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
  "http://www.springframework.org/dtd/spring-beans.dtd"> 
  
 
 <beans> 
     <bean id = "simpleUrlHandlerMapping" class ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
         <property name ="mappings"> 
             <props> 
                 <prop key ="/login.do">loginControl</prop> 
             </props> 
         </property> 
     </bean> 
     <bean id ="loginControl"   class ="com.asm.spmvclogin"/> 
     
     <bean id="viewResolver"  class="org.springframework.web.servlet.view.InternalResourceViewResolver">            
     <property name="prefix" value="/WEB-INF/page/" />            
     <property name="suffix" value=".jsp" />
     </bean>  
     
     <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
          <property name="exceptionMappings">     
              <props>     
                  <prop key="com.asm.UserNotFoundException">UserNotFoundException</prop>     
                  
             </props>     
         </property>     
        <property name="defaultErrorView"> 
           <value>error</value>  
        </property>  
     </bean>     
 
 </beans> 

spmvclogin类

package com.asm;
import  org.springframework.web.servlet.mvc.Controller;
import  org.springframework.web.servlet.ModelAndView;
import  javax.servlet.ServletException;
import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;

public   class  spmvclogin  implements  Controller   {

            private String username;
            private String password;
          
           public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)throws Exception {  
               username=(String)request.getParameter("username");
               password=(String)request.getParameter("password"); 
                
               return(new UserManager().login(username, password));
                
   }

}        

UserManager类

package com.asm;

import org.springframework.web.servlet.ModelAndView;

public class UserManager {
    ModelAndView mav;
    public UserManager() {}
    public ModelAndView login (String username,String password)throws Exception
    {
      if ("admin".equals(username)&&"admin".equals(password)){
        mav= new ModelAndView("success");
        mav.addObject("name", username);
        }
      else if (!"admin".equals(username)){
          throw new UserNotFoundException(username);
      }
      else { 
        throw new Exception("密码:"+password+"错误"); } 
      
      return mav;    
    }
}

UserNotFoundException

package com.asm;

public class UserNotFoundException extends RuntimeException {
  UserNotFoundException(String msg)
    {
      super(msg);
    }
}

异常抛给springMVC,springMVC把异常对象封装到request里,属性名Exception,属性值Exception对象。然后springMVC又到web工厂里拿异常处理器对象,异常处理器对象在prop里找有没有对应的异常类

相关文章

网友评论

      本文标题:异常处理(配置方式)----2018-09-25

      本文链接:https://www.haomeiwen.com/subject/qywjoftx.html