温馨提示×

ubuntu jsp报错怎么解决

小樊
45
2026-09-22 03:45:19
栏目: 编程语言

Ubuntu 上运行 JSP(Java Server Pages) 报错,通常不是“JSP 本身”的问题,而是 环境配置 / 服务器 / 代码 / 权限 的问题。下面我按最常见情况帮你梳理排查思路和解决方法。


一、先确认基础环境

1️⃣ 是否安装了 JDK(不是 JRE)

java -version
javac -version

如果没有 javac,需要安装 JDK:

sudo apt update
sudo apt install openjdk-11-jdk

2️⃣ 是否使用了支持 JSP 的服务器

JSP 必须运行在以下服务器中:

  • ✅ Tomcat(最常见)
  • ✅ Jetty
  • ❌ 纯 Nginx / Apache HTTP Server 不支持 JSP

确认 Tomcat 是否安装:

systemctl status tomcat
# 或
ps aux | grep tomcat

二、Tomcat + JSP 常见报错及解决

❌ 报错 1:HTTP 404(JSP 页面找不到)

原因:

  • 文件放错目录
  • 项目没部署

✅ 正确路径:

/var/lib/tomcat9/webapps/你的项目/index.jsp

访问方式:

http://IP:8080/你的项目/index.jsp

❌ 报错 2:HTTP 500(JSP 编译错误)

浏览器显示类似:

org.apache.jasper.JasperException
Unable to compile class for JSP

✅ 常见原因与解决:

① JDK 版本不匹配

Tomcat 9 推荐 JDK 8 / 11
查看 Tomcat 使用的 JDK:

sudo nano /etc/default/tomcat9

确认:

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

重启:

sudo systemctl restart tomcat9

② JSP 代码写错

例如:

<% int i = "abc"; %>

会导致编译失败。

✅ 查看详细错误:

cat /var/log/tomcat9/catalina.out

❌ 报错 3:Permission denied

Permission denied (/var/lib/tomcat9/webapps)

✅ 解决:

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

❌ 报错 4:端口被占用(8080)

sudo netstat -tunlp | grep 8080

修改端口:

sudo nano /etc/tomcat9/server.xml

改:

<Connector port="8080" ...>

三、防火墙 / 安全组问题

Ubuntu 防火墙:

sudo ufw allow 8080

云服务器还要放行 安全组 8080


四、最小可运行 JSP 示例

/var/lib/tomcat9/webapps/test/index.jsp

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

访问:

http://服务器IP:8080/test/index.jsp

五、如果你愿意,我可以更精准帮你

你可以直接把 报错信息原文 发出来(非常重要),例如:

  • 浏览器报错
  • catalina.out 日志
  • Tomcat 版本
  • Ubuntu 版本

我可以逐行帮你分析并给出解决方案

0