将war应用程序的路径(localhost)配置为根(Java EE)

问题描述:

我想在本地运行我的war应用程序时更改路径... 现在,它正在默认设置下运行。 ..将war应用程序的路径(localhost)配置为根(Java EE)

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

,我希望它是根,是这样的:

http://myproject-war.local/ 

http://myproject:8080/ 

我该怎么做?

注:我的应用程序是使用NetBeans 7.3

这篇文章帮我出了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

现在页面上的Web应用程序将是可见的:​​

你可以把主机文件项与Glashfish一个Java EE 6中的应用。它位于“C:\ WINDOWS \ system32 \ drivers \ etc”中。

127.0.0.1 your_project_name

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

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

(详情请参阅The Java EE 6 Tutorial

什么你问你的网址范例正在改变主机名,这与您的应用程序或应用程序服务器无关,而与您的机器和操作系统设置无关。

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

+0

关于主机,我认为这是只针对80端口,但我的端口是8080,我要保留因此不会与端口80中的其他应用程序发生冲突。此外,我们还需要在Web服务器/ Web容器中进行一些额外的配置,我已经在IIS(和Visual Studio)中的.NET应用程序中完成了这项工作。 – Jaider 2013-04-23 14:23:55

+0

@Jaider:端口再次与主机名和应用程序根上下文有所不同 - 它已在Web /应用程序服务器中配置。默认情况下,您的Glassfish服务于8080。 – 2013-04-23 14:46:59