1. 程式人生 > >request.getServletPath()和request.getPathInfo()用法

request.getServletPath()和request.getPathInfo()用法

本文轉載於http://my.oschina.net/sub/blog/182408?fromerr=8xxvSrQt

在 Web 中,我們通常需要獲取 URL 相對於 Webapp 的路徑,主要是下面的幾個方法:

?
1 2 3 4 request.getServletPath() request.getPathInfo() request.getContextPath() request.getRequestURI()

其中 request.getRequestURI() 的返回值包含了 request.getContextPath(),所以是相對於網站的根目錄的。

下面我們分析 request.getServletPath() 和 request.getPathInfo()

1. 如果我們的 servlet-mapping 如下配置:

?
1 2 3 4 <servlet-mapping> <servlet-name>jetbrick-template</servlet-name> <url-pattern>*.jetx</url-pattern> </servlet-mapping>

那麼訪問: /context/templates/index.jetx

?
1 2 request.getServletPath() == "/templates/index.jetx" request.getPathInfo() == <null>


2. 如果我們的 servlet-mapping 如下配置:

?
1 2 3 4 <servlet-mapping
> <servlet-name>jetbrick-template</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>
那麼訪問: /context/templates/index.jetx

相關推薦

request.getServletPath()request.getPathInfo()用法

本文轉載於http://my.oschina.net/sub/blog/182408?fromerr=8xxvSrQt 在 Web 中,我們通常需要獲取 URL 相對於 Webapp 的路徑,主要是下面的幾個方法: ? 1

C# get與post請求,在一般處理程式handler中的應用Request.QueryStringRequest.Form的用法,利用postman工具進行請求

一、Get 請求 1.引數存放在請求頭中header。(postman工具能夠證明,Body不可選) 2.字串大小有限制,需要小於2k位元組。 3. handler 接受引數Request.Q

request.getParameter()、request.getInputStream()request.getReader()

req 字符 操作 沒有 影響 -type 字符流 客戶 multi request.getParameter()、request.getInputStream()和request.getReader() request的Content-Type小結 applicati

request.form()request()的區別

限制 數據信息 顯示 for clas https ref ble 地址欄 Request.Form:獲取以POST方式提交的數據(接收Form提交來的數據);Request.QueryString:獲取地址欄參數(以GET方式提交的數據)Request:包含以上兩種方式(

request.getAttribute() request.getParameter() 有何區別?

傳遞 數據類型 get 客戶端 傳遞數據 永遠 object string類 ram 當你要傳遞普通的數據類型給下一個頁面時,你在下一個頁面中就可以用getParameter()方法來獲得上一個頁面傳遞過來的數據了!(普通的數據類型是指int,float,double,st

關於request.getServletPath(),request.getContextPath()的總結

https://blog.csdn.net/qq_27770257/article/details/79438987   通過觀察列印結果,我們可以總結:  1. getServletPath():獲取能夠與“url-pattern”中匹配的路徑,注意是完全匹配的部分,*

關於pageContext.request.contextPathrequest.getContextPath()等路徑問題

${pageContext.request.contextPath}和<%=request.getContextPath()%>等路徑問題 我們在寫jsp頁面的時候,經常見到下面幾個關於路徑的寫法: 比如 <% String path = r

request.getAttribute()request.getParameter()的區別

request.getAttribute():這個函式需要配和request.setAttribute()使用,即request.getAttribute()獲取的是我們自己服務端存到servlet容器中的資料。 request.getParameter():這個函式是用來

request.includerequest.foward後是否共享RequestResponse的問題

這兩天在細看<深入體驗Java_Web開發內幕-核心基礎>一書,書比較老了,使用的tomcat和servlet版本差距都比較大。書中提及在foward轉發過程中,request物件和response物件一直都是同一個。但我總覺得有些問題,做了以下測試: @Web

request.getRequestURL()request.getRequestURI()的區別

request.getRequestURL() 返回全路徑 request.getRequestURI() 返回除去host(域名或者ip)部分的路徑 request.getContextPath() 返回工程名部分,如果工程對映為/,此處返回則為空 request

request.getParameter() request.getAttribute() 區別

------------> 一般通過表單和連結傳遞的引數使用getParameter 通過request.setAttribute("name","jerry")的方式賦值的使用request.getAttribute("name") 這個問題主要是request和session的差別,request範

${pageContext.request.contextPath}<%=request.getContextPath()%>

       做的一個web專案,需要在jsp頁面中獲取js、css和圖片等資源,本想採用相對路徑來寫,但是發現可移植性太差,在自己電腦上還好使,但辛辛苦苦調好程式碼後,放到其他電腦上又得再次辛辛苦苦修改相關路徑。於是決定採用絕對路徑來寫。然後在網上找尋相關方法,發現用的比較多的兩個:${pageContex

Request.getLocalPort()Request.getServerPort() 的區別

      在獲取請求的應用IP埠時,會有兩個方法可以用,但是兩個方法有時得到的值卻不一樣,具體原因是兩個方法獲取的埠來源不一樣。       getLocalPort獲取的是應用伺服器的埠,即該應用的實際埠,無論請求經過了多少代理,轉發,getLocalPort只取最後的

request.setAttribute()request.getSession().setAttribute()解釋

request.setAttribute()只能在一個request內有效,如果重定向客戶端,將取不到值。 request.getSession().setAttribute()可以通過sessionID得到自己的session,將引數儲存在session中,

request.getParameterrequest.getAttribute的比較(附:問題一個)

HttpServletRequest類既有getAttribute()方法,也由getParameter()方法,這兩個方法有以下區別:(1)HttpServletRequest類有setAttribute()方法,而沒有setParameter()方法(2)當兩個Web元件

【java】request.getParameter request.getAttribute 的功能作用詳解.

request.getParameter("companyName");是獲得表單(前臺頁面表單中名稱為companyName)提交的資料。 request.getParameter(引數名) 在超連結裡帶的引數用。request.getAttribute("cc")是獲得

如何在類中獲取request網站路徑

div ner nbsp stc cnblogs java sharp val request @RequestMapping(value = "res/testjs") public ModelAndView testjs( ModelMap model ) th

javaweb中重定向請求轉發(response.sendRedirect()request.getRequestDispatcher(rul).forward(request,response)))的區別

客戶端 不起作用 這也 方法 cnblogs rect() 獲取url rec alt 先來兩張圖,方便理解: 可以看出,重定向時,是服務器向遊覽器重新發送了一個response命令,讓遊覽器再次向url2發送請求,以獲取url2的資源 而請求轉發時,類似於是服務器自己

response.sendRedirect()request.getRequestDispatcher().forward(request,response)的區別

解決 新的 rain nbsp 響應 服務 war 站點 不知道 轉發方式:request.getRequestDispatcher().forward(); 重定向方式:response.sendRedirect(); 下面是HttpServletResponse.s

${pageContext.request.contextPath}<%=request.getContextPath()%>

href mvc 比較 ext ref 名稱 說了 tails 物理地址 轉自:http://blog.csdn.net/u010010428/article/details/51246491 做的一個web項目,需要在jsp頁面中獲取js、css和圖片等資源,本想采用相