1.自定義異常
就是咱們本身從新定義一個異常類,繼承runtimeException
public class UserNameAlreadyExistsException extends RuntimeException{
private static final long serialVersionUID = 1L;
public UserNameAlreadyExistsException(String message) {
super(message);
}
2.判斷是否會出現異常
//2.檢查用戶名是否被佔用
int count = userMapper.getUserCount (userName);
//3.若是被佔用則拋出自定義異常
if (count>0) {
throw new UserNameAlreadyExistsException(GlobaleMessage.USERNAME_ALREADYEXISTS);
}
3.在GlobaleMessage類中定義常量
public class GlobaleMessage {
public static final String USERNAME_ALREADYEXISTS = "用戶名已存在,請從新註冊!";
}
4.在MVC文件中配置
<!-- 配置ExceptionMapping統一管理項目中的異常 -->
<bean id="simpleMappingExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<!-- key屬性:異常全類名,「開始和結束標籤之間部分」:捕獲到異常後要前往的邏輯視圖名稱 -->
<prop key="com.atguigu.survey.e.UserNameAlreadyExistsException">guest/user_registUI</prop>
</props>
</property>
</bean>
5.在頁面上取出異常消息
SpringMVC捕獲到異常後,會將異常對象保存到請求域中,屬性名是exception
在頁面上使用下面的EL表達式就能夠取出異常信息
<c:if test="${requestScope.exception != null }">
<div class="text-center">${requestScope.exception.message }</div>
</c:if>
6.意義
這個機制創建起來後,能夠在各個不一樣模塊中都是用相同的辦法顯示錯誤消息