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&...
mysqldump -u root -p bbscs6 BBSCS_USERINFO --where "ID>2312387" > BBSCS_USERINFO-par.sql ``` 这条命令将只导出满足条件的记录,并将结果保存在`BBSCS_USERINFO-par.sql`文件中。 这些方法为导出MySQL中的特定...
将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?...
- "BBSCS6" 这个文件名可能表示的是论坛系统的某个版本或者特定模块,具体功能需要查看文件内容才能明确。 这个"spring+struts+hibernate论坛BBS源码"项目对于学习和理解Java Web开发,尤其是三大框架的集成应用,...
bbscs711.part1.rar
【标题】:“[论坛社区]天乙社区修改版_bbscs7.rar”指的是一个针对名为“天乙社区”的在线论坛平台进行定制或优化后的版本,该版本被存档为RAR格式的压缩文件,名为“bbscs7”。 【描述】:“[论坛社区]天乙社区...
MYSQL安装 将安装包解压缩,运行ebookcopy.bat,然后用ebook.... 将ECommerce目录COPY直Tomcat/webapps/下,即Tomcat/webapps/ECommerce 修改Tomcat/webapps/bbscs6/WEB-INF/resources/config.properties文件
标题中的“对天乙社区bbscs8实现的详细分析一”表明这是一份关于天乙社区论坛系统(bbscs8)的深度解析报告,可能是由开发者或研究者撰写的,旨在理解其架构、功能实现和可能的技术栈。这份分析可能涵盖了软件设计...
这是一个J2EE的项目,写的是一个论坛,包含全部源码,其中运用struts、hibernate、spring、ajax等多种框架,由于工程大,所以分5个部分上传。 BBSCS_8_0_1.part3.rar
6. **配置文件**:如web.xml,定义了应用的部署描述符,指定了应用的入口点和其他设置。 7. **图片和静态资源**:可能包含论坛所需的logo、图标、背景图片等。 这个源码Demo适合Java Web初学者,尤其是对JSP感兴趣...
【BBSCS_5_3_1.rar_bbs struts_bbs系统_jsp bbs down_天乙社区_虚拟社区】 本项目是基于BBS(Bulletin Board System,电子公告板)理念,采用Struts框架,结合JSP、JavaBean和Servlet技术构建的一款网络虚拟社区...
【标题】"bbscs祥設"所指的可能是一个关于论坛系统开发或者是一个与BBS(Bulletin Board System,电子公告板)相关的软件项目。在IT行业中,BBS通常用于搭建在线讨论平台,用户可以发布帖子、进行互动交流。"祥設...
这是一个J2EE的项目,写的是一个论坛,包含全部源码,其中运用struts、hibernate、spring、ajax等多种框架,由于工程大,所以分5个部分上传。
这是一个J2EE的项目,写的是一个论坛,包含全部源码,其中运用struts、hibernate、spring、ajax等多种框架,由于工程大,所以分5个部分上传。
一套Web式网络社区软件,天乙社区采用JSP+JavaBean构架,后台可以使用MYSQL、Oracle、SQL Server等多种数据库,适用于Linux/UNIX、Windows等多种操作系统,具有界面简洁、功能强大、操作方便等特点
本篇文章将根据提供的“bbscs”开源项目的数据库设计文档,对其中的关键表结构进行详细的分析与解释,帮助读者理解如何设计一个优秀的论坛系统数据库。 #### 二、主要知识点 ##### 1. 数据库概述 - **数据库名称*...