HTTP method POST is not supported by this URL解决

Posted 幽人月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP method POST is not supported by this URL解决相关的知识,希望对你有一定的参考价值。

今天写了个非常简单的setvlet想测试些东西,写好了后用postman请求报错,报错内容如下

{
    "timestamp": 1504170113588,
    "status": 405,
    "error": "Method Not Allowed",
    "message": "HTTP method POST is not supported by this URL",
    "path": "/vincent/aaa"
}

但是我的控制台还是答应了我的请求内容,百思不得其解,最后发现是因为没有把调用父类的post方法删掉

我的代码如下

@WebServlet(urlPatterns = "/aaa")
public class MyServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {

        super.doGet(request, resp);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
        InputStream inputStream = request.getInputStream();
        BufferedReader in=new BufferedReader(new InputStreamReader(request.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String xmlHead = "";
        String xmlContent="";
        String line = null;
        while ((line = in.readLine()) != null) {
            sb.append(line);
        }
        System.out.println(sb);
        super.doPost(request, resp);
    }
}
 super.doPost(request, resp);的源码如下
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String protocol = req.getProtocol();
        String msg = lStrings.getString("http.method_post_not_supported");
        if (protocol.endsWith("1.1")) {
            resp.sendError(405, msg);
        } else {
            resp.sendError(400, msg);
        }

    }

有没有发现,无论你的请求怎样,他都报错的。

以上是关于HTTP method POST is not supported by this URL解决的主要内容,如果未能解决你的问题,请参考以下文章

HTTP Status 405 - HTTP method POST is not supported by this URL另外一种原因

JSP登录系统点提交出错HTTP Status 405 - HTTP method POST is not supported by this URL

HTTP Status 400 - Required String parameter 'exportdata' is not present

Bower : ENOGIT git is not installed or not in the PATH

axios异步访问后台 @RequestParam 获取参数 HTTP Status 400 - Required String parameter 'xx' is not prese

axios异步访问后台 @RequestParam 获取参数 HTTP Status 400 - Required String parameter 'xx' is not prese