HTTP Status 405 - HTTP method POST is not supported by this URL form login tomcat
Problem:
What does this error mean when reported by tomcat?
HTTP Status 405 - HTTP method POST is not supported by this URL Status report HTTP method POST is not supported by this URL The specified HTTP method is not allowed for the requested resource (HTTP method POST is not supported by this URL).
Solution:
Simple answer: your servlet needs to implement
doPost(HttpServletRequest, HttpServletResponse)
. Your servlet probably already implements doGet() so if you don't care about implementing different logic for POST, then just get it to call doGet():public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // same logic this.doGet(request, response); }
Notes:
It's a bit confusing if the servlet is a login form. GET should be returning the login form, POST from this form is handled by j_security_check. But if the client's initial request was a POST then the login servlet just needs to implement doPost() to keep the servlet container happy (calling doGet() as mentioned above is fine).
It seems that the servlet container (tomcat at least) makes sure the data from the original POST is not lost once the user gets past the j_security_check: Tomcat - User - [is] post data lost when redirecting