Added ErrorController, edited web.xml and added error pages code, added errorPage.jsp

This commit is contained in:
Ankush Sharma 2016-10-31 12:07:36 +05:30
parent 7918324702
commit e8dc2be8c1
3 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,52 @@
package com.baeldung.spring.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class ErrorController {
@RequestMapping(value = "500Error" , method = RequestMethod.GET)
public void throwRuntimeException(){
throw new NullPointerException("Throwing a null pointer exception");
}
@RequestMapping(value = "errors" , method = RequestMethod.GET)
public ModelAndView renderErrorPages(HttpServletRequest httpRequest){
ModelAndView errorPage = new ModelAndView("errorPage");
String errorMsg = "";
int httpErrorCode = getErrorCode(httpRequest);
switch( httpErrorCode ){
case 400:{
errorMsg = "Http Error Code : 400 . Bad Request";
break;
}
case 401:{
errorMsg = "Http Error Code : 401. Unauthorized";
break;
}
case 404:{
errorMsg = "Http Error Code : 404. Resource not found";
break;
}
//Handle other 4xx error codes.
case 500:{
errorMsg = "Http Error Code : 500. Internal Server Error";
break;
}
//Handle other 5xx error codes.
}
errorPage.addObject("errorMsg", errorMsg);
return errorPage;
}
private int getErrorCode(HttpServletRequest httpRequest){
return (Integer) httpRequest.getAttribute("javax.servlet.error.status_code");
}
}

View File

@ -0,0 +1,13 @@
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>
${errorMsg}
</h1>
</body>
</html>

View File

@ -43,4 +43,9 @@
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<location>
/errors
</location>
</error-page>
</web-app>