net.sf.hibernate.id包,自定义数据库底层id生成器
TableCustomGenerator同时实现PersistentIdentifierGenerator, Configurable
TableID通过自增,到达最大添加INCREASE方法生成。共有25个TableID静态对象
====================================================================================
bbscs.xml是社区配置文件,可以修改,com.laoer.bbscs.sys包中的SysInfo则是控制此文件的类
====================================================================================
applicationContext.xml:
一个TimerFactoryBean管理着5个TimerTask:
1,boardsCountTask每隔一个小时没有延迟检查帖子和主题数
2,onlineClearTask每隔一个小时延迟一个小时检查在线用户
3,advloadTask每隔半个小时检查广告
4,subscibeSendTask每隔5分钟延迟5分钟[检查是否需要通知搂主]
5,voteUserClearTask每隔24小时没有延迟[todo]
有两个触发器:
1,onlineStatJobCronTrigger每天24小时都触发,检查在线的人
2,sysNumStatJobCronTrigger每天1点触发,检查系统参数
其次,friendService管理好友,voteService管理投票
最后,mySessionFactory载入所有的*.hbm.xml;数据库连接池使用dbcp,里面的配置参数由init.properties文件取得。
=====================================================================================
com.laoer.bbscs.sys:系统配置
>>advloadTask:加载广告的TimerTask
>>AppContext存储整个应用程序的ApplicationContext(ClassPathXmlApplicationContext)
>>过滤器(正规表达式):以支持UBB代码
FilterBuilder接口
RegFilterBuilder使用JDK中的java.util.regex实现
Filter接口
RegexFilter由RegFilterBuilder生成
AutoFilter能在生成实例的同时进行过滤
IMGFilter对“[IMG]”的过滤
其中FilterDirector生成FilterBuilder的各种实现
>>BoardLoadThread加载boardlist的线程[todo]
>>BoardLoadTimerTask加载boardlist的TimerTask
BoardsCountTimerTask计算帖子和主题数量的TimerTask
SubscibeSendTimerTask有人回复时用站内消息或邮件通知的TimerTask
UserOnlineClearTimerTask:在线用户清除TimerTask
VoteUserClearTimerTask:?[todo]
>>缓存使用oscache
ICache接口
SysOSCache中生成GeneralCacheAdministrator(oscache)进行缓存管理
CacheManager:有4个静态对象,每个里面有一个SysOSCache,由CacheFactory用反射生成
BoardsCache版面缓存
PostFileCache帖子缓存[todo]
UserCache用户缓存[todo]
UserFileInPostCache用户上传文件缓存
UserInfoCache用户信息缓存
>>BoardsComparator根据主题数来对版面排序
>>CheckAdminUser管理超级用户的信息,存储在adminiinfo.properties里面
>>Constant常量
>>Forbid封禁的IP以及词组,存储在forbid.xml中
>>IndexTimerTask检索首页的TimerTask
>>NewPost管理最新的帖子,在file/include/newpost.js中存储
>>OnlineStatJob管理在线人数(用户和游客)的QuartzJobBean
>>分页
PageList包装好的分页列表
Pages是一个多功能分页类,能传入文件名(地址)对多种内容进行分页。另外有4种style:
1,首页 上一页 下一页 尾页
2,首页 上一页 下一页 尾页 共 {0} 条 第 {1}/{2} 页
3,首页 上一页 下一页 尾页 共 {0} 条 第 {1}/{2} 页 (与2的参数名不同)
4,首页 上一页 下一页 尾页 共 {0} 条 第 {1}/{2} 页 到?页
>>Queue模拟队列(线程同步)
>>Result结果?[todo]
>>RunTimConstant一个提交队列[todo]
>>SysInfo系统配置
>>SysNumStatJob的QuartzJobBean,包括社区人数,主题数,帖子总数,前一天的统计数据并记录到数据库
>>SysStat记录在file/include下面的sysstat.properties文件中的统计数据,包括帖子数,最新注册过户,最高在线用户数,发生时间,主题数,所有用户数
>>SysUtil有关系统的工具类,n多工具方法
>>UserLevel用户级别
===================================================================================
com.laoer.bbscs.lucene:全文检索[todo:补课!]
DeleteFiles删除文件
FileDocument读文件
HTMLDocument读HTML文件
IndexFiles写索引
IndexHTML
SearchFiles
com.laoer.bbscs.lucene.html:
Entities
HTMLParserConstants
HTMLParser
人间悲剧,完全看不懂
===================================================================================
com.laoer.bbscs.dao:全是DAO接口
===================================================================================
com.laoer.bbscs.dao.hibernate:
DAO实现类,继承org.springframework.orm.hibernate.support.HibernateDaoSupport,使用getHibernateTemplate方法取得HibernateTemplate,里面包装了各种hibernate的方法。
回调:
getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session s) throws HibernateException, SQLException {
Query query = s.createQuery(LOAD_BU);
query.setShort(0, atSite);
query.setLong(1, atBoard);
query.setLong(2, atBoards);
query.setFirstResult(firstResult);
query.setMaxResults(maxResults);
List list = query.list();
return list;
}
})
===============================================================================
com.laoer.bbscs.business:业务逻辑接口
===============================================================================
com.laoer.bbscs.business.service:业务逻辑实现类,大多数调用DAO
===============================================================================
com.laoer.bbscs.bean:与数据库对应的实体类
===============================================================================
com.laoer.bbscs.web.servlet:
AuthImg生成认证码图片,使用common包里面的Util生成4位认证码,并生成cookie
SysLoadServlet初始化加载所有版面
SysListener监听器,当生成context时,schedule BoardLoadTimerTask和IndexTimerTask[todo]
UserCheck[todo]
================================================================================
web.xml
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/npe.htm</location>
</error-page>
================================================================================
关于认证码图片:JSP中使用<img src="authimg">而/authimg映射到AuthImg Servlet,在servlet中生成图片并从response中输出。并把认证码放进cookie。在LoginAction中从cookie中取得认证码和form中的比较。
================================================================================
社区广播标题写在file/include/bull.html中,其中链接指向bulllist.bbscs
<action input="/error.jsp" name="bullForm" path="/bulllist" scope="request" type="com.laoer.bbscs.web.action.Bull" validate="true">
<forward name="bulllist" path="/bulllist.jsp" />
</action>
从首页点进去的时候虽然没有bullForm,但由于这里配置了bullForm还是会生成bullForm的实例
=================================================================================
分享到:
相关推荐
将bbscs6目录COPY直Tomcat/webapps/下,即Tomcat/webapps/bbscs6 修改Tomcat/webapps/bbscs6/WEB-INF/classes/init.properties文件 主要修改 datasource.url=jdbc:mysql://localhost:3306/bbscs6?useUnicode=true&...
将BBS目录COPY直Tomcat/webapps/下,即Tomcat/webapps/BBS 修改Tomcat/webapps/bbscs6/WEB-INF/resources/config.properties文件 主要修改 server=jdbc:mysql://127.0.0.1/LearnJSP?useUnicode=true&...
将ECommerce目录COPY直Tomcat/webapps/下,即Tomcat/webapps/ECommerce 修改Tomcat/webapps/bbscs6/WEB-INF/resources/config.properties文件 主要修改 server=jdbc:mysql://127.0.0.1/LearnJSP?...
bbscs711.part1.rar
[论坛社区]天乙社区修改版_bbscs7.rar
MYSQL安装 将安装包解压缩,运行ebookcopy.bat,然后用ebook.... 将ECommerce目录COPY直Tomcat/webapps/下,即Tomcat/webapps/ECommerce 修改Tomcat/webapps/bbscs6/WEB-INF/resources/config.properties文件
这是一个J2EE的项目,写的是一个论坛,包含全部源码,其中运用struts、hibernate、spring、ajax等多种框架,由于工程大,所以分5个部分上传。 BBSCS_8_0_1.part3.rar
这是一个J2EE的项目,写的是一个论坛,包含全部源码,其中运用struts、hibernate、spring、ajax等多种框架,由于工程大,所以分5个部分上传。
这是一个J2EE的项目,写的是一个论坛,包含全部源码,其中运用struts、hibernate、spring、ajax等多种框架,由于工程大,所以分5个部分上传。
NULL 博文链接:https://guidao.iteye.com/blog/356240
前几年的JavaJsp应用源码Demo,主要面向的是学生毕业设计学习。
一套Web式网络社区软件,天乙社区采用JSP+JavaBean构架,后台可以使用MYSQL、Oracle、SQL Server等多种数据库,适用于Linux/UNIX、Windows等多种操作系统,具有界面简洁、功能强大、操作方便等特点
所有四篇文档 博文链接:https://sgwood.iteye.com/blog/123113
BBS-CS 天乙社区 是采用JSP+JavaBean+Servlet、Struts的MVC框架开发的一套网络虚拟社区系统。文件解压缩后有详细文件说明。
bbscs开源项目的数据库设计,设计的很好,值得学习
该项目是一个完整的例子,只需导入数据库(mysql)脚本bbscs7.sql和ssh的相关jar包即可运行! 声明:任何版权纠纷与本人无关!
一个完整的java论坛,基本功能都实现了。直接导入myeclipse 找到src下面的bbscs8.sql创建数据库,修改init.properties里面的数据库连接 用tomcat启动就行了
安装条件: JDK1.5以上(必须) Mysql5以上,Oracle10g ...http://localhost:8080/login.bbscs?action=admin 用户:webmaster 密码:12345 前台用户用例 用户:test 密码:test 执行sql,访问即可。