如果调用已部署的webapp,我不会用正确的webaddress获取此内容。 如果我在Eclipse中创建.WAR文件 - 访问此webapp的webadress始终是.WAR文件的名称。
例如,如果我的文件名为myapp.war
,我可以使用http://adress:9999/myapp
之类的内容
现在我看到其他一些webapps,warfile名称和url是不同的。如果部署了webapp但你不知道webapp的名称会怎样,因为它与.war文件名不同?
答案 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上搜索相应的文件。