summercool + mybatis框架解决方案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
summercool + mybatis框架解决方案.docx

Summercool+mybatis框架解决方案Summercool框架基于SpringMVC框架的summercool的特点1) Spring MVC是基于Servlet实现的请求处理器,而Summercool框架将其改成为基于Filter实现(好处就不多说了,大家都懂的;只是提一下,Servlet是请求生命周期的结束,而Filter则不是请求生命周期的结点)2) Spring MVC在一些特殊处理上处理的也不是非常的理想,定制化也不是完全可以扩展的;如下几点描述:xml配置文件的缺省加载? ? 1. 如果我们要是想加载一个或多个Spring的xml配置文件,那么我们要用import来完成文件的加载? ? 2. 在Summercool中只要将Spring的xml配置文件,放在classpath下面的/spring文件夹下面,应用 启动的时候,Summercool框架会自动扫描classpath下面的/spring文件夹中的xml配置文件。3. 多个jar包里面/spring文件夹下面的xml配置文件,框架也会自动加载约定胜于配置? ? 1. Spring MVC其实已经有约定胜于配置了,但是还是不我们想要的那种理想型的? ? 2. /index.htm -- /IndexController.java? ? ? ? /user/user_manager.htm -- /user/UserManagerController.java? ? ? ? 上面才是我们的理想型的约定胜于配置的方式页面模块化和页面函数自定义? ? Summercool框架中的内置函数,写法如下:Html代码html??????${widget(/header)}?????????????内容体!????????${widget(/footer)}??/html??? ? 说明:上面的页面中,我们可以看出${widget()}函数,不需要页面的扩展名1.?${widget(/header)}的加载过程,-- /HeaderWidget.java -- /header.ftl2. 如果/HeaderWidget.java不存在,则 -- /header.ftl3. 这样,我们就可以把一个公共页面的处理类的逻辑,写在/HeaderWdiget.java里面;如:显示登录名称自定义URL模版? ? 1. 一个应用中,经常会自定义一些特别的url地址,而非约定胜于配置而自动映射的地址? ? 2. http://localhost:8080/item/#id#.html --?http://localhost:8080/item/12345.html? ? 3. 上面的URL地址,是我们自定义的一个URL地址,1) 我们一般的期望是上面的地址规则可以配置,并且变量可以跟据一定规则替换;2) 我们还期望有一个对应处理该地址的Controller处理类,并且可以自动提取出规则地址中的变量,如#id#?Cookies的自动加密和解密实现基于Cookies的免登录实现全局统一处理的权限实现全局统一处理的图片自动缩放处理实现(包括cache)多语言模版的实现(Spring MVC和Freemarker自带)多主题的实现(Spring MVC自带)Summercool请求处理流程图说明:Summercool相比较于Spring MVC多了AroundPipeline、PreProcessPipeline、PostpRrocessPipeline和ExceptionPipeline这些元素。2. 处理流程的一个细节也调整了一下,具体如下:? ?1) request -- /index.htm -- /IndexController.java -- /index.ftl? ??如果Spring MVC在没有/IndexController.java这个处理类的话,会自动返回NotFound;不会渲染/index.ftl? ?2) Summercool框架改造成:request -- /index.htm -- [/indexController.java] -- [/index.ftl]如果没有/IndexController.java这个处理类,那么Summercool会自动查找/index.ftl页面?3) 上面的这个特性非常有用,因为有些动态页面(如帮助页面)是不需要Controller处理的,但是却包括一些动态信息?Summercool框架的相关说明AroundPipeline接口说明因为Summercool框架是基于Filter实现的,所以AroundPipeline会过滤所有的请求,因为AroundPipeline笔者也是跟据Filter的模式进行调用的Priority

文档评论(0)

sunguohong + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档