编程语言

img javamxj

图解利用Eclipse3 + Lomboz 调试JSP

发表于2004/10/19 15:35:00  13830人阅读

在阅读这篇文章之前,请先阅读《图解利用Eclipse3+Sysdeo Tomcat plugin编辑和调试JSP》,可以加深对此文的理解。如果有其它问题,可以参考我的Blog--分享Java快乐
 
 
 Sysdeo Eclipse Tomcat Launcher plugin 与 Lomboz插件的比较:
 
   这两个插件都可以利用Eclipse来开发JSP,不过Lomboz还可以开发Html、EJB等。
   Sysdeo plugin是通过设置Context来加载Web应用;而Lomboz是通过在Tomcat目录/webapps目录下生成的WAR文件来加载Web应用的。
 
   在Sysdeo plugin调试JSP文件比较简单,是因为eclipse通过Context直接控制Web应用。
而在Lomboz中,eclipse是通过生成的WAR文件间接控制Web应用的,甚至可以说没有控制。
 
   在Sysdeo plugin中,例如  TomcatSample目录中含有work目录,这个目录是JSP的工作目录,先把jsp文件编译成Servlet文件,存放在work/org/apache/jsp目录下。如 index.jsp在work/org/apache/jsp目录下生成了index_jsp.java文件。
   在Lomboz中,work目录存放在Tomcat目录/work/Catalina/localhost中。
 
 

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的别称)
 
     
 
下面用一个实例详细谈谈如何用Lomboz调试JSP。
 
 
 
目录结构
   F:/j2sdk                    JDK目录 
   D:/eclipse                  Eclipse 目录
   F:/java/jakarta-tomcat      Tomcat 5.0.28 目录
   D:/plug-in/lomboz.301       Lomboz目录(我这里是采用links方式安装的)
   根据安装的软件,自己作个合适的配置。
 
1.在eclipse窗口中,窗口->首选项->Lomboz->Server Definitions,添加jsper-runtime.jar,
  最后点击“应用”,“确定”。
 
 
2.新建一个Lomboz项目
  项目名:    Lomboz Debug
  Web模块名: debugWeb
  Server名:  Tomcat 5.0.28
 
3.修改debugWeb目录下的index.jsp文件如下:  

debugWeb/index.jsp

<%
    String s = "Welcome javamxj Blog!";
    out.println(s);
%>

4. 打开$Tomcat_Home/conf目录下面的server.xml文件,在文件尾部如下添加一条语句。 

........上面的语句省略了
只要添加下面的一行即可
<Context path="/debugWeb" reloadable="true" docBase="D:/eclipse/workspace/Lomboz Debug/debugWeb" workDir="D:/eclipse/workspace/Lomboz Debug/j2src" />
     
</Host>
 
    </Engine>
 
  </Service>
 
</Server>

 

 

  或者,$Tomcat_Home/conf/Catalina/localhost目录下新建一个debugWeb.xml文件,内容如下:    
<?xml version='1.0' encoding='utf-8'?>
<Context path="/debugWeb" reloadable="true" docBase="D:/eclipse/workspace/Lomboz Debug/debugWeb" workDir="D:/eclipse/workspace/Lomboz Debug/j2src" />
</Context>
 
5. 右击“Lomboz Debug” 项目,点击“属性”,切换到“Java构建路径”,如下修改: 
 
 
6.右击“debugWeb”模块->Lomboz J2EE ->Debug Server,注意:不要选择“Run Server”
 
 
7.在浏览器窗口中输入“http://localhost:8080/debugWeb”,OK!编辑成功。
 
 
8.刷新“Lomboz Debug”目录下的j2src目录,可以看到刷新后此文件夹下有一个index_jsp.java文件,
  双击打开此文件,然后增加一个断点。
 
 
 
9. 刷新浏览器窗口,此时eclipse会自动切换到“调试”视图,
 
 
10.此时浏览器窗口
 
 
 
 
小结
 
    利用Lomboz调试JSP要比Sysdeo plugin麻烦一些,而且如果要部署模块时,部署后的模块将不会自动解压,因为Tomcat会首先加载Context,所以只有卸载定义的Context才能自动解压模块。
 
阅读全文
0 0

相关文章推荐

img
取 消
img