JSP在Ubuntu上的调试方法
在开始调试前,需确保Ubuntu系统已安装以下基础工具:
java -version和javac -version验证安装,未安装时使用sudo apt update && sudo apt install openjdk-11-jdk命令安装。sudo apt install tomcat9安装,启动服务sudo systemctl start tomcat9,并设置开机自启sudo systemctl enable tomcat9。要让IDE连接Tomcat进行远程调试,需开启Tomcat的调试端口:
/etc/tomcat9/server.xml,找到<Connector>标签(通常为HTTP端口8080),添加address="0.0.0.0"和port="5005"属性(调试端口可自定义,如5005),示例如下:<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
address="0.0.0.0"
port="5005" />
sudo systemctl restart tomcat9。以IntelliJ IDEA为例,步骤如下:
WEB-INF/lib包含依赖库)。localhost)和调试端口(如5005)。<% ... %>、表达式<%= ... %>或EL表达式)点击行号左侧,设置断点。http://localhost:8080/your-app/your-page.jsp),程序会在断点处暂停,可通过IDE查看变量值、调用栈,逐步执行代码(Step Over/F6、Step Into/F5)。日志是定位问题的重要手段,可通过以下方式查看日志:
/var/log/tomcat9/目录,其中catalina.out记录了JSP运行时的详细信息(包括错误堆栈)。使用tail -f /var/log/tomcat9/catalina.out实时查看日志输出。<%@ page import="org.slf4j.Logger" %>
<%@ page import="org.slf4j.LoggerFactory" %>
<%
Logger logger = LoggerFactory.getLogger("JSP_DEBUG_LOGGER");
logger.info("JSP页面加载开始,参数:{}", request.getParameter("param"));
%>
日志会输出到logs/目录下的对应文件(需配置日志框架),便于后续分析。JAVA_HOME环境变量指向正确的JDK路径(如/usr/lib/jvm/java-11-openjdk-amd64),可通过echo $JAVA_HOME验证。WEB-INF/lib目录,避免ClassNotFoundException。tomcat)对JSP文件及所在目录有读取权限,使用sudo chown -R tomcat:tomcat /var/lib/tomcat9/webapps/your-app/和sudo chmod -R 755 /var/lib/tomcat9/webapps/your-app/调整权限。