这篇文章主要介绍如何利用Sysdeo Eclipse Tomcat Launcher plugin 编辑和调试JSP与Servlet,最好先参考我的以前的文章
《图解利用Eclipse3.0.1 + Lomboz3.0.1 + Tomcat5.0.28开发JSP》系列,可以加深对文章的理解。
一. 需要的软件
Sysdeo Eclipse Tomcat Launcher plugin
这是一个eclipse插件,可以帮助编辑JSP文件。
二. 环境配置
为了编辑和调试JSP文件,环境配置有些麻烦,有几点要注意。
1. 检查环境变量的设置。
右击“我的电脑”->高级->环境变量,
检查JAVA_HOME,TOMCAT_HOME变量是否指向其安装的目录;
PATH变量中是否含有“%JAVA_HOME%\bin;”;
CLASSPATH变量中是否含有“%JAVA_HOME%\lib\tools.jar;”
2. 将eclipse中java运行环境指向JDK,不是JRE。
在eclipe主窗口中,“窗口”->首选项->java->已安装的JRE
3. 配置Sysdeo Tomcat 插件
Context解释 |
Context元素代表一个web应用,运行在某个特定的虚拟主机上。每个web应用基于一个Web Application Archive(WAR)文件,或者是一个目录,包含WAR文件解压后的内容。
通过将请求URI的最长可能前缀与每个Context的context路径进行匹配,Catalina选择相应的web 应用处理HTTP请求。一旦选定,根据web application deployment descriptor 文件中定义的servlet映射,Context会选择一个正确的servlet来处理进来的请求。servlet映射必须定义在该web应用目录层次结构中的/WEB-INF/web.xml中。
你可以在一个Host元素中嵌套任意多的Context元素。每个Context的路径必须是惟一的,由path属性定义。另外,你必须定义一个context路径长度为0的Context,这个Context称为该虚拟主机的缺省web应用,用来处理那些不能匹配任何Context的Context路径的请求。
除了在Host元素中嵌套Context元素以外,你也可以将它们存储在单个文件中(以.xml为后缀),放在$CATALINA_HOME/conf/[enginename]/[hostname]/目录下面。
(注:Catalina是Tomcat的别称) |
切换到Advanced选项
切换到JVM Setting选项
切换到Tomcat Manger App,为管理界面增加一个用户。
点击“应用”、“确定”即可。
4. 将“Tomcat Project”添加到“新建”菜单。
窗口->定制透视图->快捷方式->新建->Java
三. 编写程序
1.创建一个Tomcat项目。
右击“包资源管理器”窗口中的空白处,新建->Tomcat Project
在项目名中填写:TomcatSample,点击“完成”即可。
2.右击“TomcatSample”,新建->文件, 在文件名中填写:index.jsp
3.修改index.jsp
TomcatSample\index.jsp |
<% String s = "Welcome javamxj Blog!"; out.println(s); %> |
4. 点击“运行Tomcat”图标
5. 如果一切正常,在浏览器窗口中输入“http://localhost:8080/TomcatSample/index.jsp”
四. 调试JSP程序
1. 右击TomcatSample项目下的work目录,在弹出菜单中点击“刷新”。点击后,会发现此目录下有文件,打开“index_jsp.java”文件,在右栏中“out.println(s);”语句增加一个断点。
2. 然后刷新浏览器窗口,此时,eclipse会弹出一个窗口,询问是否切换到“debug”视图,选择“是”。
3. 在此视图中,找到变量s,右击,选择“更改值”,在弹出窗口中输入“Sysdeo Tomcat Plugin!”。
4. 点击“继续”按钮。
5. 此时,浏览器窗口已经反映出了调试后的变化。
五. 编辑Servlet程序
在成功编辑和调试JSP的基础上,再进行编辑和调试Servlet程序就比较简单了。
1. 先停止Tomcat服务器。 右击“WEB-INF/src”目录,新建->类,
填写包名:“javamxj.tomcat.servlet”
填写类名:“ServletSample”
点击完成。
2. 修改ServletSample.java如下:
ServletSample.java |
/* * 创建日期 2004-10-18 * 作者 javamxj (CSDN Blog) */ package javamxj.tomcat.servlet;
import java.io.*;
import javax.servlet.http.*; import javax.servlet.*;
public class ServletSample extends HttpServlet { private String s;
public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { PrintWriter out = res.getWriter(); String s="Hello, javamxj Blog!"; out.println(s); out.close(); } } |
3. 在WEB-INF目录下建立一个web.xml文件,保存文件。
WEB-INF/web.xml |
<?xml version="1.0" encoding="ISO-8859-1"?>
|
4.启动Tomcat服务器,在浏览器窗口中输入“http://localhost:8080/TomcatSample/ServletSample”
1. 在ServletSample.java文件中添加一个断点,如图:
2. 刷新浏览器窗口,切换到eclipse的“调试”视图,如下更改:
3.此时浏览器窗口如下:
七. 探讨一下机理
1. Tomcat目录\conf\server.xml文件中,或者在Tomcat目录\conf\Catalina\localhost存在一个TomcatSample.xml文件, 这两个文件中都应该含有如下语句:
<Context path="/TomcatSample" reloadable="true" docBase="D:\eclipse\workspace\TomcatSample" workDir="D:\eclipse\workspace\TomcatSample\work" />
(注意,由于eclipse的目录不同,上述语句也将不同。)
2. 在浏览器窗口中输入:“http://localhost:8080/”,点击左边的“Tomcat Manager”链接,会弹出一个窗口,让你输入用户名和密码,在第二大节“环境配置”中的第3小节中,曾经为Tomcat管理界面添加一个用户,输入这个用户的用户名和密码,这里就是“admin”、“javamxj”。
3. 在输入正确的用户名和密码之后,会进入Tomcat管理界面,可以看到,TomcatSample处于运行状态。你可以停止、重载、或卸载它。
4. 现在从eclipse中卸载Context定义
右击TomcatSample目录->Tomcat Project->Remove context Difinition,如下图:
5. 此时刷新Tomcat管理界面的浏览器窗口,会发现“/TomcatSample”已经消失了。同时,
“<Context path="/TomcatSample" reloadable="true" docBase="D:\eclipse\workspace\TomcatSample" workDir="D:\eclipse\workspace\TomcatSample\work" /> ” 这个语句也消失了。
6. 要重新把“/TomcatSample”添加到Tomcat应用中去,需要右击TomcatSample目录->Tomcat Project->Update context Difinition,然后重启Tomcat。
讲了这么多,主要是为了下一篇文章“如何利用Lomboz插件编译JSP”做个铺垫,同时也是为了更好地理解这个插件的使用过程。