Glassfish和域名中的上下文根

时间:2014-03-13 06:25:30

标签: eclipse servlets glassfish

来自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

我不清楚我必须做些什么来实现这一目标。

1 个答案:

答案 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>