JavaWeb—HTTP状态 405 - 方法不允许【BUG已解决】
  TEZNKK3IfmPf 2024年03月29日 12 0

一.遇到的问题

这是一个JavaWeb工程,写了请求表单之后报了HTTP状态 405 - 方法不允许。此URL不支持Http方法POST。如下图: JavaWeb—HTTP状态 405 - 方法不允许【BUG已解决】 我目前是写了应该表单,是使用了post方法,get可以正常请求,post就会405。 我的前端代码如下,没有错误:

    <form action="${pageContext.request.contextPath}/login" method="post">
        用户名:<input type="text" name="username"> <br>
        密码:<input type="password" name="password"> <br>
        我是:
        <input type="checkbox" name="yu" value="上进小菜猪"> 上进小菜猪
        <input type="checkbox" name="yu" value="菜猪"> 菜猪
        <input type="checkbox" name="yu" value="小菜"> 小菜
        <input type="checkbox" name="yu" value="小猪"> 小猪
        <br>
        <input type="submit">
    </form>

错误在后端,请看下文。

二.此URL不支持Http方法POST【解决方法】

后端我继承了HttpServlet,重写了doGet。如下

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        String user = req.getParameter("username");
        String pass = req.getParameter("password");
        String[] yus = req.getParameterValues("yu");
        System.out.println("---------------------");
        System.out.println(user);
        System.out.println(pass);
        System.out.println(Arrays.toString(yus));
        System.out.println("---------------------");
        req.getRequestDispatcher("/sussess.jsp").forward(req,resp);

    }

为了解决这个HTTP状态 405 - 方法不允许的bug,我们需要重写一下doPost方法: 让doPost直接指向doGet,即可解决这个问题。 代码如下:

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

JavaWeb—HTTP状态 405 - 方法不允许【BUG已解决】 HTTP状态 405 - 方法不允许/此URL不支持Http方法POST——BUG已解决。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
TEZNKK3IfmPf