国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

異常處理

2019-11-14 09:59:57
字體:
來源:轉載
供稿:網友
sPRingmvc在處理請求過程中出現異常信息交由異常處理器進行處理,自定義異常處理器可以實現一個系統的異常處理邏輯。   異常處理的思路系統中異常包括兩類:預期異常和運行時異常RuntimeException,前者通過捕獲異常從而獲取異常信息,后者主要通過規范代碼開發、測試通過手段減少運行時異常的發生。系統的dao、service、controller出現都通過throws Exception向上拋出,最后由springmvc前端控制器交由異常處理器進行異常處理,如下圖: springmvc提供全局異常處理器(一個系統只有一個異常處理器)進行統一異常處理自定義異常類為了區別不同的異常通常根據異常類型自定義異常類,這里我們創建一個自定義系統異常,如果controller、service、dao拋出此類異常說明是系統預期處理的異常信息。
public class CustomException extends Exception {	public CustomException(String message) {		super(message);		this.message = message;	}	// 異常信息	private String message;	public String getMessage() {		return message;	}	public void setMessage(String message) {		this.message = message;	}}全局異常處理器思路:系統遇到異常,在程序中手動拋出,dao拋給service,service拋給Controller,Controller拋給前端控制器,前端控制器調用全局異常處理器全局異常處理器處理思路:解析出異常類型如果該異常類型是系統自定義的異常,直接取出異常信息,在錯誤頁面顯示如果該異常類型不是系統自定義的異常,構造一個自定義的異常類型(信息為“未知錯誤“)springmvc提供了一個HandlerExceptionResolver接口
public class CustomExceptionResolver implements HandlerExceptionResolver {	public CustomExceptionResolver() {		// TODO 自動生成的構造函數存根	}	@Override	public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object object,			Exception exception) {		// TODO 自動生成的方法存根		exception.printStackTrace();		CustomException customException = null;		//如果拋出的是系統自定義異常則直接轉換		if(exception instanceof CustomException){			customException = (CustomException)exception;		}else{			//如果拋出的不是系統自定義異常則重新構造一個未知錯誤異常。			customException = new CustomException("未知錯誤,請與系統管理 員聯系!");		}		ModelAndView modelAndView = new ModelAndView();		modelAndView.addObject("message", customException.getMessage());		modelAndView.setViewName("error");		return modelAndView;	}}jsp錯誤頁面
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>錯誤頁面</title></head><body>您的操作出現錯誤如下:<br/>${message }</body></html>異常處理器配置在springmvc.xml中添加:
<!-- 異常處理器 -->    <bean id="handlerExceptionResolver" class="cn.itcast.ssm.controller.exceptionResolver.CustomExceptionResolver"/>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清流县| 盱眙县| 普兰县| 资中县| 南宁市| 高陵县| 佛坪县| 水城县| 莆田市| 安远县| 沙洋县| 宁海县| 满洲里市| 白山市| 清涧县| 崇义县| 凤台县| 泰和县| 同江市| 峡江县| 广平县| 芷江| 都江堰市| 磐石市| 固始县| 迭部县| 四平市| 聊城市| 大竹县| 松潘县| 勃利县| 多伦县| 平昌县| 铜山县| 广东省| 文水县| 曲周县| 石景山区| 南丰县| 滦平县| 桂林市|