日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/3/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP Status 405 - HTTP method POST is not supported by this URL 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

程序出現(xiàn):

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

發(fā)現(xiàn)原因如下

源程序:

request.getRequestDispatcher("PageQueryServlet“).forward(request, response); 改為:

response.sendRedirect("/ShoppingCart/PageQueryServlet”); 因?yàn)?request.getRequestDispatcher是請(qǐng)求轉(zhuǎn)發(fā),只有一次請(qǐng)求,在服務(wù)器端轉(zhuǎn)發(fā)不經(jīng)過(guò)客戶端,前后共享一個(gè)request。當(dāng) getRequestDispatcher轉(zhuǎn)發(fā)jsp時(shí)可以不用重定向,但是當(dāng)在一個(gè)servlet中轉(zhuǎn)到另一個(gè)servlet中是,就必須要用重定向了,應(yīng)為重定向是二次請(qǐng)求。

request跳轉(zhuǎn)叫頁(yè)面?zhèn)鬟f就是一個(gè)頁(yè)面的請(qǐng)求傳遞到另外一個(gè)頁(yè)面,這個(gè)你在前一個(gè)頁(yè)面中對(duì)該請(qǐng)求的操作比如賦值,獲得參數(shù)都能通過(guò)request獲得。

response跳轉(zhuǎn)叫頁(yè)面重定向,就是你之前發(fā)過(guò)來(lái)的請(qǐng)求到達(dá)該處就結(jié)束了,如果還要做請(qǐng)求則是由該頁(yè)面在重新發(fā)送一個(gè)請(qǐng)求了,這個(gè)請(qǐng)求跟之前重定向的請(qǐng)求不是同一個(gè)請(qǐng)求了,因此你通過(guò)request拿不到重定向前的請(qǐng)求參數(shù) .
-----------------------------------------網(wǎng)上搜集得來(lái)---------------------------------------------
forward,include,redirect是jsp中web頁(yè)面(jsp或servelt)的三種不同的路由關(guān)系,三個(gè)貌似相同,其實(shí)還是有許多差別的,而了解這些細(xì)微的差別,在web開(kāi)發(fā)中是很重要的。
說(shuō)明:
一、forward、include由javax.servlet.RequestDispatcher來(lái)封裝,由包容器container提供RequestDispatcher接口的實(shí)現(xiàn),其中聲明如下:
void forward(ServletRequest req,ServletResponse res)
void include(ServeltRequest req,ServletResponse res)

可以通過(guò)兩種方式得到RequestDispatcher:

1、ServletContext.getRequestDispatcher(String path);
其中這里的path必須開(kāi)始為"/",即這里的path必須相對(duì)于context的root.

2、ServeltRequest.getRequestDispatcher(String path)
這里的path可以為相對(duì)路徑,如果path開(kāi)始為"/",則也認(rèn)為是從context的root開(kāi)始的。

二、Redirect由HttpServletResponse.sendRedirect(String location)來(lái)支持
差別:

三個(gè)都可以對(duì)用戶的request進(jìn)行轉(zhuǎn)發(fā),但是還是有許多的不同,差別最主要集中在如下幾個(gè)方面:

1、forward與include共亨Request范圍內(nèi)的對(duì)象,而redirect則不行,即:如果一個(gè)javabean被聲明為request范圍的話,則被forward到的資源也可以訪問(wèn)這個(gè)javabean,而redriect則不行。

2、forward與include基本上都是轉(zhuǎn)發(fā)到context內(nèi)部的資源,而redirect可以重定向到外部的資源,如: req.sendRedriect("http://www.baidu.com");


總結(jié)

以上是生活随笔為你收集整理的HTTP Status 405 - HTTP method POST is not supported by this URL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。