Jeecms开发学习笔记

上传人:简****9 文档编号:112068112 上传时间:2019-11-04 格式:DOC 页数:18 大小:97.90KB
返回 下载 相关 举报
Jeecms开发学习笔记_第1页
第1页 / 共18页
Jeecms开发学习笔记_第2页
第2页 / 共18页
Jeecms开发学习笔记_第3页
第3页 / 共18页
Jeecms开发学习笔记_第4页
第4页 / 共18页
Jeecms开发学习笔记_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Jeecms开发学习笔记》由会员分享,可在线阅读,更多相关《Jeecms开发学习笔记(18页珍藏版)》请在金锄头文库上搜索。

1、Jeecms开发学习笔记Jeecms开发学习笔记青岛海尔软件有限公司带吴钩目录1.文档说明32. 关键词32.1MVC32.2实体32.3实现类33. 从Act到Mng到Dao43.1Act43.1.1什么是Act?43.1.2Act实现从html到jspx43.1.3从Act到Mng53.2Mng和MngImpl73.2.1什么是Mng和MngImpl?73.2.2Mng73.2.3从MngImpl到Dao83.3Dao和DaoImpl93.3.1什么是Dao和DaoImpl?94. 实体类94.1为什么使用实体类?94.2id的作用105配置文件115.1数据库配置文件115.2国际化12

2、第 10 页 共 12 页1.文档说明 本文档来源一个现实项目的学习,笔者须在Jeecms框架内实现前台提交简历,后台查看简历的过程。而笔者毫无java web开发经验。 因此本文档适用于毫无java web开发经验人群,将以Jeecms的spring MVC + spring + hibernate框架为结构进行介绍。建立一个实体,从数据的写入到查找为流程,进行一个详细的描述。2. 关键词2.1MVCMVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织

3、代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。2.2实体实体类主要是作为数据管理和业务逻辑处理层面上存在的类别; 它们主要在分析阶段区分 。实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。2.3实现类 就是接口的实现类,实现了接口中那些方法的方法体。3. 从Act到Mng到Dao3.1Act3.1.1什么是Act?在我的理解,Act就是接受请求然后执行方法的类,是前台页面和后

4、台处理衔接的类,是重要的类。一般地,注释掉Act下的内容,就失去了衔接的类,我们不需要重新编译实体,Mng,Dao,也不会影响其他的类。这时候,新编译的Act实现与前台的衔接后,就会走到它所注入的Mng,Dao,最后进入表。3.1.2Act实现从html到jspx 在参照guestbook的时候,你会发现并没有guestbook.jspx这个文件,那么它是怎么来的呢?我们看GuestbookAct.java中下面这段代码:RequestMapping(value = /guestbook*.jspx, method = RequestMethod.GET)public String index

5、(Integer ctgId, HttpServletRequest request,HttpServletResponse response, ModelMap model) CmsSite site = CmsUtils.getSite(request);FrontUtils.frontData(request, model, site);FrontUtils.frontPageData(request, model);CmsGuestbookCtg ctg = null;if (ctgId != null) ctg = cmsGuestbookCtgMng.findById(ctgId)

6、;if (ctg = null) / 留言板首页return FrontUtils.getTplPath(request, site.getSolutionPath(),TPLDIR_SPECIAL, GUESTBOOK_INDEX); else / 留言板类别页model.addAttribute(ctg, ctg);return FrontUtils.getTplPath(request, site.getSolutionPath(),TPLDIR_SPECIAL, GUESTBOOK_CTG);这段代码是一个拦截,用于判断进入哪个guestbook页面(是未登录的guestbook_in

7、dex或者guestbook_detail)。RequestMapping注解中value的值表示一个请求,guestbook*.jspx表示的是形如guestbookXXX(XXX可以为空).jspx的请求,我们输入一个./guestbook.jspx的url就相当于发送了这个请求,然后进入由RequestMapping注解的一个方法。我们假设这个时候没有留言类别,也就是说ctg=null为true,这时就会return FrontUtils.getTplPath(request, site.getSolutionPath(),TPLDIR_SPECIAL, GUESTBOOK_INDEX)

8、在这里site是你设置的site一般与project名一致,TPLDIR_SPECIAL已经配置好了,指的是t文件夹下的special文件,重点说一下GUESTBOOK_INDEX,在Act中,有一个定义代码:public static final String GUESTBOOK_INDEX =tpl.guestbookIndex;那么tpl.guestbookIndex又是什么呢,这个需要在国际化文件中进行配置,两个国际化文件分别是messages_en_US.properties和messages_zh_CN.properties,这里显然已经配置好了,当你要写自己的Act时就需要自行配

9、置了。于是,我们输入./guestbook.jspx时,就会走到GuestbookAct这个类,进入这个方法,最后return到这个guestbook_index页面,于是就从html变成了jspx,代码就是这样实现的。从jspx进行ajax提交我们不多提,只需要稍看guestbook_index就能就能了解。 3.1.3从Act到Mng依然是参考guestbook,我们看guestbookAct中这样一段代码:RequestMapping(value = /guestbook.jspx, method = RequestMethod.POST)public void submit(Integ

10、er siteId, Integer ctgId, String title,String content, String email, String phone, String qq,String captcha, HttpServletRequest request,HttpServletResponse response, ModelMap model) throws JSONException CmsSite site = CmsUtils.getSite(request);CmsUser member = CmsUtils.getUser(request);if (siteId =

11、null) siteId = site.getId();JSONObject json = new JSONObject();try if (!imageCaptchaService.validateResponseForID(session.getSessionId(request, response), captcha) json.put(success, false);json.put(status, 1);ResponseUtils.renderJson(response, json.toString();return; catch (CaptchaServiceException e

12、) json.put(success, false);json.put(status, 1);ResponseUtils.renderJson(response, json.toString();log.warn(, e);return;String ip = RequestUtils.getIpAddr(request);cmsGuestbookMng.save(member, siteId, ctgId, ip, title, content, email,phone, qq);json.put(success, true);json.put(status, 0);ResponseUtil

13、s.renderJson(response, json.toString(); Autowiredprivate CmsGuestbookCtgMng cmsGuestbookCtgMng;Autowiredprivate CmsGuestbookMng cmsGuestbookMng;Autowiredprivate SessionProvider session;Autowiredprivate ImageCaptchaService imageCaptchaService;Json我们不多做介绍,在Jeecms框架下,想要处理带有验证码提交的数据时,我们可以复制之后稍作修改,方法是平凡的

14、,重点看红色框的部分。第一个红色框框中用到了cmsGuestbookMng的save方法,下面的json.put(success, true);json.put(status, 0);是关于验证码的信息,在html中的ajax提交方法有如下的判断:if(data.status=0) alert(留言成功); location.href=location.href; else if(data.status=1) alert(验证码错误); $(#guestbookCaptcha).click(); 显然地,status=0,提交就成功了。第二个红色框框中用到了Autowired注解,作用是数据在走Mng接口时bytype自动注入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号