因為現在都用的spring配置的,很少用到servlet了琅催,今天想寫一個demo,結果報了一個405的錯誤.....................真的是打擾了.......
405概念
請求行中指定的請求方法不能被用于請求相應的資源镣陕。該響應必須返回一個Allow 頭信息用以表示出當前資源能夠接受的請求方法的列表包竹。 鑒于 PUT,DELETE 方法會對服務器上的資源進行寫操作严衬,因而絕大部分的網頁服務器都不支持或者在默認配置下不允許上述請求方法巡李,對于此類請求均會返回405錯誤抚笔。
其實就是說你訪問了不是你能訪問了,例如你使用post方法訪問靜態(tài)資源侨拦,Apache殊橙、IIS、Nginx等絕大多數web服務器狱从,都不允許靜態(tài)文件響應POST請求
那么我的這個問題是在哪里呢膨蛮?
image.png
super.doGet(req,resp);我忘記注釋掉了...........................
以前只知道要注釋掉,但不知道是為什么季研,今天我點進去看了一下里面是怎么寫的..........
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(405, msg);
} else {
resp.sendError(400, msg);
}
}
你看敞葛,這里,只要http 協(xié)議是1.1就返回405训貌,不然就返回400,反正就是直接報錯....