這兩者之間的區別是什麼?JSP和servlets中頁面路徑的概念
在JSP:
${pageContext.request.contextPath}
,以及如何,如果沒有編碼的表達式語言和一個servlet來實現同樣的結果?
在servlet的:
request.getServletPath()
,以及如何在編碼在JSP中實現同樣的結果?
這兩者之間的區別是什麼?JSP和servlets中頁面路徑的概念
在JSP:
${pageContext.request.contextPath}
,以及如何,如果沒有編碼的表達式語言和一個servlet來實現同樣的結果?
在servlet的:
request.getServletPath()
,以及如何在編碼在JSP中實現同樣的結果?
$ {pageContext.request.contextPath}:返回指示請求上下文的請求URI部分。實際上,它與request.getContextPath()
相同,因爲${pageContext.request}
是指當前請求的HttpServletRequest
。
例如:
http://localhost:80/myapplication/path/servlet
${pageContext.request.contextPath}
回報/myapplication
request.getServletPath()
返回調用這個servlet的請求的URL,例如部分/path/servlet
${pageContext.request.servletPath}
回報/path/servlet
不錯。什麼是相當於要求。表達式語言或JSTL中的getServletPath() – kevin
作爲一個回答你的問題的第二部分:
request.getServletPath()
,以及如何在編碼中 JSP中使用表達式語言來實現同樣的結果?
這裏相當於request.getServletPath()
的使用表達式語言:
${pageContext.request.servletPath}
如果你想用表達式語言來使用其他的ServletRequest/HttpServletRequest的方法,只需要用${pageContext.request.method}
,其中方法是合適的方法之一。
在由JSP處理視圖的情況下,$ {pageContext.request.servletPath}返回jsp的路徑,而不是web.xml中的servlet路徑。爲了得到我使用:$ {requestScope ['javax.servlet.forward.servlet_path']}
似乎是[此API調用](http://docs.oracle.com/javaee/6/ api/javax/servlet/http/HttpServletRequest.html#getContextPath())和[此API調用](http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getServletPath ())給我... – Makoto
我需要掌握它的含義的細節。 – kevin