bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

springmvc中如何處理異常-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“spring mvc中如何處理異常”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“spring mvc中如何處理異常”這篇文章吧。

為康平等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及康平網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、康平網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

spring mvc中的404:

1.mappedHandler找不到

response.sendError(HttpServletResponse.SC_NOT_FOUND);

spring mvc異常機(jī)制

1.mappedHandler找不到 并且throwExceptionIfNoHandlerFound設(shè)定為true

throwExceptionIfNoHandlerFound

source:

		if (this.throwExceptionIfNoHandlerFound) {
					throw new NoHandlerFoundException(request.getMethod(), getRequestUri(request),
							new ServletServerHttpRequest(request).getHeaders());
				}
				else {
					response.sendError(HttpServletResponse.SC_NOT_FOUND);
				}

config:

web.xml的配置Dispatcher的此參數(shù)為true

<init-param>
						<param-name>throwExceptionIfNoHandlerFound</param-name>
						<param-value>true</param-value>
					</init-param>

2.判斷返回視圖層之前是否發(fā)生了異常,主要有兩種HandlerExceptionResolver、ModelAndViewDefiningException

3.如沒(méi)有異常,則進(jìn)行視圖渲染

通過(guò)viewResolver找出相應(yīng)的view,進(jìn)行具體的模板渲染

通過(guò)不同的View實(shí)現(xiàn)AbstractView的renderMergedOutputModel方法

Exception if there's a problem rendering the view

如果ViewResolver匹配不到對(duì)應(yīng)的View,則拋出ServletException

ServletException:if view is missing or cannot be resolved

spring mvc 異常處理

1.HandlerExceptionResolver

只能處理請(qǐng)求過(guò)程中拋出的異常

不處理異常處理本身所拋出的異常和視圖解析過(guò)程中拋出的異常

2.@ControllerAdvice的@ExceptionHandler注解

3.1和2只能處理view之前的異常,如果是視圖層渲染異常,需要另行處理

一.利用filter,捕獲除了1和2之外的異常

	public class ErrorHandlerFilter implements Filter {

			  ErrorHandler errorHandler;

			  @Override
			  public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
				try {
				  filterChain.doFilter(request, response);
				} catch (Exception ex) {
				  // call ErrorHandler and dispatch to error jsp
				  String errorMessage = errorHandler.handle(request, response, ex);
				  request.setAttribute("errorMessage", errorMessage);
				  request.getRequestDispatcher("/WEB-INF/jsp/error/dispatch-error.jsp").forward(request, response);
				}

			  @Override
			  public void init(FilterConfig filterConfig) throws ServletException {
				errorHandler = (ErrorHandler) WebApplicationContextUtils
				  .getRequiredWebApplicationContext(filterConfig.getServletContext())
				  .getBean("defaultErrorHandler");
			  }

			  // ...
			}

二.從寫(xiě)dispatchServlet再doservice時(shí)候捕獲異常

	public class DispatcherServletHandler extends DispatcherServlet {

				private static final String ERROR = "error";
				private static final String VIEW_ERROR_PAGE = "/WEB-INF/views/error/view-error.jsp";

				@Override
				protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception {
					try{
						super.doService(request, response);
					} catch(Exception ex) {
						request.setAttribute(ERROR, ex);
						request.getRequestDispatcher(VIEW_ERROR_PAGE).forward(request, response);
					}
				 }
			}

以上是“spring mvc中如何處理異常”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道!

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

當(dāng)前標(biāo)題:springmvc中如何處理異常-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)路徑:http://vcdvsql.cn/article2/pjjoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站App設(shè)計(jì)Google網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化