我有一個servlet
和jsp
頁面。 jsp
頁面包含最終用戶將填寫的表單。Tomcat 8:HTTP狀態405 - 此方法不支持HTTP方法GET
<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"/>
Password: <input type="text" size="5" name="password"/>
<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);
}
}
當我嘗試訪問的URL是http://localhost:8080/StudentPortal/login_servlet
我得到這個錯誤; HTTP Status 405 - HTTP method GET is not supported by this URL
,其描述爲「請求的資源不允許指定的HTTP方法」。
我已經接近被阻止詢問任何問題。因此,在此之前請標記爲重複,我想讓你知道我已經看過類似的問題,並且遵循了無效的建議。
我不得不學習servlets,因爲我很快就被派上了Spring項目。
您能否鏈接到您遵循建議的類似問題,以便我們可以將這些解決方案排除在外。 –
當你直接在地址欄中輸入servlet的路徑時,你沒有'doGet()'方法,像Tomcat這樣的web容器會嘗試調用'doGet()'方法。 – Mihir
@Mhhir'doGet()'方法應該有什麼?現在我厭倦了將它添加到裏面,我稱它爲'doPost()'; 'doPost(req,resp)'。 – TheRealRave