我想在Azure上部署一个Web应用程序。我按照推荐的说明部署了我的应用程序,根据Azure门户网站,一切正常。但是,当我访问我的应用程序应该驻留的基本URL时,我看到一个页面说明如下:
此基于Java的Web应用程序已成功创建
此处没有任何内容,但Microsoft Azure使其变得简单 使用GIT和FTP发布内容
当我访问我的应用程序应该具有的任何一个端点(在本例中为/ live端点)时,我总是看到一个页面,其中包含以下消息:
HTTP错误404
访问/直播时遇到问题。原因是:
未找到
由Jetty提供:// 9.3.13.v20161014
当我查看机器上的目录时,一切似乎都已到位。我的所有文件都在wwwroot
内。但是,webapp
下的另一个名为wwwroot
的目录位于另一个名为ROOT
的目录中,其中包含两个文件:index.jsp
和background.png
。 index.jsp
是显示上述"此处尚无任何内容的页面"消息。
我使用Bitbucket作为我的源代码控制提供程序,我使用jetty来运行我的网络应用程序。我还使用javalite作为库来管理我的服务器和不同的端点。
答案 0 :(得分:3)
您需要将您的资料放在wwwroot/webapps/ROOT/
下,或打包为ROOT.war
并将其放在wwwroot/webapps
下 - 它会自动获取并自动提取:
wwwroot
└── webapps
└── ROOT
├── about.jsp
├── Content
│ ├── favicon.ico
│ └── Site.css
├── Images
│ ├── banner_coffee.png
├── index.jsp
├── META-INF
│ ├── context.xml
│ └── MANIFEST.MF
├── orderconfirmation.jsp
├── placeorder.jsp
├── Scripts
│ ├── jquery-1.7.1.min.js
└── WEB-INF
├── classes
├── lib
├── log4j.properties
└── web.xml
来自https://github.com/Azure-Samples/app-service-web-java-get-started:
回购中的主要内容是
webapps
文件夹ROOT.war
。 App Service中的 Tomcat / Jetty服务器将在此文件夹中查找要托管的Web应用程序。
ROOT.war
代表默认的网络应用(位于网站根目录)。任何以其他方式命名的WAR文件代表~/<WARfilename>
的Web应用程序访问对象。
如果您的申请位于wwwroot/webapps/CoffeeShop/
,那么您可以http://{site}.azurewebsites.net/CoffeeShop/
访问它。
如果您的申请位于wwwroot/webapps/ROOT/
,那么您可以http://{site}.azurewebsites.net/
访问它。