From e8dc2be8c1637d81ffa90e3b080100d35201cbfd Mon Sep 17 00:00:00 2001 From: Ankush Sharma Date: Mon, 31 Oct 2016 12:07:36 +0530 Subject: [PATCH 1/5] Added ErrorController, edited web.xml and added error pages code, added errorPage.jsp --- .../spring/controller/ErrorController.java | 52 +++++++++++++++++++ .../main/webapp/WEB-INF/view/errorPage.jsp | 13 +++++ .../src/main/webapp/WEB-INF/web.xml | 5 ++ 3 files changed, 70 insertions(+) create mode 100644 spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java create mode 100644 spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java new file mode 100644 index 0000000000..3da613cd56 --- /dev/null +++ b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java @@ -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"); + } +} diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp b/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp new file mode 100644 index 0000000000..a94858c6b1 --- /dev/null +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp @@ -0,0 +1,13 @@ +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page session="false" %> + + + Home + + +

+ ${errorMsg} +

+ + + diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml b/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml index 29608a17ef..3aecded8d6 100644 --- a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml @@ -43,4 +43,9 @@ index.jsp + + + /errors + + \ No newline at end of file From d100f84ea9c33c3f0ce96d963a43219415b0eafa Mon Sep 17 00:00:00 2001 From: Ankush Sharma Date: Mon, 31 Oct 2016 12:11:37 +0530 Subject: [PATCH 2/5] code formatted. --- .../spring/controller/ErrorController.java | 55 +++++++++---------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java index 3da613cd56..8ca815b4d7 100644 --- a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java +++ b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java @@ -9,44 +9,43 @@ import org.springframework.web.servlet.ModelAndView; @Controller public class ErrorController { - - @RequestMapping(value = "500Error" , method = RequestMethod.GET) - public void throwRuntimeException(){ + + @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){ + @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. + + 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){ + + private int getErrorCode(HttpServletRequest httpRequest) { return (Integer) httpRequest.getAttribute("javax.servlet.error.status_code"); } } From 1c13d2ccf90eae4bdc18b9ad9fb8088f86d55745 Mon Sep 17 00:00:00 2001 From: Ankush Sharma Date: Wed, 2 Nov 2016 21:53:19 +0530 Subject: [PATCH 3/5] formatted according to eugen's formatter. --- .../spring/controller/ErrorController.java | 74 ++++++++++--------- .../main/webapp/WEB-INF/view/errorPage.jsp | 10 +-- .../src/main/webapp/WEB-INF/web.xml | 4 +- 3 files changed, 43 insertions(+), 45 deletions(-) diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java index 8ca815b4d7..c1aa147df5 100644 --- a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java +++ b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java @@ -2,6 +2,7 @@ package com.baeldung.spring.controller; import javax.servlet.http.HttpServletRequest; +import org.springframework.http.converter.xml.MarshallingHttpMessageConverter; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -9,43 +10,44 @@ 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 = "500Error", method = RequestMethod.GET) - public void throwRuntimeException() { - throw new NullPointerException("Throwing a null pointer exception"); - } + @RequestMapping(value = "errors", method = RequestMethod.GET) + public ModelAndView renderErrorPage(HttpServletRequest httpRequest) { + ModelAndView errorPage = new ModelAndView("errorPage"); + String errorMsg = ""; + int httpErrorCode = getErrorCode(httpRequest); - @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; + } - 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"); - } + private int getErrorCode(HttpServletRequest httpRequest) { + return (Integer) httpRequest + .getAttribute("javax.servlet.error.status_code"); + } } diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp b/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp index a94858c6b1..9fc7e523cb 100644 --- a/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp @@ -1,13 +1,11 @@ -<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> -<%@ page session="false" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> +<%@ page session="false"%> - Home +Home -

- ${errorMsg} -

+

${errorMsg}

diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml b/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml index 3aecded8d6..e73d772483 100644 --- a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml @@ -44,8 +44,6 @@ - - /errors - + /errors \ No newline at end of file From 362bc6ff9b72fd39c4983ccbd4f13a34c23afdd3 Mon Sep 17 00:00:00 2001 From: Ankush Sharma Date: Wed, 2 Nov 2016 22:04:17 +0530 Subject: [PATCH 4/5] Unused imports removed --- .../java/com/baeldung/spring/controller/ErrorController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java index c1aa147df5..96556bd5b1 100644 --- a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java +++ b/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java @@ -2,7 +2,6 @@ package com.baeldung.spring.controller; import javax.servlet.http.HttpServletRequest; -import org.springframework.http.converter.xml.MarshallingHttpMessageConverter; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; From f27e421c89d2c0391837fe1ecf7a0c0f78cebdea Mon Sep 17 00:00:00 2001 From: Ankush Sharma Date: Thu, 3 Nov 2016 11:16:28 +0530 Subject: [PATCH 5/5] xml and html formatted by 4 spaces. --- spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp | 5 ++--- spring-mvc-xml/src/main/webapp/WEB-INF/web.xml | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp b/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp index 9fc7e523cb..ba8a836285 100644 --- a/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp @@ -2,10 +2,9 @@ <%@ page session="false"%> -Home + Home -

${errorMsg}

- +

${errorMsg}

diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml b/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml index e73d772483..2240ac0a22 100644 --- a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml +++ b/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml @@ -43,7 +43,7 @@ index.jsp - - /errors - + + /errors + \ No newline at end of file