我有一个要在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作为源代码控制提供程序,并使用码头运行我的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:
回购中的主要内容是带有
webapps
的ROOT.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/
访问它。