1

当从没有上下文路径的 url调用时,将应用程序设置App为默认应用程序将导致空的上下文路径值。HttpServletRequest.getContextPath()

在浏览器栏中使用以下 url 请求站点(不/App!):/foo/bar.xhtml

将导致以下值:

HttpServletRequest.getContextPath()= ""
HttpServletRequest.getServletPath()= "/foo/bar.xhtml"
HttpServletRequest.getRequestURI()= "/App/foo/bar.xhtml"

检索 request-uri 时不应该/App删除吗?


以下用于从 uri 中删除上下文路径的代码行(在许多问题中使用)将不再起作用:

request.getRequestURI().substring(request.getContextPath().length());

还是应该将其安全地替换为:?

request.getContextPath() + request.getServletPath()

在 Glassfish 3.1.2 上使用 mojarra 2.1.23

Glassfish 设置:
应用程序App- 上下文根:/App
虚拟服务器 - 默认 Web 模块:App

这样我就可以/App从 URL 中省略。

4

0 回答 0