1.在官网下载struts2-xxx-all.zip (下载-all 这个文件,里面包括了例子、jar、文档和源码); 我这里用的时struts2-2.3.31-all
2.解压下载的zip文件,得到如下图所示的一堆东西:
apps里面时官方例子,我这里用struts2-blank演示。
接下来演示如何用myeclipse 打开这个struts2-blank项目:
1.将struts2-blank.war 改名为 struts2-blank.rar (改名后就变成了压缩文件,就能解压了,不能解压rar文件的可以下载某个解压软件就好了)
2.在myeclipse 中新建Web Project,名称随意,如下图:
3.将struts2-blank/WEB-INF目录下的东西都拷贝到Myeclipse新建的工程中的WEB-INF目录下,然后从目录中删除掉src(src不应该放这里)
4.将struts2-blank/WEB-INF/src/java下的所有的文件拷贝到Myeclipse工程中的src目录下。
最后如下图:
5.将工程部署到Tomcat服务器,在浏览器输入localhost:8080/工程名字 查看是否能成功运行了,成功运行如下图:
项目部署成功了,接下来就是绑定和调试struts2的源码了,步骤如下:
1.点击myeclipse项目下的Web App Libraries ,选择struts2-core-2.3.31.jar,右键该项,选择Properties,弹出如下图的界面:
2.右边选择External location,然后选择External Folder,然后选择解压后的struts2-2.3.31-all文件夹下面的src文件夹:(选整个src文件夹就好了,注意是和apps、lib、docs同级目录下的那个src,别选错了)
3.同样的方法,为xwork-core-2.3.31.jar添加源代码,选择的src文件夹是一模一样的,(这个src文件夹下有xwork和struts2-core这两个jar的源码)。 如果要添加其他jar,比如ognl、asm等jar的源码,只要下载到源码文件,然后同样的方法添加就好了(注意源码路径选对了就行)。
4.确定后源码就绑定成功了,可以双击某个类 进去查看源代码了,如下图:
5.接下来打开org.apache,struts2.dispatcher.ng.filter包下的StrutsPrepareAndExecuteFilter这个类,在doFiter方法的第一行下一个断点(断点在81行),如下图:
6.右键Tomcat,选择Debug:
7.tomcat启动到debug模式后,在浏览器访问,输入localhost:8080/项目名称 回车后就进入到刚才下的断点了,但是可能会出现Source Not found错误:
*提示Source Not Found 首先确定你是否绑定了源码文件,也就是上面1中的图。 然后重启MyEclipse试试(我自己经常是重启一遍后才成功)。 如果还不行试试下面的方法。
解决方法:方法1:点击Edit Source Lookup path按钮,然后选择Add,再i选择java project,最后选择你的工程。然后再次调试看有没有错误,如果有错,请试试方法2。
方法2:进入解压后的struts2-2.3.31-all,找到src文件夹,把这个文件夹压缩成src.zip:
然后点击Edit Source lookup path后,选择Add,再选择External Archive,选择刚才压缩的src.zip 这个文件(或者从struts2官网可以下载到struts2-2.3.31-src.zip),然后确定,就能进入调试 了: