鍍金池/ 問答/Java  Linux  HTML/ Tomcat servlet HTTP Status 405 ? Method

Tomcat servlet HTTP Status 405 ? Method Not Allowed

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=gb2312");
        PrintWriter out = resp.getWriter();
        out.println("<html><head><title>");
        out.println("登錄頁面");
        out.println("</title></head><body>");
        String name = req.getParameter("username");
        String pwd = req.getParameter("password");
        if("1234".equals(name) && "1234".equals(pwd)) {
            ServletContext context = getServletContext();
            RequestDispatcher rd = context.getRequestDispatcher("/welcome");
            rd.forward(req, resp);
        } else {
            RequestDispatcher rd = req.getRequestDispatcher("login2");
            rd.include(req, resp);
        }
        out.println("</body></html>");
        out.close();
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp); 
    }

已經(jīng)重寫了doGet和doPost方法了,表單是post提交

@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=gb2312");
        PrintWriter out = resp.getWriter();
        out.println("<form method=post action=portal>");
        out.println("<table>");
        out.println("<tr>");
        out.println("<td>請輸入用戶名</td>");
        out.println("<td><input type=text name=username></td>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td>請輸入密碼</td>");
        out.println("<td><input type=password name=password></td>");
        out.println("</tr>");
        out.println("<tr>");
        out.println("<td><input type=reset value=重填></td>");
        out.println("<td><input type=submit value=登錄></td>");
        out.println("</tr>");
        out.println("</table>");
        out.println("</form>");    
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }

下面是提交表單后的瀏覽器上面顯示的信息:
圖片描述

回答
編輯回答
影魅

<form method=post action=portal>

所以
clipboard.png

上面的login應(yīng)該是對應(yīng)action的portal。

對比下是不是配置的注解路徑有問題。

2017年3月10日 12:17