在Weblogic服务器情况,使用Eclipse对jsp调试会碰到在jsp设置断点无效的问题。网上有说需要在Weblogic控制台设置Debug Enable项,仅仅这样是不够的,对Weblogic的支持还需要通过代码定制。
分析一下目前MyEclipse等IDE对JSP调试的实现,主要两个方面,
1)调试客户端实现jdi接口,Eclipse即是一个调试客户端,它在插件org.eclipse.jdt.debug Plugin 提供了JDI 的具体实现
2 ) 实现JSR-045规范,即在将源文件生成java文件再编译成class文件的时候,需要在class文件里面写如源到java文件 的映射关系,即SMAP。关于JSR-045以及SMAP的详细描述,请参考相关文档,下面是一个链接:http://jcp.org/aboutJava/communityprocess/review/jsr045/index.html。
JSR-045规范的实现需要容器来保证,可以通过记事本打开Weblogic下由jsp编译生成的class文件,在最后面,是否能发现类似这样的信息:
__newfile.java
JSP
*S JSP
*F
1 newFile.jsp
*L
3#1:92,10
*E
上述信息即是SMAP,调试的时候会更具这个Java到JSP的映射在jsp编辑器的定位当前行。
从在编辑器上打断点到编辑器的渲染过程的简单流程图可见随文附件。对Weblogic的调试支持关键是第4步:“Test.class加载的时候,会发一个classprepared事件,
在Test.jsp上的断点需要监听这个事件,向JVM Target发送断点请求”,参照JavaStratumLineBreakpoint.java的源代码,对应的实现如下:
String[] patterns = null;
try {
patterns = getTypeNamePatterns();//获得class名称
} catch (CoreException e1) {
JDIDebugPlugin.log(e1);
return;
}
for (int i=0; i<patterns.length; i++)
{
String classPrepareTypeName= patterns[i];
// 当类加载时候,发送classPrepare事件给当前断点,
// 此时才会发送断点的Event给JVM Target。可见handleClassPrepareEvent()方法。
registerRequest(target.createClassPrepareRequest(classPrepareTypeName), target);
}
从上述代码中可见,由于不同容器编译生成的class格式不一样,如:Tomcat编译newFile.jsp 产生的Java 类名为 org.apache.jsp. newFile_jsp,而WebLogic却是 jsp_servlet._newFile。我们需要返回正确的classPatterns,这就是我们需要进行代码定制的地方。
当然我们还可以按照JSP调试的方式,实现对其他文件的调试,如XML、流程文件。
- 大小: 121.2 KB
分享到:
相关推荐
WebLogic Server是由Oracle公司提供的一个强大且广泛使用的Java应用服务器,它支持各种企业级服务,如JSP、Servlet、EJB等。下面将详细介绍如何在Eclipse中配置WebLogic Server。 首先,你需要确保已经安装了...
在IT行业中,Eclipse是一款广泛使用的Java集成开发环境(IDE),而WebLogic是Oracle公司提供的一个企业级应用服务器,常用于部署和管理Java EE应用程序。本文将深入探讨如何在Eclipse环境中配置WebLogic Server,以...
WebLogic Server Tools for Eclipse 3.5 是一个强大的开发工具集,专为在Eclipse集成开发环境中(IDE)高效管理、部署和调试Oracle WebLogic Server应用程序而设计。这个版本为开发人员提供了无缝的工作流程,使得在...
3. 调试:在代码中设置断点,使用Eclipse的调试工具进行单步执行、查看变量值等操作。 七、部署到生产环境 1. 打包WAR:在Eclipse中右键项目,选择“导出”->“WAR文件”,将项目打包成WAR格式。 2. 部署到WebLogic...
JavaEE5是Java企业版的一个重要版本,它在2006年发布,极大地简化了企业级应用的开发,引入...通过学习这些知识点,开发者能够熟练地在Eclipse环境下配置和部署JavaEE5应用,利用WebLogic Server进行高效的运行和管理。
为了在Eclipse中使用WebLogic,我们需要安装WebLogic Server Tools插件,这样可以在Eclipse内直接管理WebLogic服务器,进行应用的部署和调试。 三、Oracle数据库 Oracle数据库是世界上最流行的商业关系型数据库管理...
JavaEE5是一个强大的企业级应用开发平台,它提供了丰富的组件和服务来构建分布式、多层的Web应用...通过实际操作书中的代码示例,你将更好地掌握JavaEE5在Weblogic和Eclipse环境下的开发流程,提升企业级应用开发能力。
搭建Java开发环境是每个开发者初期必须经历的步骤,本文将详细介绍如何配置Eclipse3.2.2、MyEclipse5.5、Tomcat和WebLogic的集成开发环境。 首先,Eclipse是一款广受欢迎的开源集成开发环境(IDE),它以其强大的...
* Eclipse 提供了一个完整的 JSP 和 Servlet 开发环境,包括代码编辑器、调试工具和服务器管理工具 * Eclipse 可以快速生成 JSP 和 Servlet 代码,提高开发效率 * Eclipse 提供了一个灵活的插件架构,可以通过插件来...
Lomboz是Eclipse的一个早期扩展,它提供了对J2EE应用开发的支持,包括JSP、Servlet和EJB等。"org.objectweb.lomboz _3.1.0.zip"这个压缩包可能是Lomboz 3.1.0版本的源码或者插件集合。 Eclipse JSP支持主要包括以下...
WebLogic Plugin是Oracle公司为Eclipse集成开发环境(IDE)设计的一款插件,它使得开发者能够在Eclipse中方便地管理和调试基于Oracle WebLogic Server的应用程序。这个插件的全称为"oepe-ganymede-11.1.1.3.0....
通过实践这样的项目,初学者可以学习到如何在Eclipse中创建和管理Java Web项目,如何使用Oracle数据库设计和操作数据,以及如何在Weblogic上部署和运行应用程序。此外,还能掌握Web应用开发的基本流程,包括需求分析...
- 配置完成后,可以在MyEclipse中启动和管理WebLogic实例,便于进行Java EE项目的开发和调试。 这些步骤涵盖了WebLogic的基本安装、配置以及在集成开发环境MyEclipse中的使用。在实际操作中,还需要注意一些细节,...
在这个例子中,使用WebLogic 9.2时,必须使用其自带的JDK,否则可能会遇到兼容性问题。部署应用程序时,需将`web.xml`文件调整为符合WebLogic 9.2支持的版本,如下所示: ```xml xmlns=...
Lomboz插件不仅能够提供对JSP(Java Server Pages)语法的支持和调试功能,更重要的是,它能够将多种Java应用服务器(如Tomcat、JBoss、WebLogic等)、J2EE组件和Web应用开发集成到Eclipse环境中。通过Lomboz插件,...
WebLogic提供丰富的监控和管理工具,可以查看应用的运行状态、日志、性能指标等,有助于优化应用性能和诊断问题。 总的来说,"weblogic部署项目视频"将引导你完成从代码生成、构建、部署到应用管理的全过程,是...
本篇文章将详细介绍如何在Eclipse Helios环境下导入和使用MyEclipse项目。 首先,我们需要了解Eclipse Helios的基本操作。Eclipse Helios是Eclipse 3.6版本的代号,它引入了许多新特性,如改进的性能、增强的调试...
9. **集成开发环境(IDE)支持**:与Eclipse、JBuilder等开发工具集成,提供便捷的开发和调试环境。 尽管WebLogic 8.1是一个较旧的版本,但它的设计理念和许多核心技术仍对现代Java应用服务器有深远影响。随着技术...