温馨提示×

ubuntu jsp为何无法启动

小樊
37
2026-10-06 21:46:55
栏目: 编程语言

在 Ubuntu 上 JSP 无法启动,通常不是 JSP 语法本身的问题,而是运行环境或配置问题。下面按最常见原因 → 排查方法 → 解决方式给你梳理。


一、JSP 必须有 Servlet 容器(最常见原因)

❌ 错误认知:Ubuntu + JDK 就能跑 JSP
✅ 正确:JSP 必须在 Tomcat / Jetty / WildFly 中运行

检查你是否装了 Tomcat

systemctl status tomcat
# 或
ps aux | grep tomcat

如果没有:

sudo apt update
sudo apt install tomcat9
sudo systemctl start tomcat9

访问:

http://localhost:8080

二、JSP 文件放错目录(非常常见)

JSP 不能随便放

✅ 正确目录结构

/var/lib/tomcat9/webapps/
└── yourApp/
    ├── index.jsp
    └── WEB-INF/

❌ 错误示例:

  • /home/user/index.jsp
  • /var/www/html/index.jsp

三、Tomcat 没启动 / 端口被占用

查看端口

netstat -tlnp | grep 8080

查看日志(非常关键)

tail -n 100 /var/log/tomcat9/catalina.out

常见错误:

  • 端口被占用
  • JAVA_HOME 未设置
  • JSP 编译失败

四、JDK 未安装或版本不对

JSP 需要 JDK(不是 JRE)

java -version
javac -version

如果没有 javac:

sudo apt install default-jdk

五、JSP 本身报错(编译失败)

例如:

<%= request.getParameter("x") %>

如果写错:

<%= request.getParametr("x") %>

Tomcat 会直接 无法启动该页面,但服务还在。

查看:

http://localhost:8080/yourApp/index.jsp

页面会显示:

  • HTTP 500
  • Unable to compile class

六、权限问题(Ubuntu 特有)

Tomcat 用户无权限读取 JSP

sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps/yourApp
sudo chmod -R 755 /var/lib/tomcat9/webapps/yourApp

七、防火墙或云服务器安全组

如果是云服务器:

  • 安全组未开放 8080
  • Ubuntu 防火墙
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

九、快速自检清单 ✅

  • [ ] 安装了 Tomcat
  • [ ] Tomcat 已启动
  • [ ] JSP 放在 webapps 下
  • [ ] 有 JDK
  • [ ] 查看了 catalina.out
  • [ ] 防火墙/端口没问题

如果你愿意,可以把:

  • 具体报错信息
  • Tomcat 日志
  • JSP 文件路径

发出来,我可以直接帮你定位是哪一步出错。

0 踩