Eclipse中调试Web工程
在Web项目的开发中,设计要素涉及到JSP、Servlet、JavaBean等方面,如何快速定位错误因素,是排除错误的先决条件。
MyEclipse为Web编程提供了强大的调试功能,编程人员可以通过设置断点,进行单步调试,跟踪变量的值,为错误的定位提供有效手段。
一、配置调试环境
在调试Web项目之前,需要对Web服务器的启动模式进行更改,使其能够应对调试状态。有两种方式可以打开关于服务器的设置:
u 沿着“窗口”→“首选项”→“MyEclipse Enterprise Workbench”→“Servers”→“Tomcat 6.x”→“Launch”的路径打开服务器设置。
u 一种简便方式:从工具栏上对服务器选项直接操作。
将服务器的“Tomcat launch mode”选项设置为“Debug mode”,启动服务器以后,就可以响应调试请求了。在调试Web工程时,只能从Eclipse环境中启动Tomcat,调试才有效。
二、调试Servlet和JavaBean文件
调试上一小节的项目,调试思路如下:
Ø login.jsp页面提交请求,转到Servlet的处理程序UserLogin.java后,是否取到了有效数据—用户名和密码;
Ø Servlet对数据Bean的实例化对象user进行了属性设置,是否成功;
Ø 调用处理Bean的userLogin()方法进行身份验证,是如何执行的;
Ø Servlet是否取到了userLogin()方法传递过来的验证结果。
对于上面提出的调试请求,实际上是一个完整的逻辑处理,涉及到JSP页面→Servlet→JavaBean→Servlet的处理过程。要想通过调试视图看到整个处理过程,按照下面的步骤进行。
Step1: 设置断点,即程序执行后需要停下来的位置。
Step 2: 启动服务器,在浏览器的地址栏中输入运行命令,输入登录信息后,提交表单,激活调试透视图。
Step3: 观察“变量”视图,跟踪变量的值。
Step 4: 结合“单步跳入”,观察UserHandle.类的userLogin()方法的执行过程。
三、调试JSP页面
对于JSP页面,实际上是调试嵌入其中的Java代码和JSP标签,无法为HTML静态代码设置断点,而且在HTML中设置断点也没有任何意义。
Step1: 事先要在显示页面加入断点,程序执行时才能在JSP页面截获请求,使得程序停止下来。
Step2: 继续前面的代码调试,并以“单步跳过”或“继续”方式调试程序,就会在JSP页面的第13行停下来。再执行一步“单步跳过”,程序在第14行停下来,在“变量”视图中查看user对象的值,结果如图所示。
此时观察“变量”视图中关于user对象变量的内部结构,确定已经把正确的结果带到了JSP页面,接下来的程序就可以根据它的值调用getXXX()方法进行数据显示了。
这时需要注意:程序运行到这里,就没有必要再单步调试了,因为页面的结果要在程序整个运行结束后才会显示,所以这里采用“继续”方式,让程序运行结束,就会在浏览器中查看到结果了。