Deploying just HTML, CSS webpage to Tomcat
HtmlCssTomcatWeb Deployment-ProjectHtml Problem Overview
I am just getting started on developing a website. All I have at the moment is a HTML page supported by a couple of CSS stylesheets.
Can I create a WAR file from the HTML and CSS pages? How do I deploy them on to a Tomcat server?
Thanks.
Html Solutions
Solution 1 - Html
There is no real need to create a war to run it from Tomcat. You can follow these steps
-
Create a folder in webapps folder e.g. MyApp
-
Put your html and css in that folder and name the html file, which you want to be the starting page for your application, index.html
-
Start tomcat and point your browser to url "http://localhost:8080/MyApp";. Your index.html page will pop up in the browser
Solution 2 - Html
Here's my setup: I am on Ubuntu 9.10.
Now, Here's what I did.
-
Create a folder named "tomcat6-myapp" in /usr/share.
-
Create a folder "myapp" under /usr/share/tomcat6-myapp.
-
Copy the HTML file (that I need to deploy) to /usr/share/tomcat6-myapp/myapp. It must be named index.html.
-
Go to /etc/tomcat6/Catalina/localhost.
-
Create an xml file "myapp.xml" (i guess it must have the same name as the name of the folder in step 2) inside /etc/tomcat6/Catalina/localhost with the following contents.
< Context path="/myapp" docBase="/usr/share/tomcat6-myapp/myapp" />
-
This xml is called the 'Deployment Descriptor' which Tomcat reads and automatically deploys your app named "myapp".
-
Now go to http://localhost:8080/myapp in your browser - the index.html gets picked up by tomcat and is shown.
I hope this helps!
Solution 3 - Html
Here's my step in Ubuntu 16.04 and Tomcat 8.
-
Copy folder /var/lib/tomcat8/webapps/ROOT to your folder.
cp -r /var/lib/tomcat8/webapps/ROOT /var/lib/tomcat8/webapps/{yourfolder}
-
Add your html, css, js, to your folder.
-
Open "http://localhost:8080/{yourfolder}" in browser
Notes:
-
If you using chrome web browser and did wrong folder before, then clean web browser's cache(or change another name) otherwise (sometimes) it always 404.
-
The folder META-INF with context.xml is needed.
Solution 4 - Html
If you want to create a .war file you can deploy to a Tomcat instance using the Manager app, create a folder, put all your files in that folder (including an index.html file) move your terminal window into that folder, and execute the following command:
zip -r <AppName>.war *
I've tested it with Tomcat 8 on the Mac, but it should work anywhere
Solution 5 - Html
(Answers are pretty old, so here's what worked for me on Ubuntu 20.04 Tomcat9) As root
cd /var/lib/tomcat9/webapps
mkdir -p myapp
cd myapp
cat >>index.html
<html><body>MY SIMPLE PAGE </body></html>
control-D # Press CONTROL+D to exit 'cat', create the file 'index.html'
systemctl restart tomcat9
In browser, use URL: http://127.0.0.1/myapp
(Of course, you can make page fancier, add CSS, etc., etc.)
Solution 6 - Html
I struggled a bit with older version of Apache Tomcat (7.0.68)
running on Windows Server 2012
, but this worked for me after a little bit of experimenting:
- Create app folder with your static files (HTML, JS, CSS, assets, etc.).
- Inside the folder create
META-INF
folder and add emptyMANIFEST.MF
. - Optionally zip the app folder and change the extension to
.war
. - Upload your app to Tomcat's
webapps
folder, either as a.war
or just folder with your files.
Turned out, that META-INF
with empty MANIFEST.MF
file is enough for Tomcat to serve the app. No need to add WEB-INF
or anything else (at least for my version of Tomcat).
Folder structure:
MyApp (folder)
|--index.html
|--app.js
|--app.css
|--assets (folder)
|--logo.png
|--...
|--META-INF (folder)
|--MANIFEST.MF (empty file)