Tomcat 8:HTTP状态405 - 此URL不支持HTTP方法GET

时间:2016-06-28 09:16:04

标签: java jsp tomcat servlets tomcat8

我有一个servlet和一个jsp页面。 jsp页面包含最终用户将填写的表单。

<html>
<head>
    <title>Please log in to your profile</title>
</head>
<body>
    <form action="${pageContext.request.contextPath}/login_servlet" method="post">
        Email: <input type="text" size="5" name="email"/>
        &nbsp;&nbsp;
        Password: <input type="text" size="5" name="password"/>
        &nbsp;&nbsp;
        <input type="submit" value="Sign In" />
    </form>
    </body>
</html>

然后我将在servlet中使用doPost()方法,因为表单有一个post方法。我在servlet中获取了参数,因此我可以打印到控制台。

@WebServlet("/login_servlet")
public class LoginServlet extends HttpServlet {

    @Override
    public void doPost(HttpServletRequest req, 
            HttpServletResponse resp) throws ServletException, IOException {

        String email = req.getParameter("email");
        String password = req.getParameter("password");

        System.out.println("Email: " + email);
        System.out.println("Password: " + password);
    }
}

当我尝试访问http://localhost:8080/StudentPortal/login_servlet的网址时,我收到此错误; HTTP Status 405 - HTTP method GET is not supported by this URL,其描述为&#34;请求的资源不允许使用指定的HTTP方法。&#34;

我接近被阻止再问问题了。所以,在此之前被标记为重复,我希望您知道我已经查看了类似的问题,并且已经按照给出的建议无效。

我必须学习servlet,因为我很快就被安排在Spring项目上工作。

1 个答案:

答案 0 :(得分:0)

当您访问自己的网址时,您使用的是get方法。 在您的servlet中,您只声明了doPost方法。 尝试使用chrome的邮递员扩展来使用其他http方法。

*尝试直接访问您的jsp页面:localhost:8080/StudentPortal/pathToYourJspPage

*您还可以在servlet中添加doGet方法,并从那里调用重定向到jsp页面:response.sendRedirect(location)或request.getRequestDispatcher(location).forward(request,response)