Webapp地址与.war文件名不同

问题描述 投票:0回答:3

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

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

java windows web-applications war
3个回答
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/

默认情况下,几乎所有的Web服务器都使用artifactID作为部署路径,但您可以指定使用finalName,例如使用Jetty插件时:

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

希望能帮助到你。 :)


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/


1
投票

该路径称为“上下文路径”,它不依赖于您的war文件名。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.