温馨提示×

ubuntu jsp为什么报错

小樊
49
2026-10-06 21:48:52
栏目: 编程语言

在 Ubuntu 上运行 JSP 报错,通常不是“JSP 本身的问题”,而是运行环境或配置问题。下面我按最常见原因给你梳理一下,你可以对照排查。


一、最常见原因汇总(90% 都在这)

1️⃣ 没有安装 / 启动 Tomcat

JSP 必须靠 Servlet 容器运行,不能直接用 java 或 javac 跑。

✅ 正确环境:

  • Ubuntu
  • JDK(不是 JRE)
  • Tomcat(或 Jetty)

检查:

which java
java -version

Tomcat 是否启动:

ps aux | grep tomcat

或:

systemctl status tomcat

2️⃣ JSP 文件放错位置

JSP 必须放在 web 应用目录下:

Tomcat/webapps/yourProject/
├── index.jsp
├── WEB-INF/

❌ 错误示例:

  • 放在 /home/xxx/index.jsp
  • 直接用浏览器打开 file:///...jsp

✅ 正确访问方式:

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

3️⃣ JDK 没装或装的是 JRE

JSP 编译需要 JDK

检查:

javac -version

如果没有 javac:

sudo apt install openjdk-11-jdk

4️⃣ Tomcat 权限问题(Ubuntu 特有)

Ubuntu 下 Tomcat 通常用 tomcat 用户运行。

常见错误:

  • JSP 文件不可读
  • 日志目录无写权限

修复:

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

5️⃣ JSP 里写了 Java 错误代码

例如:

<%
  int a = 1/0;
%>

会报:

org.apache.jasper.JasperException
java.lang.ArithmeticException

✅ 看 Tomcat 日志:

tail -f /var/log/tomcat9/catalina.out

二、常见具体报错 & 解决

❌ 404 Not Found

原因:

  • 项目没部署
  • URL 写错

✅ 确认:

http://localhost:8080/

❌ 500 Internal Server Error

原因:

  • JSP 编译失败
  • Java 代码异常

✅ 看日志:

/var/log/tomcat9/catalina.out

❌ JasperException

说明 JSP 语法有问题

例如:

<%= request.getParameter("id") %>  <!-- 少分号没问题 -->

但:

<% int x = %>  ❌

三、最小可运行示例(测试用)

webapps/test/index.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<h1>Hello JSP</h1>
<%= new java.util.Date() %>
</body>
</html>

访问:

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

四、你可以这样问我(更快解决)

如果你愿意,把下面信息发我:

  1. 完整报错信息
  2. Ubuntu 版本
  3. Tomcat 版本
  4. JSP 文件内容(或截图)
  5. 访问地址

我可以直接帮你 精准定位是哪一步出错。

0 踩