`
jinjiankang
  • 浏览: 112979 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JspRun 源代码学习(一)

阅读更多

一直想找一个开源的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,等等。有更好的,请留言。

 

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

2
0
分享到:
评论
5 楼 baby369043948 2010-07-28  
同意楼主,没有注释。  一个方法的代码可以达到400多行。。。   
4 楼 jinjiankang 2010-03-26  
gthacker 写道
jsprun.jar???
怎么我这里没有这个文件?
我下载的版本和你的一样 部署运行都是正常的
希望楼主快速更新文章哦  一起研究 呵呵


jsprun.jar是对整个系统的class文件的打包,如果不在WEB-INF\lib\下,那你看看在WEB-INF\classes\下是不是有很多class文件。我本机确实有WEB-INF\lib\jsprun.jar。

另,你可以安装一个everything,针对本机的搜索工具。不怕jsprun.jar不现身:)
3 楼 gthacker 2010-03-25  
jsprun.jar???
怎么我这里没有这个文件?
我下载的版本和你的一样 部署运行都是正常的
希望楼主快速更新文章哦  一起研究 呵呵
2 楼 fuanyu 2010-03-23  
java_mike 写道
同意楼主,没有注释。  一个方法的代码可以达到400多行。。。  

呵呵。。楼上很搞笑。我也正想用这个作为公司的社区来用呢。。
1 楼 java_mike 2009-12-01  
同意楼主,没有注释。  一个方法的代码可以达到400多行。。。  

相关推荐

    JspRun 项目和文档

    JspRun是一个流行的开源论坛系统,它基于Java Servlet和JSP技术,用于构建社区网站。...通过深入研究JspRun的源代码、文档和实际运行,开发者不仅可以掌握论坛系统的实现,还能进一步提升Java Web开发技能。

    JSP开源论坛JspRun

    开源意味着JspRun的源代码是公开的,用户可以免费下载、使用、修改和分发,这为开发者提供了高度的灵活性和定制性。 JspRun作为一款成熟的论坛软件,包含了众多核心功能,如用户注册登录、发帖回帖、主题分类、用户...

    JspRun!_6.0.0_Source

    _6.0.0_Source》是一款基于Java技术开发的开源论坛系统,其源代码的发布为开发者提供了深入理解Web应用程序构建、尤其是论坛应用开发的宝贵资源。这款论坛系统以其高效、稳定和易用性在互联网上广受欢迎。通过分析和...

    JspRun6.0源码.rar

    通过学习JspRun6.0的源代码,开发者可以深入理解如何在实际项目中运用这些概念,提高自己的编程技能。 2. **Servlet与JSP技术** JspRun6.0的核心是基于Servlet和JSP的Web应用程序。Servlet负责服务器端的业务逻辑...

    个人(jsprun)bbs论坛源码

    【个人(jsprun)bbs论坛源码】是一个针对个人用户设计的论坛软件系统,其核心在于提供一个互动交流的平台,使用户能够创建、管理自己的社区。BBS(Bulletin Board System)论坛源码是实现这一功能的基础,它包含了...

    JspRun!社区论坛系统 v6.0 UTF-8 安装版(毕设 + 课设).zip

    SyntaxHighlighter是一个流行的代码高亮插件,用于在论坛上展示源代码时进行语法着色,使得代码阅读更加清晰易懂。这对于技术讨论和问题解决是非常有用的。 此外,我们还注意到一个名为ipdata.Dat的文件,它通常...

    机器学习-源代码

    机器学习实战的配套源代码,按照图书的章节提供。 This is the source code to go with "Machine Learning in Action" by Peter Harrington published by Manning Inc. The official page for this book can be ...

    [论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 091116utf8.zip

    社区论坛系统】是一个基于Java和JSP技术构建的开源社区论坛系统,其版本v6.0 UTF-8 源码版 Bulid 091116utf8.zip提供了完整的源代码,非常适合Java学习者,尤其是对于进行毕业设计的学生来说,是一个宝贵的实践和...

    [论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100105 正式版.rar

    JspRun! 社区论坛系统是一款基于Java技术开发的开源论坛软件,广泛应用于搭建互联网社区平台。...通过深入学习和理解源代码,开发者可以更好地掌握Java Web开发技术,同时提升自身在社区建设领域的专业技能。

    [论坛社区]JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100203 正式版.rar

    可能采用了模板引擎,允许开发者和管理员通过修改模板文件来改变论坛的外观,而无需深入到源代码层次。 7. **权限控制**:论坛系统需要有完善的权限管理,包括用户注册、登录、权限分配、角色管理等。JspRun! 的...

    Tomcat6.0.41源代码,可直接导入Eclipse

    总结,Apache Tomcat 6.0.41源代码的获取和研究为开发者提供了一个深入学习Web服务器工作原理的机会。通过Eclipse的集成开发环境,我们可以更方便地编译、运行和调试源代码,从而提升对Java Web应用开发的理解和技能...

    tomcat6源代码 eclipse导出工程

    标题中的“tomcat6源代码 eclipse导出工程”意味着这个压缩包包含的是Tomcat 6服务器的源代码,这些源代码是使用Eclipse IDE导出并组织成一个可直接导入Eclipse的工作空间的格式。这样的工程对于开发者来说非常有用...

    [论坛社区]JspRun!社区论坛系统 v6.0 GBK 源码版 Bulid 20100105 正式版(毕设 + 课设).zip

    源码版适合学生进行毕业设计或课程设计,因为它提供了完整的论坛功能,学生可以通过学习源代码了解Web应用的开发流程,掌握Java Web技术,包括JSP、Servlet、数据库操作、MVC模式等。 5. **开发与部署**: 开发者...

    JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100105 正式版(毕设 + 课设).zip

    3. **源码版**:提供完整的源代码,开发者可以深入了解系统内部实现,进行二次开发或学习研究。 4. **论坛系统架构**:JspRun!论坛系统通常包括用户模块、论坛模块、管理模块等。从提供的文件名可以看出,系统包含...

    JspRun!社区论坛系统 v6.0 UTF-8 源码版 Bulid 20100203 正式版(毕设 + 课设).zip

    包含以下几个核心功能模块的源代码: 1. **PostManageAction**: 这个类与帖子管理相关,可能涉及到用户发布、编辑、删除帖子的功能实现。开发者可以通过这个类了解如何处理论坛中的帖子操作,包括后台管理接口和...

    JSP七个小项目代码和笔记汇总(java+web).rar

    这个压缩包包含了一本名为“JspRun!使用说明书.chm”的帮助文档以及“JSP七个小项目代码和笔记汇总(java web)”的源代码和学习笔记。通过这两个部分,我们可以深入理解JSP在实际开发中的应用,以及如何将Java编程...

    JAVA 企业门户网站源代码

    【JAVA企业门户网站源代码】是一个面向企业级别的网站开发项目,主要使用JAVA编程语言进行构建,其特点是包含了完整的系统源代码和配套的数据库设计。这个项目不仅适用于学习JAVA Web开发,也为企业提供了一套可定制...

    java课程设计资料以及源代码

    Java课程设计资料以及源代码是针对Java编程爱好者和学习者的一份宝贵资源,它涵盖了J2EE、Java和JSP等关键领域的知识。这些技术在现代企业级应用开发中占据了重要地位,对于深入理解Java全栈开发至关重要。 首先,...

    电子商城源代码和数据库

    这个“电子商城源代码和数据库”项目显然利用了这两种技术,结合MySQL数据库,来搭建了一个完整的在线购物平台。下面将详细讨论相关知识点。 1. **Java与JSP**: Java是一种广泛使用的后端编程语言,以其"Write Once...

    用IDEA IntelliJ创建Web项目工程教程+源代码

    本教程将深入讲解如何利用IntelliJ IDEA创建一个完整的Java Web项目,并提供源代码供学习参考。 首先,我们需要了解Java Web项目的组成部分。它通常包含前端资源(HTML、CSS、JavaScript)、后端服务器逻辑(Java ...

Global site tag (gtag.js) - Google Analytics