想在 Ubuntu 上把 .jsp 文件跑起来,核心其实只有两件事:先准备好 Java 运行环境,再交给 Tomcat 处理 JSP 请求。下面按“安装依赖、检查配置、部署文件、验证访问”的顺序整理,命令和目录都保留原样,适合直接照着执行,也方便你在出问题时快速定位是哪一步没通。
先装好 JDK 和 Tomcat
JSP 依赖 Java 运行环境,因此第一步先安装 JDK。原文推荐的是 Ubuntu 仓库中的 OpenJDK 11:

sudo apt update
sudo apt install openjdk-11-jdk
安装完成后,用下面的命令确认版本:
java -version
如果输出中能看到类似 openjdk version "11.0.xx" 的信息,说明 JDK 已经安装成功。
接着安装 JSP 常用的 Servlet 容器 Tomcat 9:
sudo apt install tomcat9
Tomcat 安装后通常会自动启动。可以先在本机上用下面的命令检查服务是否正常响应:
curl http://localhost:8080
如果返回的是 Tomcat 默认欢迎页,且页面中能看到“Apache Tomcat”,说明服务已经起来了。
环境变量和关键配置要看哪些
如果你希望在命令行里更方便地使用 startup.sh、shutdown.sh 这类脚本,可以把 Tomcat 路径加入环境变量。它不是必需步骤,但在日常维护时会更顺手。
先编辑 ~/.bashrc:
nano ~/.bashrc
然后在文件末尾追加:
export CATALINA_HOME=/usr/share/tomcat9
export PATH=$PATH:$CATALINA_HOME/bin
这里默认假设 Tomcat 安装在 /usr/share/tomcat9。如果你不确定具体位置,可以先用 which tomcat9 自查。改完后执行:
source ~/.bashrc
除了环境变量,更值得确认的是 Tomcat 的两个关键配置点。
1. 检查 server.xml 的应用目录
在 server.xml 里,重点看 元素的 appBase 是否指向 webapps 目录。默认情况下,这个目录对应的是 /var/lib/tomcat9/webapps,也是 Tomcat 自动部署 Web 应用的主要位置。
2. 检查 web.xml 的 JSP 映射
JSP 能否被识别,取决于 web.xml 中是否存在 JSP Servlet 映射。这个配置通常默认就已经存在,常见位置包括 webapps/ROOT/WEB-INF/web.xml 或某个应用自己的 WEB-INF/web.xml。
jsp
org.apache.jasper.servlet.JspServlet
3
jsp
*.jsp
只要这部分配置正常,Tomcat 就能识别并处理 .jsp 请求。
JSP 文件应该放到哪里
部署方式取决于你只是测试单个 JSP 文件,还是要放一个完整 Web 应用。

单文件测试:放到 ROOT 目录
如果只是想快速验证环境,比如放一个 index.jsp 输出“Hello, JSP!”,最简单的方式就是直接复制到默认应用目录 webapps/ROOT:
sudo cp /path/to/your/index.jsp /var/lib/tomcat9/webapps/ROOT/
这种方式的访问路径最短,部署后可以直接通过 /文件名.jsp 访问。
完整应用:新建独立目录
如果你的项目不只有 JSP,还包含 HTML、CSS、JS 等资源,建议为它单独建一个应用目录,比如 myapp:
sudo mkdir -p /var/lib/tomcat9/webapps/myapp
sudo cp -r /path/to/your/jsp/files/* /var/lib/tomcat9/webapps/myapp/
这样部署后的访问路径会带上应用名,结构也更清晰,后续维护和迁移都更方便。
重启后怎么验证 JSP 是否真的跑起来
文件复制完成后,重启 Tomcat 让变更生效:
sudo systemctl restart tomcat9
然后按部署位置访问页面:
- 如果 JSP 放在
ROOT目录:http://localhost:8080/index.jsp - 如果 JSP 放在
myapp目录:http://localhost:8080/myapp/index.jsp
只要页面能正常输出预期内容,例如“Hello, JSP!”,就说明当前 Ubuntu 主机上的 JSP 环境已经可用。
外部访问与常见排查点
如果不仅要本机访问,还需要让局域网或外部设备访问这台服务器,就要确保 8080 端口已经放行。Tomcat 默认就是使用这个端口:

sudo ufw allow 8080/tcp
sudo ufw reload
放行后,可以通过下面的形式访问:
http://服务器IP:8080/应用路径/文件名.jsp
最后再补几个实践中常见的注意点:
- 如果必须使用 Oracle JDK,需要去官网下载手动安装,或者通过
sudo add-apt-repository ppa:linuxuprising/java添加 PPA 后再安装。 - 生产环境建议清理
webapps/ROOT目录中的默认示例文件,例如自带的index.jsp,以减少暴露面。 - 如果 JSP 页面始终跑不起来,优先查看 Tomcat 日志
/var/log/tomcat9/catalina.out,常见原因通常包括 Java 版本不兼容、文件权限不足,或者应用目录结构不正确。







