我有一个要在Azure上部署的Web应用程序。我按照建议的说明进行操作,并部署了我的应用程序,根据Azure门户,一切正常。但是,当我访问应用程序应位于的基本URL时,会看到一个页面,显示以下内容:


  此基于Java的Web应用程序已成功创建
  
  这里还没有任何东西,但是Microsoft Azure使它易于实现
  使用GIT和FTP发布内容


同样,当我访问应用程序应具有的任何一个端点(在本例中为/ live端点)时,我总是会看到一个页面,其中包含以下消息:


  HTTP错误404
  
  访问/直播时出现问题。原因:
  
  未找到
  
  由Jetty提供支持:// 9.3.13.v20161014


当我查看计算机上的目录时,似乎一切就绪。我所有的文件都在wwwroot内部。但是,在webapp下还有另一个名为wwwroot的目录,并且在其中是另一个名为ROOT的目录,其中包含两个文件:index.jspbackground.pngindex.jsp是显示前面提到的“这里什么都没有”消息的页面。

我使用Bitbucket作为源代码控制提供程序,并使用码头运行我的Web应用程序。我还使用javalite作为库来管理服务器和不同的端点。

最佳答案

您需要将您的东西放在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


  回购中的主要内容是带有webappsROOT.war文件夹。 App Service中的Tomcat / Jetty服务器将在此文件夹中查找要托管的Web应用程序。
  
  ROOT.war表示默认的Web应用程序(在网站根目录中)。任何以其他方式命名的WAR文件都表示可通过~/<WARfilename>访问的Web应用程序。


清理事情


如果您的应用程序位于wwwroot/webapps/CoffeeShop/中,那么您将通过http://{site}.azurewebsites.net/CoffeeShop/访问它。
如果您的应用程序位于wwwroot/webapps/ROOT/中,那么您将通过http://{site}.azurewebsites.net/访问它。

10-05 21:46