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); 
    }

已经重写了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);
    }

下面是提交表单后的浏览器上面显示的信息:
图片描述

阅读 4.4k
1 个回答

<form method=post action=portal>

所以
clipboard.png

上面的login应该是对应action的portal。

对比下是不是配置的注解路径有问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题