简单地说,如何在JSP中检索根网络路径?
如果页面位于http://mysite.com/Level1/index.html且上下文路径为/ Level1(正斜杠为根),则根网络路径应为mysite.com。如何在JSP中检索它?
谢谢。
答案 0 :(得分:2)
请参阅getServerName()
。
所以在JSP:${pageContext.request.serverName}
答案 1 :(得分:2)
Servlet(以及JSP)可以访问ServletRequest和ServletContext对象,这些对象具有获取servlet资源和位置所需的元数据。
<强>的ServletRequest 强>
看来您只需要服务器名称 - 然后,正如其他帖子所示,ServletRequest可以为您提供 - http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html
ServletContext(在您的情况下不直接有用)
请记住,JSP只是servlet - 您的JSP可以访问Servlet Context和Servlet Request对象。
ServletContext为您提供了一个API,用于访问有关其运行位置(磁盘上)及其资源位置的信息,这称为 servlet上下文。
servlet上下文有一个方法“getResourcePaths”(用于查找servlet目录中的文件), “getRealPath()” (它给你“完整” “servlet的路径,包括主机名”。
答案 2 :(得分:1)
您似乎需要serverName
对象的ServletRequest
属性(请参阅javadoc)。
在JSP EL中,${pageContext.request.serverName}
应该有效。在scriptlet中,使用request.getServerName()