在 Debian 上调试 JSP(JavaServer Pages),通常意味着你要搭建并调试一个 JSP 运行环境(一般是 Tomcat + JDK),并定位 JSP 本身或后端 Java 代码的问题。下面按从环境到调试的完整流程说明。
推荐 OpenJDK 11 或 17(视项目而定):
sudo apt update
sudo apt install openjdk-17-jdk
验证:
java -version
sudo apt install tomcat10
Debian 12 默认是
tomcat10
旧系统可能是tomcat9
Tomcat 目录一般在:
/var/lib/tomcat10/
/etc/tomcat10/
/var/log/tomcat10/
cd /opt
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.x/bin/apache-tomcat-10.1.x.tar.gz
sudo tar -xzf apache-tomcat-10.1.x.tar.gz
sudo mv apache-tomcat-10.1.x tomcat
启动:
/opt/tomcat/bin/startup.sh
将 JSP 放到:
<Tomcat>/webapps/ROOT/
或新建应用:
<Tomcat>/webapps/myapp/index.jsp
示例 index.jsp:
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<h2>Hello JSP</h2>
<%= new java.util.Date() %>
</body>
</html>
访问:
http://localhost:8080/myapp/index.jsp
tail -f /var/log/tomcat10/catalina.out
或手动安装版:
tail -f /opt/tomcat/logs/catalina.out
常见错误:
org.apache.jasper.JasperExceptionNullPointerExceptionClassNotFoundException在 web.xml 中开启错误显示(开发环境):
<web-app>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
</web-app>
或直接在 JSP 中:
<%@ page isErrorPage="true" %>
System.out.println<%
System.out.println("debug: " + request.getParameter("id"));
%>
然后在日志中看输出。
<%= "debug value = " + request.getParameter("id") %>
⚠️ 仅用于开发环境。
编辑 catalina.sh 或 setenv.sh:
export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
启动:
catalina.sh jpda start
localhost8000✅ 可以断点调试:
JSP 会被编译成
.java→.class
一般在:
<Tomcat>/work/Catalina/localhost/
webapps 目录<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
rm -rf /opt/tomcat/work/*
catalina.out 看异常如果你愿意,可以告诉我:
我可以直接帮你定位具体问题。