“Debian 上 JSP 报错”这个问题比较宽泛,JSP 本身不会直接在 Debian 上报错,而是运行环境(Tomcat / Jetty / JDK)+ 配置 + 代码在 Debian 下出了问题。
下面我按最常见原因给你一个排查清单,你可以对照看看是哪一种。
JSP 必须由 Servlet 容器 执行。
检查:
systemctl status tomcat9
# 或
ps aux | grep tomcat
Debian 常见:
sudo apt install tomcat9
sudo systemctl start tomcat9
访问:
http://服务器IP:8080/
JSP 编译依赖 JDK,不是 JRE。
检查:
java -version
javac -version
⚠️ 注意:
JSP 必须放在:
/var/lib/tomcat9/webapps/你的项目/
错误示例:
/home/user/test.jsp ❌
正确:
/var/lib/tomcat9/webapps/ROOT/test.jsp ✅
访问:
http://IP:8080/test.jsp
Tomcat 用户通常叫 tomcat:
ls -l /var/lib/tomcat9/webapps
修复权限:
sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps
sudo chmod -R 755 /var/lib/tomcat9/webapps
典型报错:
Unable to compile class for JSPcannot find symbol常见原因:
javax.*(Tomcat 10 已改为 jakarta.*)一定要看日志,不要只看浏览器
tail -n 100 /var/log/tomcat9/catalina.out
或者:
journalctl -u tomcat9
| 现象 | 可能原因 |
|---|---|
| 404 | JSP 放错目录 |
| 500 | JSP 编译错误 |
| 空白页 | Java 异常未捕获 |
| 无法访问 | Tomcat 没启动 |
| 中文乱码 | 编码未设置 UTF-8 |
你可以贴出:
我可以一步步告诉你具体是哪一行出错、怎么改。