HTTP method GET is not supported by this URL

HTTP Status 405 - HTTP method GET is not supported by this URL


type Status report

message HTTP method GET is not supported by this URL

description The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).


Apache Tomcat/6.0.35

快两年没有写过JavaEE代码了,今天晚上心血来潮想写个Servlet,

使用浏览器访问http://127.0.0.1:8080/MyTest/xx?name=aaa 一直报这个错误,我的Servlet代码如下

public class MyServlet extends HttpServlet{

@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String name = req.getParameter("name");
name = name==null?"传入的name为空":name;
PrintWriter pw = resp.getWriter();
pw.print(name);
super.doGet(req, resp);
}

@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
              super.doPost(req, resp);
}

}

解决办法:

搞了好长时间发现应该把doGet和doPost里面的那个super.doGet(req, resp);   super.doPost(req, resp);给注释掉,,否则总会调用父类HttpServlet的doGet或doPost方法

HttpServlet 中doGet方法如下:

    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException
    {
        String protocol = req.getProtocol();
        String msg = lStrings.getString("http.method_get_not_supported");
        if (protocol.endsWith("1.1")) {
            resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, msg);
        } else {
            resp.sendError(HttpServletResponse.SC_BAD_REQUEST, msg);
        }
    }

通过这个代码不难看出浏览器为什么会看到那些错误信息了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值