在 Ubuntu 上部署 JSP 页面后打不开、空白或始终无响应,最常见的原因并不复杂,难点主要在于排查顺序不清。与其反复重启服务,不如按“环境是否齐全、Tomcat 是否正常运行、应用是否部署到位、请求是否被端口拦住、日志有没有报错”这条链路逐项检查,这样通常能更快定位问题,也更容易判断到底是服务器配置问题,还是 JSP 文件本身有误。
先确认 Java 和 Tomcat 是否安装完整
JSP 运行依赖 Java 环境和 Tomcat 容器,Ubuntu 上这两项是最基础的前提。如果其中一项未安装,页面自然无法正常提供服务。
还没安装的话,可以直接执行下面的命令:
sudo apt update
sudo apt install openjdk-11-jdk
sudo apt install tomcat9
安装完成后,建议再核对一次版本信息,重点确认 Java 版本和 Tomcat 版本是否符合当前项目要求,避免因为环境不兼容导致页面无法加载。
确认 Tomcat 服务是否真的在运行
Tomcat 已安装,不代表服务一定已经启动。JSP 页面无法访问时,优先检查服务状态,往往比直接改配置更有效。

查看 Tomcat 运行状态:
sudo systemctl status tomcat9
如果结果显示服务未运行,可以手动启动:
sudo systemctl start tomcat9
如果你的服务器会重启,顺手把 Tomcat 设为开机自启也很有必要,这样可以避免系统重启后页面再次无法访问。
检查 JSP 应用是否部署到了正确目录
服务正常后,下一步要看 JSP 文件有没有放在 Tomcat 能识别的位置。常见做法是把 JSP 文件部署到 /var/lib/tomcat9/webapps/your_app_name 目录下,Tomcat 会自动扫描并加载这个目录中的应用。
这里有两个细节容易出错:
部署路径要正确
如果文件没有放进 webapps 下对应的应用目录,Tomcat 就不会按预期提供访问入口。
文件后缀必须是 .jsp
文件名必须以 .jsp 结尾,否则 Tomcat 不会把它当作 JSP 页面处理。

另外,文件复制完成后,Tomcat 有时需要几秒钟完成自动加载。如果你刚部署完就立刻刷新页面,可能会误以为部署失败。
页面请求到不了服务时,检查防火墙端口
如果 Tomcat 正常运行、文件也已部署,但浏览器仍然打不开页面,就要考虑网络入口是否被拦截。启用了防火墙的 Ubuntu 服务器,HTTP 的 80 端口和 HTTPS 的 443 端口如果没有放行,请求可能根本到不了应用层。
可以使用以下命令放行端口:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
这一步在新环境里尤其容易被忽略。表面上看像是 JSP 页面不显示,实际上问题可能只是外部请求被系统防火墙挡住了。
页面仍然没反应,直接看 Tomcat 日志
当前面的基础项都确认无误后,日志就是最直接的定位依据。Tomcat 的日志通常位于 /var/log/tomcat9,其中 catalina.out 往往最值得先看。
实时追踪日志可以使用:
sudo tail -f /var/log/tomcat9/catalina.out
日志里通常会直接暴露问题线索,例如:
- 缺少依赖
- JSP 语法错误
- 端口冲突
- 应用加载失败
与其凭感觉修改配置,不如先根据日志提示逐项处理。多数情况下,真正的报错信息都会出现在这里。
最后再回头检查 JSP 文件本身
如果服务器环境、Tomcat 服务、部署目录和端口都没问题,就要把注意力放回 JSP 文件本身。一个细小的语法错误、标签问题,或者遗漏的分号,都可能导致页面无法正常显示。
比较稳妥的做法,是把这个 JSP 文件拿到本地环境或另一台支持 JSP 的服务器上测试一次。这样可以尽快判断问题究竟出在运行环境,还是出在文件内容。
如果换一套环境后依旧无法运行,基本就可以把排查重点锁定在 JSP 代码本身。
一套更高效的排查顺序
遇到 Ubuntu 上 JSP 页面不显示的问题,建议按下面的顺序处理:
- 确认
openjdk-11-jdk和tomcat9已安装。 - 检查
tomcat9服务状态,必要时手动启动。 - 确认 JSP 文件已放入
/var/lib/tomcat9/webapps/your_app_name,且后缀为.jsp。 - 检查 80 和 443 端口是否已通过
ufw放行。 - 查看
/var/log/tomcat9/catalina.out中的实际报错。 - 在其他可用环境中验证 JSP 文件本身是否存在语法或结构问题。
按这个顺序走,通常能覆盖大多数常见故障场景。要是问题仍然无法定位,就需要进一步结合日志片段、部署目录结构、Ubuntu 版本、Java 版本和 Tomcat 版本一起分析,结论会更准确。







