JSP在Ubuntu上的调试方法
导读:在 Ubuntu 上调试 JSP 的高效方法 一 环境准备与快速验证 安装 JDK 与 Tomcat 9(Ubuntu 20.04/22.04 推荐 OpenJDK 11): 安装命令:sudo apt update &&...
在 Ubuntu 上调试 JSP 的高效方法
一 环境准备与快速验证
- 安装 JDK 与 Tomcat 9(Ubuntu 20.04/22.04 推荐 OpenJDK 11):
- 安装命令:sudo apt update & & sudo apt install -y openjdk-11-jdk tomcat9
- 验证:java -version、javac -version、sudo systemctl status tomcat9
- 放置与访问应用:
- 将应用或 JSP 放入 /var/lib/tomcat9/webapps/your_app/,访问 http://localhost:8080/your_app/your.jsp
- 日志与常见问题速查:
- 查看日志:tail -f /var/log/tomcat9/catalina.out
- 若报类或依赖缺失,确认 WEB-INF/lib 下已放置依赖 JAR;必要时 sudo systemctl restart tomcat9;浏览器清缓存或使用无痕模式再试。
二 远程调试 Tomcat 步骤(推荐)
- 配置 Tomcat 以开启 JPDA 远程调试:
- 编辑 /usr/share/tomcat9/bin/catalina.sh,在文件靠前位置加入:
- export JPDA_ADDRESS=8000
- export JPDA_TRANSPORT=dt_socket
- 说明:Ubuntu 包管理器安装的 Tomcat 通常已内置 JPDA 启动支持,无需修改 server.xml 的“debug”属性。
- 编辑 /usr/share/tomcat9/bin/catalina.sh,在文件靠前位置加入:
- 以调试模式启动 Tomcat:
- 方式 A:sudo systemctl stop tomcat9 后执行 /usr/share/tomcat9/bin/catalina.sh jpda start
- 方式 B:直接执行 sudo /usr/share/tomcat9/bin/catalina.sh jpda start(若端口未被占用)
- 在 IDE 中附加调试器(Eclipse/IntelliJ IDEA 通用思路):
- 新建远程调试配置,类型为 Remote JVM Debug,主机 localhost,端口 8000
- 将断点设置在 Servlet/Filter/Java Bean 等可编译类上(JSP 在运行期会转为 Servlet,断点应下在对应的 Java 源码)
- 启动调试会话,浏览器触发请求,IDE 将命中断点并可查看变量、栈帧与单步执行
- 常见问题排查:
- 端口占用:ss -lntp | grep 8000;更换 JPDA_ADDRESS 或释放占用进程
- 无法连接:确认 Tomcat 处于运行状态(ps -ef | grep tomcat),以及本机防火墙/云安全组放行 8000
- 版本兼容:确保 JDK 与 Tomcat 9 版本匹配(如 OpenJDK 11 + Tomcat 9)。
三 不依赖 IDE 的日志与问题定位
- 增强日志输出:
- 在 JSP/Servlet 中使用 SLF4J/Log4J 输出关键变量与执行路径,便于在生产环境定位问题
- 结合 catalina.out 与 localhost 日志(/var/log/tomcat9/)交叉验证请求处理链路
- 文件与权限核对:
- 确认 JSP 在 /var/lib/tomcat9/webapps/your_app/,依赖 JAR 在 WEB-INF/lib
- 权限与属主:sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps/your_app/;sudo chmod -R 755 /var/lib/tomcat9/webapps/your_app/
- 缓存与发布问题:
- 清理工作目录与缓存:sudo rm -rf /var/lib/tomcat9/work/Catalina/localhost/your_app
- 修改后重启:sudo systemctl restart tomcat9;浏览器清缓存或使用无痕模式访问。
四 常用工具与版本建议
- 开发/调试工具:Eclipse IDE for Java EE、IntelliJ IDEA、NetBeans
- 运行与依赖:Apache Tomcat 9、OpenJDK 11、Maven/Gradle(管理依赖与构建)
- 辅助工具:JDB(命令行调试)、VisualVM(监控与抽样分析)、Git(版本控制)
- 数据库与驱动:MySQL/PostgreSQL 与对应 JDBC 驱动(放置在 WEB-INF/lib)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: JSP在Ubuntu上的调试方法
本文地址: https://pptw.com/jishu/759528.html
