【问题标题】:Configure the path (localhost) of the war application to be the root (Java EE)将war应用程序的路径(localhost)配置为root(Java EE)
【发布时间】:2013-04-23 03:44:43
【问题描述】:

我想在本地运行我的战争应用程序时更改路径... 现在,它在默认设置下运行...

http://localhost:8080/myproject-war/ 

我希望它成为根,例如:

http://myproject-war.local/

http://myproject:8080/

我该怎么做???

注意:我的应用是使用 Netbeans 7.3 的带有 Glashfish 的 Java EE 6 应用程序

【问题讨论】:

    标签: java-ee-6 glassfish-3


    【解决方案1】:

    这篇文章帮助了我How do you deploy a WAR that's inside an EAR as the root (/) context in Glassfish?

    • 首先,我将标准部署描述符 (application.xml) 添加到企业应用程序项目中。
    • 然后,将 Web 应用程序的上下文根路径:<context-root>/myproject-war</context-root> 更改为 <context-root>/</context-root><context-root />
    • 最后,(可选)删除或重命名 Glashfish 索引页面(或将其重定向到欢迎页面)。位于 Glashfish 默认文件夹中,例如 C:\Program Files\glassfish-3.1.2.2\glassfish\domains\domain1\docroot

    现在页面网络应用程序将可见于:http://localhost:8080/

    【讨论】:

      【解决方案2】:

      也许您在这里混淆了一些东西 - 您可以而且应该做的一件事是设置应用程序的上下文根。这是在服务器的部署描述符中完成的 - 在您的情况下是 glassfish-web.xml

      <context-root>/myproject</context-root>
      

      (有关详细信息,请参阅The Java EE 6 Tutorial 。)

      您在示例 URL 中询问的是更改主机名,这与您的应用程序或应用程序服务器无关,而是与您的机器和操作系统设置有关。

      您可以在操作系统主机文件中添加一些内容(Linux 上为/etc/hosts,Windows 上为C:\Windows\System32\drivers\etc),但我认为这样做没有意义。您的应用程序在某个主机上运行(可能是 localhost 或某个外部服务器),这就是您的 URL 的启动方式。

      【讨论】:

      • 关于主机,我相信仅适用于端口 80,但我的端口是 8080,我想保持这种方式,所以不要与端口 80 中的其他应用程序冲突。另外,我们必须做一些额外的事情在 Web 服务器/Web 容器中进行配置,我已经在 IIS(和 Visual Studio)的 .NET 应用程序中完成了
      • @Jaider:端口又不同于主机名和应用程序根上下文——它是在您的网络/应用程序服务器中配置的。默认情况下,您的 Glassfish 服务于 8080。
      【解决方案3】:

      您可以将条目放入主机文件中。它位于“C:\WINDOWS\system32\drivers\etc”中。

      127.0.0.1 your_project_name

      【讨论】:

        猜你喜欢
        • 2012-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多