Webapp地址与.war文件名不同

时间:2013-10-09 10:22:18

标签: java windows web-applications war

如果调用已部署的webapp,我不会用正确的webaddress获取此内容。 如果我在Eclipse中创建.WAR文件 - 访问此webapp的webadress始终是.WAR文件的名称。

例如,如果我的文件名为myapp.war,我可以使用http://adress:9999/myapp之类的内容 现在我看到其他一些webapps,warfile名称和url是不同的。如果部署了webapp但你不知道webapp的名称会怎样,因为它与.war文件名不同?

3 个答案:

答案 0 :(得分:2)

要回答你的问题,

What if the webapp is deployed but you dont know the name of the webapp, 
because it´s different from the .war file name?

您将无法找到WAR。就如此容易。

与您的问题无关,但让我详细说明这是如何发生的。以...为例一个使用Maven进行依赖关系管理的Web应用程序。

maven中有一个标记,可以指定它来设置可用于访问应用程序的应用程序的最终名称。

pom.xml

<groupId>com.test</groupId>
<artifactId>testWar</artifactId>
<name>testWar</name>
<packaging>war</packaging>

这段代码告诉maven将应用程序构建为testWar.war

现在,如果设置了以下内容,则可以指定访问应用程序的方式:

<finalName>mycontextpath</finalName> 

然后您的finalName用于“部署”,您可以通过

访问您的webapp

http://localhost:8080/mycontextpath/

默认情况下,几乎所有网络服务器都使用artifactID作为部署路径,但您可以指定在使用finalName插件时使用Jetty之类的内容:

<plugin> 
<groupId>org.mortbay.jetty</groupId> 
<artifactId>jetty-maven-plugin</artifactId> 
<configuration>   
<contextPath>${build.finalName}</contextPath>      
</configuration>             
</plugin> 

希望它有所帮助。 :)

答案 1 :(得分:1)

如果你想手动链接webapp文件夹,比如Tomcat,你可以这样做。我使用此方法直接从项目开发文件夹运行webapps。易于更改或同时运行多个版本,编辑jsp + html + js文件可以立即在浏览器中刷新。生产部署是mywebapp.war打包并上传到j2ee服务器。

<强>的Tomcat / CONF /卡塔利娜/本地主机/ mywebapp.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/projects/mywebapp/web_v3.1"
   reloadable="true" crossContext="true" >
</Context>

浏览地址http://localhost:8080/mywebapp/

或者在context.xml文件中提供path属性,您可以在同一个文件中使用docBase和path。

<强>的Tomcat / CONF /卡塔利娜/本地主机/ myapp2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/projects/myapp2/web" path="/myapp"
   reloadable="true" crossContext="true" >
</Context>

浏览地址http://localhost:8080/myapp/

答案 2 :(得分:1)

该路径称为&#39;上下文路径&#39;,它不依赖于您的war文件名。

基本上,在Web领域部署Web应用程序时,您会遇到一个显示“上下文根”的屏幕。您应该提供您喜欢的任何名称,主要是应用程序名称。现在,这成为您的Web应用程序访问的路径。例如如果您提供&#39; stocktrade &#39;作为上下文根,您可以访问http://localhost/stocktrade/index.html

对于weblogic服务器,您可以定义与web.xml并行的weblogic.xml。该文件应定义应用程序的上下文根。

对于JBOSS服务器,jboss.xml是可用的。您可以在Internet上搜索相应的文件。