1、jeecmscmsentitybackcms备份实体类子类jeecmscmsentitybackbasecms备份实体类基类jeecmscmsentitybackhbmhibernate备份实体类类的关系映射文件jeecmscmsentitymaincms核心实体类子类jeecmscmsentitymainbasecms核心实体类基类jeecmscmsentitymainhbmhibernate核心实体类的关系映射文件jeecmscmslucene搜索引擎封装包jeecmscmsmanagerassist辅助的service接口层jeecmscmsmanagerassistimpl辅助的ser
2、vice接口实现层jeecmscmsmanagermain核心的service接口层jeecmscmsmanagermainimpl核心的service接口实现层jeecmscmsserviceservice封装层jeecmscmsstaticpage静态页的封装包包jeecmscmsstaticpagee*ception静态页的异常处理类型jeecmscmsstatistic容发布统计包jeecmscmsstatisticworkload流量统计包jeecmscmsweb拦截器包jeecmscmstask任务包jeecmscmstaskjob具体任务包2.2mon包介绍jeecmsmonca
3、ptcha验证码封装包jeecmsmondic分词jeecmsmonemail包jeecmsmonfckfck编辑器封装包jeecmsmonfile文件操作封装包jeecmsmonhibernate3hibeinate封装包jeecmsmonimage图片的封装包jeecmsmonipseekip地址库封装jeecmsmonlucene收索引擎的根底包jeecmsmonoffice文档转换相关工具类jeecmsmonpagejeecms分页封装包jeecmsmonsecurity平安认证相关的包jeecmsmonsecurityannotationjeecmsmonsecurityencode
4、rjeecmsmonsecurityremembermejeecmsmonsecurityuserdetailsjeecmsmonupload上传封装包jeecmsmonutil工具包jeecmsmonwebjeecmsmonwebfreemarkerfreemarker视图封装包jeecmsmonwebsessionsession包jeecmsmonwebsessioncachesession缓存包jeecmsmonwebspringmvcspringMVC的简单封装静态页的封装包2.3Core包介绍jeecmscore一般常量和异常处理jeecmscoreactionfront核心前台的a
5、ctionjeecmscoredao核心dao的接口jeecmscoredaoimpl核心dao的接口实现类jeecmscoreentity登录认证和核心用户的实体子类jeecmscoreentitybase登录认证和核心用户的实体基类jeecmscoreentityhbm相关的hibernate的映射文件jeecmscoremanagerjeecmscoremanagerimpljeecmscoresecurity认证登录、退出相关jeecmscoretpl模板接口和相关service层jeecmscoreweb定义容显示的接口,工具类,和错误页面的指定jeecmscorewebutilur
6、i帮助类2.4页面资源介绍WebContentr前台资源文件,如css、img、js等res后台资源文件thirdparty第三方插件ckeditor编辑器、swf上传、My97DatePicker日期选择u默认的用户上传资源目录WebContent/WEB-INFcache缓存文件mon通用页面config核心的配置文件,如果action,service,manager,dao,bean等directive标签向导模板文件error错误页面ftl自定义的freemark宏文件ispeekip地址库jeecms_sys后台管理页面account账号绑定列表acquisition采集admin管
7、理员advertising广告advertising_space广告版位channel栏目ment评论公用错误页面系统配置content容content_reuse容复用data数据备份department部门dictionary字典向导标签file文件frame框架集friendlink友情friendlink_ctg友情分类ftpgroup用户组guestbook留言guestbook_ctg留言分类item模型字段keyword关键词log日志lucene全文检索member会员menu自定义菜单message短消息model模型origin来源personal个人中心plug插件res
8、ource资源role角色scoregroup评分组scoreitem评分项searchwords搜索词sensitivity敏感词site站点site_config站点配置static静态化statistic浏览统计tagTag关键词template模版topic专题type容类型visual可视化编辑unified_user用户vote_topic投票workflow工作流workflowRecord工作流记录languages国际化配置jeecms/admin后台jeecms/front前台jeecms/tpljeecore/admin公用国际化lucene文件夹t/cms前台模板页面t
9、/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中配置好资源文件,使sp
10、ring mvc在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
11、 框架是高度可配置的,而且包含多种视图技术,例如 FreeMarker、JavaServer PagesJSP技术、Velocity、Tiles、iTe*t 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 别离了控制器、模型对象、分派器以及处理程序对象的角色,这种别离让它们更容易进展定制。3.2.2控制层实现3.2.2.1配置SpringMVC支持Web.*ml配置Spring后台核心调度器servlet-nameJeeCmsAdminservlet-class/servlet-classinit-paramparam-nam
12、econte*tConfigLocationparam-value /WEB-INF/config/jeecms-servlet-admin.*ml /WEB-INF/config/plug/*/*-servlet-admin-action.*ml/param-value/init-paramload-on-startup1/servletWeb.*ml配置Spring后台核心调度器匹配路径servlet-mappingurl-pattern/jeeadmin/jeecms/*/servlet-mappingWeb.*ml配置Spring前台核心调度器JeeCmsFront /WEB-INF/
13、config/jeecms-servlet-front.*ml /WEB-INF/config/plug/*/*-servlet-front-action.*ml2Web.*ml配置Spring前台核心调度器匹配路径*.jhtml*.jsp*.jsp*.htm3.2.2.2 Spring Controller核心管理模块Controller辅助管理模块Controller/*Controller标志该类是Srping Controller*/Controllerpublic class WeleAct /* */inde*.do该地址将由Spring DispatchServlet负责调度给该
14、方法处理*/RequestMapping(/inde*.do) public String inde*() return inde*; /top.dopublic String top(HttpServletRequest request, ModelMap model) / 需要获得站点列表List siteList = cmsSiteMng.getList(); CmsSite site = CmsUtils.getSite(request); CmsUser user = CmsUtils.getUser(request); / 传输对象到view层model.addAttribute(
15、siteList, siteList); model.addAttribute(site, site);siteParam, AdminConte*tInterceptor.SITE_PARAM);user, user);top /* *装配service层对象,调用业务逻辑层Autowired private CmsSiteMng cmsSiteMng;3.2.2.3 SpringMVC扩展配置jeecms-servlet-admin.*ml 后台Spring国际化、拦截器、SpringMVC视图解析器配置jeecms-servlet-front.*ml前台Spring国际化、拦截器、Spr
16、ingMVC视图解析器配置jeecms-servlet-admin-action.*ml 后台action配置文件jeecms-servlet-front-action.*ml前台action配置文件配置action beanbean id=weleAct class=.jeecms s.action.admin.WeleAct/3.3逻辑层3.3.1类存放包介绍核心service层.jeecms s.manager.assist.impl 辅助service层.jeecms s.service 采集、栏目、容、流量公用service包3.3.2service类代码编写样例ServiceTra
17、nsactionalpublic class CmsConfigMngImpl implements CmsConfigMng Transactional(readOnly = true) public CmsConfig get() CmsConfig entity = dao.findById(1); return entity; public void updateCountCopyTime(Date d) dao.findById(1).setCountCopyTime(d); public void updateCountClearTime(Date d) dao.findById(
18、1).setCountClearTime(d); public CmsConfig update(CmsConfig bean) Updater updater = new Updater(bean); CmsConfig entity = dao.updateByUpdater(updater); entity.blankToNull(); public MarkConfig updateMarkConfig(MarkConfig mark) get().setMarkConfig(mark); return mark; public void updateMemberConfig(Memb
19、erConfig memberConfig) get().getAttr().putAll(memberConfig.getAttr(); private CmsConfigDao dao; /自动装配dao层 public void setDao(CmsConfigDao dao) this.dao = dao;需要ServiceTransactional注解标志该类为业务逻辑层,所有的service层均采用接口开发模式Transactional(readOnly = true)只读事物3.3.3配置service beanjeecms-conte*t.*ml中增加service bean的
20、配置beanid=cmsConfigMng.jeecms s.manager.main.impl sConfigMngImpl3.4持久层3.4.1Hibernate3简介Hibernate是一个开放源代码的对象baike.baidu./view/2387.htm关系映射框架,它对JDBC进展了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操作数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用3.4.2类代码编写样例持久层采用Hibernate3,缓存采用Ehcache.je
21、ecms s.dao.main.impl 核心DAO层.jeecms s.dao.assist.impl 辅助DAO层Repositorypublic class CmsConfigDaoImpl e*tends HibernateBaseDao implements CmsConfigDao public CmsConfig findById(Integer id) CmsConfig entity = get(id); /重写getEntityClass方法Override protected Class getEntityClass() return CmsConfig.class;Repository注解标志该类是DAO层组件,可以选择继承HibernateBaseDao根底类,需要实现接口。3.4.3配置DAO beanjeecms-conte*t.*ml中增加dao bean的配置cmsConfigDao.jeecms s.dao.main.impl sConfigDaoImpl3.4.4POJO.j
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1