How can I get a the host name (with port) that a servlet is at
I thought ServletContext might provide a method. Does the getAttribute() method of ServletContext provide any help i.e. is there an attribute name (maybe "host", "port") that will be of help.
The reason for this is I want my application to run wherever it is deployed, and at one point I have to allow a user to click a link that points to a location on the file server. Hence I need to reference by the host and port and cannot use an internal reference.
Solution 1:
ServletRequest.getServerName(...)
ServletRequest.getServerPort(...)
Solution 2:
The ServletRequest object that has been passed to your doGet, or doPost method has getServerName
and getServerPort
methods that provide this information.
eg
public void doGet(ServletRequest request, ServletResponse response) {
System.out.println("Host = " + request.getServerName());
System.out.println("Port = " + request.getServerPort());
}