如何在JSP中获取根网络路径?

时间:2012-01-05 16:13:59

标签: jsp

简单地说,如何在JSP中检索根网络路径?

如果页面位于http://mysite.com/Level1/index.html且上下文路径为/ Level1(正斜杠为根),则根网络路径应为mysite.com。如何在JSP中检索它?

谢谢。

3 个答案:

答案 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的路径,包括主机名”。

请参阅Accessing Tomcat Context Path from Servlet

答案 2 :(得分:1)

您似乎需要serverName对象的ServletRequest属性(请参阅javadoc)。

在JSP EL中,${pageContext.request.serverName}应该有效。在scriptlet中,使用request.getServerName()