bbscs6

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的实例
=================================================================================

你可能感兴趣的:(DAO,jsp,Hibernate,配置管理,Lucene)