防百度贴吧 by LDDXFS
本文由 http://www.cnblogs.com/LDDXFS/ 原创,转载请注明本文出处。
项目采用Spring, Hibernate, Struts2,Mysql, JqueryUI , Ueditor,jquery.SuperSlide.2.1.1.js ,jquery.nailthumb.1.1.js,注册邮件采用了Spring+Freemark,


左侧导航自己写的,没有用现成的菜单js库

以下页面的css有点复杂,一点点对着百度写的。帖子推荐 ,签到模块 , 显示个人头像的部分。

帖子缩略图采用了thumbnailator-0.4.8.jar 这个工具包,压缩比如下图 。帖子图片存到服务器文件夹下,而吧背景图等存到了数据库,写出时先写入到服务器某文件夹,再写出到浏览器。---------还未开始的学习内容:1 写入文件夹图片的管理。2 缓存框架能否缓存图片?


分页以及发帖框

ueditor 给不同用户分配不同上传文件夹需要修改com.baidu.ueditor.ActionEnter的invoke方法的以下内容,


然后写一个类PathFormatEachUser对 PathFormate#parse ( String input, String filename ) 方法进行包装替换config.json中的userId。在需要调用parse方法的地方根据下图修改

插入搜索的音乐不能播放,在新窗口打开才能播放,应该是被百度屏蔽了。ueditor插入搜索音乐这个功能是不是摆设?不过上传视频效果不错。


此前没有找到合适的日期选择控件,日期这里就没写了,本来想用jqueryUI自带的日历控件,不太喜欢,想着去学 较流行的easyUI或是响应式布局,就没继续修改了。

用流行的响应式布局Bootstrap写的一个简单界面,Bootstrap在线帮助文档比较全。最近在复习Spring和整理笔记, 一些流行的前端框架还未仔细的学,Bootstrap ,js检验框架,dwz,easyUI。

写在最后:
1.由于使用service接口、service实现类、dao层、dao实现类的设计加上service划分不合理(一个PO对应一个dao 一个service),使得项目代码冗余较大。
--------结论:需要合理合理划分Sevice,而不一定是一个PO一个Service。
2.Action层的Service注入不合理,例如下图Ba对应的action有过多的service注入。
---------结论:采用工厂设计模式(是哪一种工厂还需要仔细思考)并将Service作为action内方法的局部变量,这样一个Action只需要一个ServiceFactory注入。

3.dao层实现类有些仅仅是为了向公共的BaseDaoImpl实现类 注入PO 而没有实际有用的代码,这里的dao层设计其实是参考12年传智播客的电力项目,总感觉这么设计有些臃肿,。例如下图:。
-------------结论:某类继承BaseDao来得到有用的方法,还是将BaseDao作为该类的全局变量?
尚待研究的架构:继承HibernateDaoSupport、继承HibernateTemplate、将HibernateTemplate作为全局变量哪一种设计更好?
‘
4.全局异常处理,项目中的异常处理设计不合理,之前对struts2的异常拦截器不了解,导致代码写得有些乱
----------结论:将异常包装为运行时异常,例如如下配置将使得异常处理变的非常简单高效。

5.ajax请求返回的消息格式应该统一,需要根据消息格式进行处理:例如各种样式的弹提示框、还是打开连接、还是将josn数据加载待页面。
本文由 http://www.cnblogs.com/LDDXFS/ 原创,转载请注明本文出处。

浙公网安备 33010602011771号