环境的NetBeans 6.9.1,GlassFish的3.1获取服务器的地址和应用程序名称
我有一个Java Web应用程序。如何动态获取服务器地址和应用程序名称? '2in1'解决方案对我来说是最好的:http://localhost:8080/AppName/
。
有没有实用的方法来获取这些信息?
编辑假设AppName
的值将被固定,所以我只需要主机地址。是否有可能通过JMX检索它?任何其他方式?
由于提前, 丹尼尔
环境的NetBeans 6.9.1,GlassFish的3.1获取服务器的地址和应用程序名称
我有一个Java Web应用程序。如何动态获取服务器地址和应用程序名称? '2in1'解决方案对我来说是最好的:http://localhost:8080/AppName/
。
有没有实用的方法来获取这些信息?
编辑假设AppName
的值将被固定,所以我只需要主机地址。是否有可能通过JMX检索它?任何其他方式?
由于提前, 丹尼尔
的HttpServletRequest
对象会给你你所需要的:
HttpServletRequest#getLocalAddr()
:服务器的IP地址作为字符串HttpServletRequest#getLocalName()
:s的名称erver接收到该请求HttpServletRequest#getServerName()
:所述服务器接收的上HttpServletRequest#getServerPort()
该请求的端口:该请求被发送到HtppServletRequest#getLocalPort()
的服务器的名称的端口的请求被发送到HttpServletRequest#getContextPath()
:标识应用程序的路径的一部分里面一个servlet,你可以得到它像这样
public static String getUrl(HttpServletRequest request) {
return request.getRequestURL().toString();
}
这给出了完整的请求url,而不仅仅是上下文路径。 – 2011-04-13 07:47:26
注意!那是客户信息!!!! – Ging3r 2012-11-14 14:06:01
@ Ging3r不,它不是。也许你应该听取你自己的建议,关注并阅读适当的文档? – 2012-11-14 23:05:53