源码之前,了无秘密。

说一句逼格很高的话来镇镇场子。

这两天在看陆舟的《Struts2技术内幕》,一边看脑子一边冒出四个字:相见恨晚。极力推荐想了解Struts2的人看看这本书,之前一直在看李刚的《轻量级JavaEE企业应用实战》,感觉不如他的疯狂java讲义好。为什么呢?就觉得书的定位不清楚。如果是拿来入门,则又略显繁琐,倒不如那本《深入浅出Struts2》来得简洁;拿来精进,又显得深度不够。就跟谭浩强的C语言系列一个毛病。所以如果大家想入门Struts2,就看那本《深入浅出Struts2》,如果感觉自己已经会用了,并且也尝试写了一些后台程序了,对于Struts2有了一些感性的认识了,那么这本陆舟的书,会是你的首选。

闲言少叙,回到题目,怎么搭建调试环境呢?

一、下载Struts2相关资源

可以打开此链接http://struts.apache.org/download.cgi#struts2324,也可以在我的附件中下载。

二、解压struts2-XXXX-all.zip到任意目录

可以看到Struts2的组织结构如图:

其中apps存放了所有Struts2的示例项目,强烈建议在初学的时候,一定要研究研究这些例子程序,都是麻雀虽小,五脏俱全的。

docs存放了所有Struts2与Xwork的文档。

lib存放了所有Struts2相关的JAR文件以及Struts2运行时所依赖的JAR文件。

src存放了所有Struts2的源码

三、部署Struts2环境

我用的平台是MyEclipse。

打开MyEclipse,Files-New-Web Project,建立一个web项目。

然后进入上一步解压后的目录,再进入apps,struts2-blank,如图所示。

然后按照目录里的结构,拷贝到MyEclipse中,如图所示

然后再把Tomcat服务器部署好(如何部署,可以很容易在网上搜到,此处略去),就可以了。

四、添加源码包

刚才下载好的第二个包,也就是struts2-XXXX.zip包,里面就是Struts2-core-XXX.jar的源码。

添加方法:

找到struts2-core-XXX.jar包,右击,选择属性,按照下图所示添加源码包即可。

当你看到如下图所示的效果,并且双击.class文件,可以显示源码时,即表明,添加源码成功。

以上是添加struts2-core.jar源码,如果要添加比如ognl源码时也是类似的步骤,下载ognl源码的连接http://www.java2s.com/Code/Jar/o/Downloadognl306jar.htm

但是可能会出现问题,我就出现过,明明已经导入源码包了,但是还是打不开.class文件,这个时候,你就需要想想是不是源码的版本问题了,建议你换一个更低的版本试试。

五、进行调试


在图中标出的地方设置断点后,就可以像调试普通Java程序一样进行单步跟踪调试了。

但是在调试时,需要将Tomcat服务器调到debug模式,不然会进不去调试模式。

至此,调试环境的搭建已大功告成。

开始源码之旅吧!

下面是我的几个亲测可用的版本附件:

struts2源码.zip

ognl源码.zip

struts2源码调试环境的搭建的更多相关文章

  1. 如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)

    1 前言 这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境.如果有经验的小伙伴们可以略过此篇文章. 2 环境安装要求 IntelliJ IDEA JDK1 ...

  2. JVM 源码分析(二):搭建 JDK 8 源码调试环境(Windows 上使用 CLion)

    前言 一.准备源码 二.安装 "Bootstrap JDK" 三.配置编译环境 四.编译与测试 五.安装 CMake 和 GDB 五.准备远程调试 六.开始远程调试 前言 上一篇文 ...

  3. [原创]在Windows和Linux中搭建PostgreSQL源码调试环境

    张文升http://ode.cnblogs.comEmail:wensheng.zhang#foxmail.com 配图太多,完整pdf下载请点这里 本文使用Xming.Putty和VMWare几款工 ...

  4. Sping学习笔记(一)----Spring源码阅读环境的搭建

    idea搭建spring源码阅读环境 安装gradle Github下载Spring源码 新建学习spring源码的项目 idea搭建spring源码阅读环境 安装gradle 在官网中下载gradl ...

  5. 深入理解Tomcat系列之二:源码调试环境搭建(转)

    前言 最近对Tomcat的源码比较感兴趣,于是折腾了一番.要调试源码首先需要搭建环境,由于参考了几篇帖子发现都不怎么靠谱,最后还是折腾出来了,然而却花了足足一天的时间去搭建这个环境.发现都不是帖子的问 ...

  6. [Tomcat源码分析] Eclipse中搭建Apache Tomcat源码调试环境

    网上很多文章都推荐使用Ant下载编译,但本地实践中屡屡失败,无法下载. 后来参考 https://blog.csdn.net/xiongyouqiang/article/details/7894107 ...

  7. Tomcat源码调试环境搭建

    我们一般都是为了解决某个问题,才去看源码的.Java体系就是这点好处,源码唾手可得.遇到问题,最后的解决方法总是可以从源码中找到. 参考了网上的文章,过程整理如下: 1. 下载和导入 官网下载编译好的 ...

  8. Eclipse中搭建Apache Tomcat7源码调试环境

    第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Sourc ...

  9. 15分钟搭建RocketMQ源码调试环境

    下载源码 下载源码,github页面选择(rocketmq-all-4.7.1)版本压缩包,https://github.com/apache/rocketmq/tags 导入IDEA 1. 使用ID ...

随机推荐

  1. 动态加载Ribbon功能区

    上下文选项卡对新UI的功能提供了极大的推进作用.当用户对某对象执行特定的任务时就会出现特定的选项卡.例如,在Excel中处理图表时,一个上下文选项卡提供用于图表处理的额外选项.本文将介绍创建和执行这些 ...

  2. 设置Proxy Server和SQL Server实现互联网上的数据库安全

    ◆首先,我们需要了解一下SQL Server在WinSock上定义协议的步骤: 1. 在”启动”菜单上,指向”程序/Microsoft Proxy Server”,然后点击”Microsoft Man ...

  3. HDU 2604 - Queuing

    长度为 n 有男有女的队伍里没有 fmf 和 fff 的序列有多少 判断最后一个人无法得出结论 于是判断最后两人的递推式: fm(n) =   mm(n-1) //最后两人为fm的长度为n的队伍 只能 ...

  4. mysql事物处理

    mysql事物主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你既要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等.这样,这些数据库操作语句就构成一个事 ...

  5. 区段extent及数据块

    一.区段是表空间中由某个段所使用的一块磁盘空间.他是一组连续的oracle数据块.引入extent的目的是为了减少磁盘空间分配的次数,如果是采用oracle数据块直接分配的话就增加了oracle磁盘空 ...

  6. %hd %d %ld %u ......

    %d 有符号10进制整数 %ld 长整型 %hd短整型%md,m指定的是输出字段的宽度,默认左补空格, 如果数据的位数小于m,则左端补以空格,若大于m,则 按实际位数输出,如: printf(&quo ...

  7. python运维开发(八)----面向对象(下)

    内容目录: 面向对象三大特性之多态性 面向对象中的成员:字段.方法.属性 类的成员修饰符 类的特殊成员 特殊成员方法 面向对象其他 异常处理 设计模式之单例模式 面向对象的多态性 多态性:即指多种形态 ...

  8. 验证角谷猜想(hd1279)

    验证角谷猜想 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  9. Android上使用OpenglES2.0遇到的一点问题

    按照教程开发OpenglES2.0应用,遇到Logcat报错“Called unimplemented OpenGL ES API” 在论坛和stackoverflow上找到了答案. 1.manife ...

  10. python学习day1

    python简单介绍: Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种 ...