如何获取 servlet 所在的主机名(带端口)
我认为ServletContext可能会提供一种方法。ServletContext的getAttribute()方法是否提供了任何帮助,即是否有一个属性名称(可能是“host”,“port”)会有所帮助。
这样做的原因是我希望我的应用程序在部署的任何位置运行,并且有一次我必须允许用户单击指向文件服务器上某个位置的链接。因此,我需要通过主机和端口引用,并且不能使用内部引用。
我认为ServletContext可能会提供一种方法。ServletContext的getAttribute()方法是否提供了任何帮助,即是否有一个属性名称(可能是“host”,“port”)会有所帮助。
这样做的原因是我希望我的应用程序在部署的任何位置运行,并且有一次我必须允许用户单击指向文件服务器上某个位置的链接。因此,我需要通过主机和端口引用,并且不能使用内部引用。
ServletRequest.getServerName(...)
ServletRequest.getServerPort(...)
已传递给 doGet 或 doPost 方法的 ServletRequest 对象具有和提供此信息的方法。getServerName
getServerPort
例如
public void doGet(ServletRequest request, ServletResponse response) {
System.out.println("Host = " + request.getServerName());
System.out.println("Port = " + request.getServerPort());
}