debug调试Struts2源代码

参考的文档,真没想到会这么多哈!

http://pwcrab.blog.163.com/blog/static/1699038222008124023467/

http://wenku.baidu.com/view/46ca4df8fab069dc502201a3.html

http://cn-done.iteye.com/blog/515151

http://blog.csdn.net/swandragon/article/details/4952415

http://book.51cto.com/art/201201/311871.htm

http://book.51cto.com/art/201201/311863.htm

http://blog.csdn.net/bruce_sky/article/details/7759124

http://shishui527.iteye.com/blog/1557878

在网上搜了好久,也没一个完整的,自己也走了不少的弯路,现在分享出来自己在配置过程中出现的问题与心得,给有用的朋友...



一.下载:Struts2.

网站:http://struts.apache.org/download.cgi#struts233-SNAPSHOT   这个google一下也出来了

现在来说说各个版本


*.all.zip 全部 

*.apps.zip 例子

*.lib.zip jar

*.docs.zip 文档

下载第一个最全的,例子文件就都有了...




二.建立项目

本人用的eclipse3.7,新建一个web项目,这个不说了,上图

用到的jar 去  E:\workspace\userJavaLib\struts-2.3.4\apps  你对应的目录  把随便一个*.war  改为*.rar  然后去目录 *.rar\WEB-INF\lib找jar文件.或用Struts2最小jar

commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.4.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
commons-logging-api-1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-core-2.3.4.jar
xwork-core-2.3.4.jar

修改web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<display-name>debugStruts2.3.4</display-name>

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>

</web-app>
项目搞定,跑一下,不出错可以进行下一步...
搞出来这样一个项目不难吧.






三.给Struts2.3.4的class文件上源码


选中后alt + enter

E:/workspace/userJavaLib/struts-2.3.4/src/core/src/main/java

xwork-core-2.3.4.jar就路径不一样 
E:/workspace/userJavaLib/struts-2.3.4/src/xwork-core/src/main/java

添加上源码后图标也变了



这时,去打开这两个jar包中的class就会看到源码了.if(true) 下一步...





四.设置断点

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
这个类中doFilter中添加断点,然后在debug运行,就可以了




效果





顺利的话,这样基本上就完成了,但是......



五.但是...

如果你想执行一个代码,查看执行的结果,
如这样



它出现了这样的错误,  哈哈    那么恭喜你了.....  


unable to evaluate the selected expression:

to perform an evaluation , an expression must be compiled in the context of 

a java project's build path. the current execution context is not associated with 

a java project in the workspace.

无法评估所选的表达:
进行评估,表达必须编译在一个Java项目的构建路径中。当前执行上下文是不相关的工作区中的Java项目。




这个错误和你发布项目的是有关系的.我们来看看...




Add Web Module添加web项目  就可以,这个在发布项目后,会把项目文件copy 到 E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\debutStruts2.3.4\WEB-INF下面....

所有.本人比较中意 AddExternal Web Module

AddExternal Web Module 添加外问的web项目就不行,我也根据错误提示拼命的挣扎,折腾,在挣扎在折腾,但是还是没有搞定.

这个还请大牛帮忙哈...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值