在 Debian 上“调试 JSP”通常分两层意思:
下面按**最常见方案(Tomcat + Debian)**一步一步说明。
sudo apt update
sudo apt install default-jdk
java -version
sudo apt install tomcat9
目录说明:
/var/lib/tomcat9/webapps//var/log/tomcat9/启动:
sudo systemctl start tomcat9
sudo systemctl enable tomcat9
测试:
http://服务器IP:8080
sudo mkdir -p /var/lib/tomcat9/webapps/test
sudo nano /var/lib/tomcat9/webapps/test/index.jsp
内容示例:
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<body>
<h1>Hello JSP</h1>
<%
String name = "Debian";
out.println("Hello " + name);
%>
</body>
</html>
访问:
http://IP:8080/test/index.jsp
sudo tail -f /var/log/tomcat9/catalina.out
JSP 编译错误会直接显示在这里。
编辑 Tomcat 启动环境:
sudo nano /etc/default/tomcat9
添加或修改:
JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
重启:
sudo systemctl restart tomcat9
确认端口:
sudo netstat -tlnp | grep 8000
.java 或 JSP 生成的 Java 代码中打断点注意:JSP 会被 Tomcat 编译成 Java 类
路径类似:
/var/lib/tomcat9/work/Catalina/localhost/test/org/apache/jsp/index_jsp.java
你可以把这个文件导入 IDE 进行断点调试。
<%= "debug: " + request.getParameter("id") %>
web.xml 中加:
<init-param>
<param-name>development</param-name>
<param-value>true</param-value>
</init-param>
--debug 或 JAVA_OPTSjava -agentlib:jdwp=... -jar app.jarDebian 调试 JSP = Tomcat 跑起来 + 开 JPDA 调试端口 + IDE 远程连
如果你愿意,可以告诉我:
我可以给你更精确的配置。