Legacy JSP portals
Older servlet apps on javax code stay on Tomcat 9 with JDK 8 or 11 while the code is modernised.
Java and Tomcat hosting runs your Java web app inside Apache Tomcat on a server where you choose the JDK, heap and restart path. WebJi® delivers it on a KVM VPS with root SSH, Nginx in front on port 443, and an INR quote before 18% GST. It suits JSP, Spring and Jakarta EE teams.
For Java teams who need to pick their own JDK and Tomcat line and deploy WARs or Spring Boot jars on a VPS.
Last editorial update: 14 November 2026.
Java and Tomcat hosting is a server where your Java web application runs inside Apache Tomcat, a servlet container, with a JDK you choose and a service you can restart. At WebJi® that server is a KVM VPS with root SSH and a public IPv4 address, billed in INR with 18% GST on the invoice.
Tomcat is not a shared-hosting add-on. A cPanel account has no system JDK, no port it can listen on and no service you can control, so every Tomcat plan here is a VPS server. The usual layout is a JDK (8, 11, 17 or 21), Tomcat running on port 8080 as a systemd service, and Nginx in front on 443 terminating TLS so 8080 stays closed to the internet.
Choose by servlet namespace first: Tomcat 9 runs javax.servlet, while Tomcat 10.1 and 11 run jakarta.servlet. A WAR built for one namespace will not deploy on the other without a migration step, so check your framework before ordering.
| Tomcat line | Servlet / JSP | Namespace | Minimum Java | Typical use |
|---|---|---|---|---|
| Tomcat 9 | Servlet 4.0 / JSP 2.3 | javax.* | Java 8 | Spring Boot 2.x WARs, older servlet apps |
| Tomcat 10.1 | Servlet 6.0 / JSP 3.1 | jakarta.* | Java 11 | Spring Boot 3.x WARs |
| Tomcat 11 | Servlet 6.1 / JSP 4.0 | jakarta.* | Java 17 | New Jakarta EE projects |
Version mapping follows the Apache Tomcat project. Spring Boot 3 needs Java 17, so pair it with Tomcat 10.1 or run it standalone. The install Java on Ubuntu guide covers putting several JDKs on one server.
Teams running JSP portals, Spring applications or Jakarta EE services need a Tomcat VPS; PHP, WordPress and static sites do not. A JVM costs memory even when idle, so a site that never starts one should not pay for it.
Older servlet apps on javax code stay on Tomcat 9 with JDK 8 or 11 while the code is modernised.
Deployed as a WAR on Tomcat 10.1, or as an executable jar under systemd behind Nginx.
A Java API beside a Node.js app or a Python service on one VPS, each proxied by Nginx.
If the application is PHP, Laravel hosting is the closer fit; if it is an ERP, see ERPNext hosting.
Start at 2 GB RAM for one small Java application, with -Xms and -Xmx set equal at about half the memory. The OS, Nginx and Metaspace all need room above the heap, so never hand the whole server to -Xmx.
| Heap (-Xmx) | Server RAM | Workload |
|---|---|---|
| 1 GB | 2 GB VPS | Low-traffic internal app |
| 2 GB | 4 GB VPS | Public app with moderate traffic, or a second app |
| 4 GB or more | 8 GB and up, or a dedicated server | Several apps or a large in-memory cache |
Keep heap and encoding in $CATALINA_BASE/bin/setenv.sh so they survive a restart:
export CATALINA_OPTS="-Xms1g -Xmx1g -Dfile.encoding=UTF-8"
A Tomcat VPS is quoted per configuration in INR before you pay, with 18% GST added on the invoice. WebJi® does not publish one Tomcat price because the right size depends on heap, app count and traffic.
Send the JDK version, heap size, number of apps and expected traffic to support@webji.services; the Jaipur team replies with a fixed INR quote, usually the same business day. Sample VPS configurations such as VPS-Start (2 vCPU, 4 GB RAM, 60 GB NVMe) are listed on the pricing page as starting points.
Copy the WAR into $CATALINA_BASE/webapps, restart Tomcat and confirm the startup line in the log before pointing DNS. The file name sets the context path: shop.war answers at /shop and ROOT.war at the domain root.
scp target/shop.war user@server:/opt/tomcat/webapps/, or use the manager app.sudo systemctl restart tomcat.journalctl -u tomcat or tail catalina.out for "Server startup".curl -I http://127.0.0.1:8080/shop/. A 404 usually means the context name differs; a 500 points at the application, not the container.location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
The full walkthrough is in how to deploy a WAR file in Tomcat, and Certbot with Nginx covers the certificate step.
Choose unmanaged when your team already deploys Java; choose a managed Linux VPS when you want the JDK, Tomcat and Nginx kept patched for you. Both run on root SSH, so the Tomcat line stays your decision.
Server tickets go to support@webji.services, 24/7 in Hindi and English with an average first reply under 60 minutes. Moving an existing Java app is free subject to terms and approval, and the old server stays live until DNS moves; see the managed Linux VPS page for what management covers.
Yes. An executable Spring Boot jar embeds its own server, so you run it with java -jar under a systemd unit and proxy port 8080 through Nginx. It restarts with systemctl and logs to journalctl, and two such services can share one VPS.
Not as it is. Tomcat 10.1 expects the jakarta namespace, so a javax WAR either stays on Tomcat 9 or goes through a namespace migration first. Apache's migration tool can convert many WARs, but test the result before switching production.
Yes, with separate CATALINA_BASE directories, separate systemd units and different ports such as 8080 and 8081. Nginx then routes each domain or path to the right instance. Size RAM for both heaps plus the OS.
Nginx cannot reach Tomcat on its port. Check systemctl status tomcat, then the log for an OutOfMemoryError or a failed deployment. If the service is running, confirm the proxy_pass port matches the connector port in server.xml.
On a managed Linux VPS the desk sets up and patches the JDK, Tomcat and Nginx. On an unmanaged VPS you install them yourself over root SSH, which keeps every version choice with your team.
Last editorial update: 14 November 2026.
Join 12,000+ businesses across India and overseas. Free migration* (subject to terms & approval), INR pricing and 24/7 email support in Hindi & English — average first reply under 60 minutes.