项目简介
笔记管理系统,用户可以管理笔记信息,可以查看
其他用户分享的笔记.
主要功能如下
用户模块:登录、注册、修改密码、退出
笔记本模块:创建、删除、更新、查看
笔记模块:创建、删除、更新、查看、转移
分享和收藏模块:分享、收藏、查看、搜索分享
回收站模块:查看、彻底删除、恢复
活动模块:查看活动、参加活动等
项目整体设计
使用的主要技术
jQuery、Ajax、SpringMVC、IOC、AOP、MyBatis
jQuery:简化前端javascript和ajax编程
Ajax:页面局部处理;提升用户体验和性能
SpringMVC:负责接收请求,调用业务组件处理,
将结果生成JSON响应输出
SpringIOC:负责管理Controller,Service,Dao;维护这些组件对象之间的关系
MyBatis:负责实现数据库操作,实现Dao
SpringAOP:负责事务和异常日志功能切入。
(不用修改原有组件代码,就可以追加功能)
项目整体规范
-所有请求采用Ajax方式交互
(使用$.ajax()函数)
-系统页面全部采用HTML
(替代JSP+JSTL+EL)
-所有请求服务器处理完返回的JSON结果格式
如下
{"status":xx,"msg":xxx,"data":xxx}
表现层--》控制层--》业务层--》持久层/数据访问层
HTML(ajax)-->Controller-->Service-->Dao
响应流程
Ajax+SpringMVC+Spring(IOC/AOP)+MyBatis
Ajax-->SpringMVC-->返回JSON结果
JSP响应流程
**请求-->DispatcherServlet--> HandlerMapping--> Controller-- 返回ModelAndView/String--> ViewResolver--> JSP -->响应
**
JSON响应流程
请求-->DispatcherServlet--> HandlerMapping--> Controller--> 返回数据对象(int,User,List,Map)--> 引入jackson包,在Controller方法前添加@ResponseBody标记--> JSON响应
搭建环境