当前位置: 首页 > 工具软件 > JspRun > 使用案例 >

JspRun 源代码学习(一)

李洋
2023-12-01

一直想找一个开源的Java Web应用,深入地学习它的源代码,以期提高自己的Web开发能力。找来找去,终于选定了JspRun,一个所谓“开源”的论坛系统。它是由国内某公司开发的。下载其源代码,并初步阅读后,很是气愤:

  1. 通过Eclipse的文件搜索搜索/\*时,只搜索到7个结果。可见,其源代码中根本没有注释。
  2. 没有一丁点单元测试代码。
  3. 某些方法超长。
  4. 没有一句日志。

不知道是真的没有,还是故意在对外发布的源代码中剔除了?!

 

不过,不管怎样,人家还是把自己开发的产品开源了,给了大家一个学习的资源和机会。

 

开始研究、学习其源代码。

 

(1) Windows XP下安装

建议下载其EasyJspRun!6.0.0_for_windows_UTF8.zip,一个setup.exe文件。选择Apache + Tomcat模式,安装路径中不要出现空格(以后均假设安装路径为:D:\JspRun6.0.0)。安装成功后,通过Firefox使用一番。默认的管理员、密码是admin admin。登录后,有一个“系统设置”菜单,它对普通用户不可见。根据感觉,随便设置一番。再注册一个普通用户,发一个新帖,感受一下。总之,对该系统有一个感性认识,这对研究其源代码是有好处的。

 

(2)将源代码导入Eclipse

单独下载源代码包(UTF8格式),导入Eclipse,修改编译级别为1.5,WebRoot的某些jsp文件编译异常,忽略之。但src下所有文件编译通过。

 

(3)安装p6spy

通过p6spy,可以监视后台的JDBC操作,这对研究其源代码是有好处的。将p6spy.jar拷贝到D:\JspRun6.0.0\apache-tomcat-6.0.18\webapps\ROOT\WEB-INF\lib, 将spy.properties拷贝到D:\JspRun6.0.0\apache-tomcat-6.0.18\webapps\ROOT\WEB-INF\classes。修改spy.properties:

realdriver=com.mysql.jdbc.Driver

# realdriver=org.gjt.mm.mysql.Driver

logfile     =D:/spy.log

 

修改cn.jsprun.utils.HibernateUtil.java:

Class.forName("com.p6spy.engine.spy.P6SpyDriver");

 

分别修改src下的和D:\JspRun6.0.0\apache-tomcat-6.0.18\webapps\ROOT\WEB-INF\classes下的hibernate.cfg.xml:

<property name="connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>

 

剪切D:\JspRun6.0.0\apache-tomcat-6.0.18\webapps\ROOT\WEB-INF\lib下的jsprun.jar到其他路径下,使用Eclipse的导出-Jar文件,生成新的jsprun_my.jar到lib下。

 

重启JspRun,做几个操作,查看D:/spy.log文件。

 

小插曲:我在初次安装JspRun时,安装路径有空格。多次尝试安装p6spy均异常,憋屈了一天。

 

(4)安装MySQL客户端HeidiSQL

JspRun自带MySQL,在D:\JspRun6.0.0\mysql5\。root密码为root,端口为3308,而不是默认的3306。JspRun用到的表太多了,直接访问MySQL查看太费劲了。

cd D:\JspRun6.0.0\mysql5\bin
mysql -u root -p
use jsprun

 

(5)配置Tomcat远程调试

在D:\JspRun6.0.0\apache-tomcat-6.0.18\bin\catalina.bat 第69行添加:

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787

(注意这是一行,没有换行!)

 

修改D:\JspRun6.0.0\apache-tomcat-6.0.18\installservice.bat为:

"D:\JspRun6.0.0\apache-tomcat-6.0.18\bin\"startup.bat

 

修改D:\JspRun6.0.0\apache-tomcat-6.0.18\removeservice.bat为:

"D:\JspRun6.0.0\apache-tomcat-6.0.18\bin\"shutdown.bat

 

默认的是通过bin\service.bat 启动Tomcat,这种方式不能进行远程调试。

 

在Eclipse下:

点击JspRun项目,点击Debug图标-Debug Configurations,Host:localhost,Port:8787,点击Debug按钮,如果没有提示错误,表示进入了Remote Debug模式。在cn.jsprun.struts.foreg.actions.LoggingManageAction的login()方法中设置几个断点。在你的浏览器中尝试admin/admin登录,就可以进行调试了。(在我本机可以成功调试)

 

(6) 安装Firefox及其插件

开发常用插件:Web developer、Firebug,等等。有更好的,请留言。

 

注:有问题,请留言。有研究源代码的好方法、好工具,请留言。

 类似资料: