来自Microsoft背景,主要是IIS经验,在使用Glassfish和使用域名发布应用程序时,我很难理解一些基本概念。我正在使用在Windows Vista上运行的Java EE 7,Glassfish 4和Eclipse Kepler。
当我运行Glassfish管理控制台时,我注意到在“应用程序”下,您可以为应用程序设置“上下文根”。所以在Eclipse中,如果我的项目名为com.mycompany.myapp,那么上下文根将是/com.mycompany.myapp
如果我在浏览器中输入以下网址,我会收到html内容:
http://localhost:8080/com.mycompany.myapp/default.html
我真正想要的是使用域名。所以上面的网址应该是这样的:
http://www.mydomain.com/default.html
我不清楚我必须做些什么来实现这一目标。
答案 0 :(得分:0)
上下文根只是URL的上下文部分,它不能更改URL的服务器部分。通常,如果您希望公共URL指向某个Web应用程序,则需要将URL映射到应用程序服务器的实际URL。在大多数情况下,这与后端无关,而是在应用程序服务器前面配置了负载均衡器(例如Apache)或代理。这也可以由外部提供商托管。
无论如何,您可以通过管理GUI更改GlassFish上的应用程序的上下文根,或者您可以在WEB-INF目录中添加glassfish-web.xml,如下所示:
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD
GlassFish Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<context-root>/your_desired_context_root</context-root>
</glassfish-web-app>