jeecmsv6系统开发指南Word文件下载.docx
《jeecmsv6系统开发指南Word文件下载.docx》由会员分享,可在线阅读,更多相关《jeecmsv6系统开发指南Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
\jeecms\cms\entity\back
cms备份实体类子类
\jeecms\cms\entity\back\base
cms备份实体类基类
\jeecms\cms\entity\back\hbm
hibernate备份实体类类的关系映射文件
\jeecms\cms\entity\main
cms核心实体类子类
\jeecms\cms\entity\main\base
cms核心实体类基类
\jeecms\cms\entity\main\hbm
hibernate核心实体类的关系映射文件
\jeecms\cms\lucene
搜索引擎封装包
\jeecms\cms\manager\assist
辅助的service接口层
\jeecms\cms\manager\assist\impl
辅助的service接口实现层
\jeecms\cms\manager\main
核心的service接口层
\jeecms\cms\manager\main\impl
核心的service接口实现层
\jeecms\cms\service
service封装层
\jeecms\cms\staticpage
静态页的封装包包
\jeecms\cms\staticpage\e*ception
静态页的异常处理类型
\jeecms\cms\statistic
容发布统计包
\jeecms\cms\statistic\workload
流量统计包
\jeecms\cms\web
拦截器包
\jeecms\cms\task
任务包
\jeecms\cms\task\job
具体任务包
2.2mon包介绍
\jeecms\mon\captcha
验证码封装包
\jeecms\mon\dic
分词
\jeecms\mon\email
包
\jeecms\mon\fck
fck编辑器封装包
\jeecms\mon\file
文件操作封装包
\jeecms\mon\hibernate3
hibeinate封装包
\jeecms\mon\image
图片的封装包
\jeecms\mon\ipseek
ip地址库封装
\jeecms\mon\lucene
收索引擎的根底包
\jeecms\mon\office
文档转换相关工具类
\jeecms\mon\page
jeecms分页封装包
\jeecms\mon\security
平安认证相关的包
\jeecms\mon\security\annotation
\jeecms\mon\security\encoder
\jeecms\mon\security\rememberme
\jeecms\mon\security\userdetails
\jeecms\mon\upload
上传封装包
\jeecms\mon\util
工具包
\jeecms\mon\web
\jeecms\mon\web\freemarker
freemarker视图封装包
\jeecms\mon\web\session
session包
\jeecms\mon\web\session\cache
session缓存包
\jeecms\mon\web\springmvc
springMVC的简单封装
静态页的封装包
2.3Core包介绍
\jeecms\core
一般常量和异常处理
\jeecms\core\action\front
核心前台的action
\jeecms\core\dao
核心dao的接口
\jeecms\core\dao\impl
核心dao的接口实现类
\jeecms\core\entity
登录认证和核心用户的实体子类
\jeecms\core\entity\base
登录认证和核心用户的实体基类
\jeecms\core\entity\hbm
相关的hibernate的映射文件
\jeecms\core\manager
\jeecms\core\manager\impl
\jeecms\core\security
认证登录、退出相关
\jeecms\core\tpl
模板接口和相关service层
\jeecms\core\web
定义容显示的接口,工具类,和错误页面的指定
\jeecms\core\web\util
uri帮助类
2.4页面资源介绍
WebContent
r
前台资源文件,如css、img、js等
res
后台资源文件
thirdparty
第三方插件〔ckeditor编辑器、swf上传、My97DatePicker日期选择〕
u
默认的用户上传资源目录
WebContent/WEB-INF
cache
缓存文件
mon
通用页面
config
核心的配置文件,如果action,service,manager,dao,bean等
directive
标签向导模板文件
error
错误页面
ftl
自定义的freemark宏文件
ispeek
ip地址库
jeecms_sys
后台管理页面
account
账号绑定列表
acquisition
采集
admin
管理员
advertising
广告
advertising_space
广告版位
channel
栏目
ment
评论
公用错误页面
系统配置
content
容
content_reuse
容复用
data
数据备份
department
部门
dictionary
字典
向导标签
file
文件
frame
框架集
friendlink
友情
friendlink_ctg
友情分类
ftp
group
用户组
guestbook
留言
guestbook_ctg
留言分类
item
模型字段
keyword
关键词
log
日志
lucene
全文检索
member
会员
menu
自定义菜单
message
短消息
model
模型
origin
来源
personal
个人中心
plug
插件
resource
资源
role
角色
scoregroup
评分组
scoreitem
评分项
searchwords
搜索词
sensitivity
敏感词
site
站点
site_config
站点配置
static
静态化
statistic
浏览统计
tag
Tag关键词
template
模版
topic
专题
type
容类型
visual
可视化编辑
unified_user
用户
vote_topic
投票
workflow
工作流
workflowRecord
工作流记录
languages
国际化配置
jeecms/admin
后台
jeecms/front
前台
jeecms/tpl
jeecore/admin
公用国际化
lucene文件夹
t/cms
前台模板页面
t/cms/
站点资源目录
t/cms//plan
站点方案
3开发流程指导
3.1展现层
3.1.1Freemarker介绍
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。
FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。
它不仅可以用作表现层的实现技术,而且还可以用于生成*ML,JSP或Java等。
3.1.2后台页面
后台页面需要的文本信息在languages/jeecms/admin下messages_zh_.properties中配置国际化属性
cms.function.assistant=辅助
spring中配置好资源文件,使springmvc在html文件能够读到资源文件信息。
在jeecms_sys文件夹中添加功能板块文件夹和相应的管理页面
读取控制层的属性非常简单,freemark只需用类似jsp的el表达式输出普通对象。
对于控制层传输过来的集合对象可用freemark置对象list来循环出来
3.1.3前台模版页面
在default目录相应的文件夹添加html,在html文件中引入freemark机制控制control层传输对象的显示。
3.2控制层
3.2.1SpringMVC简介
Spring框架提供了构建Web应用程序的全功能MVC模块。
使用Spring可插入的MVC架构,通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如FreeMarker、JavaServerPages〔JSP〕技术、Velocity、Tiles、iTe*t和POI。
SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。
SpringMVC别离了控制器、模型对象、分派器以及处理程序对象的角色,这种别离让它们更容易进展定制。
3.2.2控制层实现
3.2.2.1配置SpringMVC支持
Web.*ml配置Spring后台核心调度器
<
servlet>
servlet-name>
JeeCmsAdmin<
/servlet-name>
servlet-class>
/servlet-class>
init-param>
param-name>
conte*tConfigLocation<
/param-name>
param-value>
/WEB-INF/config/jeecms-servlet-admin.*ml
/WEB-INF/config/plug/**/*-servlet-admin-action.*ml
/param-value>
/init-param>
load-on-startup>
1<
/load-on-startup>
/servlet>
Web.*ml配置Spring后台核心调度器匹配路径
servlet-mapping>
url-pattern>
/jeeadmin/jeecms/*<
/url-pattern>
/servlet-mapping>
Web.*ml配置Spring前台核心调度器
JeeCmsFront<
/WEB-INF/config/jeecms-servlet-front.*ml
/WEB-INF/config/plug/**/*-servlet-front-action.*ml
2<
Web.*ml配置Spring前台核心调度器匹配路径
*.jhtml<
*.jsp*<
*.jsp<
*.htm<
3.2.2.2SpringController
核心管理模块Controller
辅助管理模块Controller
/**
Controller标志该类是SrpingController
**/
Controller
publicclassWeleAct{
/*
*/inde*.do该地址将由SpringDispatchServlet负责调度给该方法处理
*/
RequestMapping("
/inde*.do"
)
publicStringinde*(){
return"
inde*"
;
}
/top.do"
publicStringtop(HttpServletRequestrequest,ModelMapmodel){
//需要获得站点列表
List<
CmsSite>
siteList=cmsSiteMng.getList();
CmsSitesite=CmsUtils.getSite(request);
CmsUseruser=CmsUtils.getUser(request);
//传输对象到view层
model.addAttribute("
siteList"
siteList);
model.addAttribute("
site"
site);
siteParam"
AdminConte*tInterceptor.SITE_PARAM);
user"
user);
top"
/**
*装配service层对象,调用业务逻辑层
Autowired
privateCmsSiteMngcmsSiteMng;
}
3.2.2.3SpringMVC扩展配置
jeecms-servlet-admin.*ml后台Spring国际化、拦截器、SpringMVC视图解析器配置
jeecms-servlet-front.*ml前台Spring国际化、拦截器、SpringMVC视图解析器配置
jeecms-servlet-admin-action.*ml后台action配置文件
jeecms-servlet-front-action.*ml前台action配置文件
配置actionbean
beanid="
weleAct"
class="
.jeecmss.action.admin.WeleAct"
/>
3.3逻辑层
3.3.1类存放包介绍
核心service层
.jeecmss.manager.assist.impl辅助service层
.jeecmss.service采集、栏目、容、流量公用service包
3.3.2service类代码编写样例
Service
Transactional
publicclassCmsConfigMngImplimplementsCmsConfigMng{
Transactional(readOnly=true)
publicCmsConfigget(){
CmsConfigentity=dao.findById
(1);
returnentity;
publicvoidupdateCountCopyTime(Dated){
dao.findById
(1).setCountCopyTime(d);
publicvoidupdateCountClearTime(Dated){
dao.findById
(1).setCountClearTime(d);
publicCmsConfigupdate(CmsConfigbean){
Updater<
CmsConfig>
updater=newUpdater<
(bean);
CmsConfigentity=dao.updateByUpdater(updater);
entity.blankToNull();
publicMarkConfigupdateMarkConfig(MarkConfigmark){
get().setMarkConfig(mark);
returnmark;
publicvoidupdateMemberConfig(MemberConfigmemberConfig){
get().getAttr().putAll(memberConfig.getAttr());
privateCmsConfigDaodao;
//自动装配dao层
publicvoidsetDao(CmsConfigDaodao){
this.dao=dao;
需要ServiceTransactional
注解标志该类为业务逻辑层,所有的service层均采用接口开发模式
Transactional(readOnly=true)只读事物
3.3.3配置servicebean
jeecms-conte*t.*ml中增加servicebean的配置
beanid="
cmsConfigMng"
.jeecmss.manager.main.implsConfigMngImpl"
3.4持久层
3.4.1Hibernate3简介
Hibernate是一个开放源代码的对象baike.baidu./view/2387.htm关系映射框架,它对JDBC进展了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操作数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用
3.4.2类代码编写样例
持久层采用Hibernate3,缓存采用Ehcache
.jeecmss.dao.main.impl核心DAO层
.jeecmss.dao.assist.impl辅助DAO层
Repository
publicclassCmsConfigDaoImple*tendsHibernateBaseDao<
CmsConfig,Integer>
implementsCmsConfigDao{
publicCmsConfigfindById(Integerid){
CmsConfigentity=get(id);
//重写getEntityClass方法
Override
protectedClass<
getEntityClass(){
returnCmsConfig.class;
Repository注解标志该类是DAO层组件,可以选择继承HibernateBaseDao根底类,需要实现接口。
3.4.3配置DAObean
jeecms-conte*t.*ml中增加daobean的配置
cmsConfigDao"
.jeecmss.dao.main.implsConfigDaoImpl"
3.4.4POJO
.j