在 Ubuntu 上 JSP 无法运行,通常不是“Ubuntu 不支持 JSP”,而是运行环境或配置不正确。JSP 必须依赖 Servlet 容器(如 Tomcat),不能直接用浏览器或普通 Web 服务器访问。
下面按最常见原因逐一说明,并给出排查方法。
| 原因 | 说明 |
|---|---|
| ❌ 没有安装 Tomcat | JSP 必须由 Tomcat / Jetty 等运行 |
| ❌ 用 Nginx / Apache 直接访问 JSP | 它们不会解析 JSP |
| ❌ 文件放错目录 | JSP 必须放在 webapps 下 |
| ❌ 端口未开放 / 防火墙 | 无法访问 8080 |
| ❌ JDK 没装或版本不对 | Tomcat 起不来 |
❌ 文件后缀不是 .jsp |
被当普通文本 |
java -version
如果没有:
sudo apt update
sudo apt install openjdk-11-jdk
sudo apt install tomcat9
启动:
sudo systemctl start tomcat9
sudo systemctl enable tomcat9
访问测试:
http://localhost:8080
/var/lib/tomcat9/webapps/
└── myapp/
└── index.jsp
示例 index.jsp:
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<h1>Hello JSP</h1>
<%= new java.util.Date() %>
</body>
</html>
访问地址:
http://localhost:8080/myapp/index.jsp
❌ 错误:
http://localhost/test.jsp
✅ 正确:
http://localhost:8080/test.jsp
Nginx / Apache 不能解析 JSP
systemctl status tomcat9
如果没启动:
sudo systemctl start tomcat9
sudo ufw allow 8080
说明:
✅ 确保:
8080 端口webapps 目录webapps/项目名/:8080 访问.jsp请告诉我:
我可以直接帮你一步步排错。