request.getRequestDispatcher() is not calling the 'unauthorised' method in BaseController.java. Below is my code
UserController.java
@PostMapping(value = "{domain}/updateUserPoolVesselList")
@ResponseBody
public int updateUserPoolVesselList(
ServletResponse response, HttpSession session,
HttpServletRequest request) throws ServletException, IOException
{
if(true) {
request.getRequestDispatcher("/unauthorized").forward(request, response);
return 0;
}
BaseController.java
@GetMapping(value = "/unauthorized")
public String unauthorized()
{
LOG.info("BaseController - unauthorized() method");
return "unauthorized";
}
Error
2021-02-08 16:21:58 WARN PageNotFound:215 - Request method 'POST' not supported Feb 08, 2021 4:22:01 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [springDispatcher] in context with path [/ScorpioManagementWebApp] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: getWriter() has already been called for this response] with root cause java.lang.IllegalStateException: getWriter() has already been called for this response at org.apache.catalina.connector.Response.getOutputStream(Response.java:550) at org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:210) at javax.servlet.ServletResponseWrapper.getOutputStream(ServletResponseWrapper.java:105) at javax.servlet.ServletResponseWrapper.getOutputStream(ServletResponseWrapper.java:105) at org.springframework.security.web.context.SaveContextOnUpdateOrErrorResponseWrapper.getOutputStream(SaveContextOnUpdateOrErrorResponseWrapper.java:116) at org.springframework.http.server.ServletServerHttpResponse.getBody(ServletServerHttpResponse.java:89) at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:250) at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:100) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:231) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:174) at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)