If you are considering to move to hosting your websites in Azure but either have a lot of legacy applications written in Java or your organisation is Java focussed, then Azure App Services provide the option to host Java code (Java Servlets, JSPs etc.) in the same way that they can host .NET code (ASP.NET Web Api, Forms, MVC etc.)
To test this, I have taken a pre-built WAR file containing a single Java Servlet, and see how much effort was required to host it in an Azure Web App.
The approach to hosting Java is as follows:
1. Create the Web App.
2. Go into the Web App, Enable the Java runtime and select your application server (Tomcat and Jetty are available).
3. Upload your WAR file to the Web App. I chose FTP, but there are a number of options for publishing. To reiterate, the process of publishing a Java Web App is exactly the same as if you were publishing a .NET Web App (except that you don’t have the option of using Visual Studio to publish). Note: put your WAR file in the “site\wwroot\webapps” folder. This isn’t immediately obvious and can be one of two places depending on how the web app was provisioned. See this article for more information.
4. Confirm it as running.
That’s all there is to it.
Granted, this is a simple scenario, but Azure web apps have the capability to reach on to your on-premise network using things like Site-to-site VPN, ExpressRoute or Hybrid Connections to give you access to resources like databases, line-of-business systems etc. on your network.