Web层框架对网站中所有异常的统一处理

    

创新互联建站是一家专注于成都网站制作、成都网站建设与策划设计,昌邑网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:昌邑等地区。昌邑做网站价格咨询:18980820575

一个网站的异常信息作为专业的人士,是不会轻易暴露给用户的,因为那样狠不安全,显得你漏是一回事,只要还是考虑到网站的数据安全问题,下面给大家分享一下一些常见的web层框架是如何处理统一的异常。 

 之前都是在Struts2的配置文件中配置拦截器来统一处理系统中所有的异常,给大家带点伪代码吧,好歹曾经用过,呵呵。

配置文件配置信息如下:

Web层框架对网站中所有异常的统一处理

 1    2          3          4              5              6              7              8                  9                 10             11         12         13         14         15         16             /common/error.jsp17             18             /common/refuse.jsp19         20         21         26         27             /business/{1}/{2}.jsp28                 
29     

Web层框架对网站中所有异常的统一处理

Java类伪代码如下:

Web层框架对网站中所有异常的统一处理

          ExceptionInterceptor          serialVersionUID = -3570177760250354837L       String intercept(ActionInvocation actionInvocation)          HttpServletRequest request =         String result =                                    result =         }                                         ExceptionResultInfo exceptionResultInfo =                            (e                  exceptionResultInfo =             }   (e  UnknownAccountException || e                  ResultInfo resultInfo = ResultUtil.createFail("用户名或密码错误!"                 exceptionResultInfo =              }   (e                  ResultInfo resultInfo = ResultUtil.createFail("没有权限!"                 exceptionResultInfo =

Web层框架对网站中所有异常的统一处理

 

首先说说springmvc处理统一异常的方式,目前就我了解的有三种:直接使用springmvc提供的异常处理器、自己手动配置自定义全局异常处理器和使用注解(该种方式没用过)。  

 先说一下第一种吧,它是直接在springmvc的核心配置文件中配置springmvc自身提供的简单异常处理器。

Web层框架对网站中所有异常的统一处理

 1    2     

Web层框架对网站中所有异常的统一处理

 

第二种就是自己定义一个异常处理器,然后通过在springmvc的核心配置文件中配置即可。

自定义异常处理器类伪代码如下:

Web层框架对网站中所有异常的统一处理

 1 /** 2  * 自定义全局异常处理器: 3  */ 4 public class CustomExceptionResolver implements HandlerExceptionResolver { 5     @Override 6     public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, 7             Exception ex) { 8          9         ex.printStackTrace();10         CustomException customException = null;11         //如果抛出的是自定义的异常则直接转换12         if(ex instanceof CustomException) {13             customException = (CustomException) ex;14         } else {15             //如果抛出的不是自定义的异常则重新构造一个未知错误异常16             new SysException("系统正在维护中,请稍后重试...");17         }18         //向前台返回错误信息19         ModelAndView modelAndView = new ModelAndView("exception");20         modelAndView.addObject("message", customException.getMessage());21         return modelAndView;22     }23 }

Web层框架对网站中所有异常的统一处理

springmvc配置文件配置信息如下(各位在迫不得已的情况复制的时候记得修改一下包名):

 


当前文章:Web层框架对网站中所有异常的统一处理
标题来源:http://pwwzsj.com/article/gejiih.html