首页 > 其他 > 详细

J2EE 异常处理机制

时间:2017-02-07 16:38:45      阅读:265      评论:0      收藏:0      [点我收藏+]

1、java后台处理机制为前提

2、通过SpringMVC处理

<context:annotation-config />
    <context:component-scan base-package="com.boco" />
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
    <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:prefix="/" p:suffix=".jsp" />

    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
        p:defaultEncoding="utf-8" />
<!-- 全局异常配置 start -->     
     <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
         <property name="exceptionAttribute" value="msg"/>  
         <property name="exceptionMappings">     
             <props>     
                 <prop key="java.lang.Exception">errors/500</prop>     
                 <prop key="java.lang.Throwable">errors/404</prop>  
                 <prop key="java.lang.RuntimeException">/commons/errorPage</prop>  
                 <prop key="java.sql.SQLException">/commons/errorPage</prop>    
             </props>     
         </property>     
         <property name="statusCodes">     
             <props>     
                 <prop key="errors/500">500</prop>     
                 <prop key="errors/404">404</prop>     
             </props>     
         </property>     
         <!-- 设置日志输出级别,不定义则默认不输出警告等错误日志信息 -->     
         <property name="warnLogCategory" value="BUSI" />     
         <!-- 默认错误页面,当找不到上面mappings中指定的异常对应视图时,使用本默认配置 -->     
         <property name="defaultErrorView" value="errors/500" />     
         <!-- 默认HTTP状态码 -->     
         <property name="defaultStatusCode" value="500" />     
     </bean>     
     <!-- 全局异常配置 end -->  

3、dwr*.xml配置

<dwr>
    <allow>
        <convert converter="bean" match="java.util.*" />
        <convert converter="bean" match="com.boco.core.cache.*" />
        <convert converter="bean" match="com.boco.flow.model.*" />
        <convert converter="bean" match="com.boco.flow.pojo.*" />
        <convert converter="bean" match="com.boco.resconf.common.sheet.pojo.*" />

        <convert match="java.lang.Exception" converter="exception">
            <param name=‘include‘ value=‘message‘ />
        </convert>
        <convert match="java.lang.RuntimeException" converter="exception">
            <param name=‘include‘ value=‘message‘ />
        </convert>

..........

DWREngine.setErrorHandler(function(error){
        error=FilterChar.filterChinese(error);//去掉错乱英文提示
        if(error==‘‘)
           error=‘发生未知异常‘;
        if(error && error != ‘‘) {
            if(error==‘Unauthorized‘){
                window.location.href= ctx+‘/login.jsp‘;
            }else {
                if(error!=‘语法错误‘){
                    if(error.indexOf(‘SqlMapClient‘) != -1){
                        if(Ext){
                            Ext.Msg.alert("程序运行异常", error);
                        }else{
                            alert("程序运行异常,请联系管理员:"+error);
                        }
                    }else{
                      var n = error.lastIndexOf(‘Exception:‘);
                      if(n != -1) {
                        error = error.substring(n+10);
                      }
                      try {
                         Ext.Msg.alert("业务异常", error);
                      }catch(e) {
                        alert(error);
                      }
                    }
                }

4、完整扑捉异常结合ajax推送到前台处理

J2EE 异常处理机制

原文:http://www.cnblogs.com/qq610039525/p/6374469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!