在 Ubuntu 上 JSP 无法启动,通常不是 JSP 语法本身的问题,而是运行环境或配置问题。下面按最常见原因 → 排查方法 → 解决方式给你梳理。
❌ 错误认知:Ubuntu + JDK 就能跑 JSP
✅ 正确:JSP 必须在 Tomcat / Jetty / WildFly 中运行
systemctl status tomcat
# 或
ps aux | grep tomcat
如果没有:
sudo apt update
sudo apt install tomcat9
sudo systemctl start tomcat9
访问:
http://localhost:8080
JSP 不能随便放
/var/lib/tomcat9/webapps/
└── yourApp/
├── index.jsp
└── WEB-INF/
❌ 错误示例:
/home/user/index.jsp/var/www/html/index.jspnetstat -tlnp | grep 8080
tail -n 100 /var/log/tomcat9/catalina.out
常见错误:
JSP 需要 JDK(不是 JRE)
java -version
javac -version
如果没有 javac:
sudo apt install default-jdk
例如:
<%= request.getParameter("x") %>
如果写错:
<%= request.getParametr("x") %>
Tomcat 会直接 无法启动该页面,但服务还在。
查看:
http://localhost:8080/yourApp/index.jsp
页面会显示:
HTTP 500Unable to compile classTomcat 用户无权限读取 JSP
sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps/yourApp
sudo chmod -R 755 /var/lib/tomcat9/webapps/yourApp
如果是云服务器:
sudo ufw allow 8080
<!-- /var/lib/tomcat9/webapps/test/index.jsp -->
<html>
<body>
<h1><%= "JSP OK" %></h1>
</body>
</html>
访问:
http://localhost:8080/test/index.jsp
如果你愿意,可以把:
发出来,我可以直接帮你定位是哪一步出错。