学习了这么久,一直都是零零散散的,没有把知识串联起来综合运用一番

比如拦截器,全局异常处理,json 交互,RESTful 等,这些常见技术必须要掌握

接下来呢,我就打算通过这么一个综合案例把这段时间所学的知识串联起来做一个综合小案例,实现商品订单管理模块的开发

那么,这一块写成技术博客的原因呢,主要是督促自己每天有所行动,不要畏惧艰难,每一个大的项目都是由小小的知识点构建起来的。

不积跬步无以至千里,不积小流无以成江海。及时记录有助于自己整体把握知识点,为后面做一个大一点的项目做基础准备。

正好赶上五一花了两天来时间,做出了一个基于 SSM 的 简单的商品订单管理 webapp,页面功能如下:

登录页面,进行了服务器端校验

注册页面:

拦截器:

登录查看订单页面,正常情况下这里订单页面是不应该提供修改商品功能的,只是为了练手:

实现了查看商品,修改商品信息的功能,(其中修改商品添加了上传图片功能)

总结:这个项目虽然较小,但是麻雀虽小五脏俱全,该用的常见技术也都使用了,如:

拦截器验证登录信息

MD5 信息摘要实现粗糙的密码加密

自定义日期格式转换器 String -->Date

全局异常处理器

RESTful 风格 url 规范实现 (url 模板映射) 且引入了 jQuery img css 等静态资源并对其做了静态资源过滤不拦截处理

多部件解析器配置,实现图片上传服务器

验证了一把 json  跟 key/value 请求数据 ,以及 response 响应 json 数据

值得一提的是 mybatis 真心好用,半自动的持久层 ORM 框架,相对于hibernate可以自定义 sql (这里用到了相对复杂的多多映射-->就是登录后的商品订单查看页面),真的可以一起装逼一起飞

综合来看主要剩下两点没有在这个项目里实践

使用逆向工程生成mapper,pojo,以及单表的xml的映射文件
商品修改添加校验,学习springmvc提供校验validation(使用的是hibernate校验框架)

等到以后有时间再做融合吧。

项目完整代码(约 31MB) 网盘地址:

链接:https://pan.baidu.com/s/1X7rxZnnFxJYdTRqMSEFAzA 密码:2jmn

托管地址

这个项目对我来说可以作为以后大型项目的基石。。。

一个ssm综合小案例-商品订单管理----写在前面的更多相关文章

  1. 一个ssm综合小案例-商品订单管理-第一天

    项目需求分析: 功能需求:登录,商品列表查询,修改 项目环境及技术栈: 项目构成及环境: 本项目采用 maven 构建 环境要求: IDEA Version: 2017.2.5 Tomcat Vers ...

  2. 一个ssm综合小案例-商品订单管理-第二天

    准确来说是第二三天,一时兴起,把这个小项目一鼓作气写完了(较大的bug 均已被我手动捉出并 fix )才来写一篇博客. 接上文 第一天配置继续讲解:

  3. javascript综合小案例,校验用户注册信息提交

    完成这个综合小案例,对于html.css.javascript的大部分内容复习快结束了. 这里做一个小案例--要实现的功能,以一张图片的形式给出: 首先,写出提交数据之后进入的页面代码: <!D ...

  4. 《java入门第一季》之面向对象综合小案例

    需求: /*     教练和运动员案例         乒乓球运动员和篮球运动员.         乒乓球教练和篮球教练.         跟乒乓球相关的人员都需要学习英语.         分析,这 ...

  5. 一个VUE的小案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. webpack核心概念使用的综合小案例

    注: 由于版本更新很快,同样的配置不同版本很可能会出错(这个就很绝望了) 解决思路 看文档 查看源码接口 网上搜索相应错误 环境 webpack4.x + yarn 文件结构 . ├── dist / ...

  7. MyBatis小案例完善增强

    https://blog.csdn.net/techbirds_bao/article/details/9233599 上链接为一个不错的Mybatis进阶博客 当你把握时间,时间与你为伍. 将上一个 ...

  8. 小程序全局状态管理,在页面中获取globalData和使用globalSetData

    GitHub: https://github.com/WozHuang/mp-extend 主要目标 微信小程序官方没有提供类似vuex.redux全局状态管理的解决方案,但是在一个完整的项目中各组件 ...

  9. Vue小案例 之 商品管理------学习过滤器 使用过滤器处理日期的格式

    代码学习过滤器 过滤器介绍:过滤模型数据,在数据显示前做预处理操作: 内置过滤器:在1.x中,Vue提供了内置过滤器,但是在2.x中已经完全废除: 解决办法: (1)使用第三方库来替代1.x中的内置过 ...

随机推荐

  1. mongodump备份小量分片集群数据

    1.使用mongodump备份小量分片集群数据 如果一个分片集群的数据集比较小,可以直接使用mongodump连接到mongos实例进行数据备份.默认情况下,mongodump到非primary的节点 ...

  2. docker之搭建LNMP

    一.部署mysql [root@node03 web]# docker run -itd --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=1 ...

  3. Unity3D工程全资源自动检测系统

    是什么 这系统到底是个啥 本系统主要用于自动监测与检测各类型资源是否正常及满足指定规范,并在第一时间把出现的问题输出到控制台与保存到文件,以供对应的负责人及时修正. 为什么 你可能经常遇到的问题 资源 ...

  4. 转-PHP 设计模式 之策略模式 应用场景 Strategy Pattern

    一.前言 关于设计模式的文章,园子里实在是太多太多,而且讲解的也非常精彩,那为什么我还要在这里记录下这篇文章?本文以实际项目应用“自己动手写工具--XSmartNote”为切入点,来讲述策略模式的应用 ...

  5. 右键添加使用Sublime打开

    网上教程大多是教你怎么改注册表,有点麻烦. 我根据教程改完之后导出来供大家使用,更方便快捷. Windows Registry Editor Version 5.00 [HKEY_CLASSES_RO ...

  6. 【读书笔记】Linux内核设计与实现(第一章&第二章)

    http://pan.baidu.com/s/1hqYAZNQ OneNote做的笔记没法儿带着格式一起导进来.所以上传到百度云,麻烦老师下载一下了. 下次不再用OneNote.

  7. Linux第六周学习总结——进程额管理和进程的创建

    Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...

  8. Eclipse使用较多的快捷键

    快速修正:Ctrl+1 单词补全:Alt+/ 快速Outline:Ctrl+O 删除行:Ctrl+D 选中到行末/行首:Shift+End/Home 注释:Ctrl+/ 变为大/小写:Ctrl+Shi ...

  9. 转帖 IBM要推POWER9,来了解一下POWER处理器的前世今生

    https://blog.csdn.net/kwame211/article/details/76669555 先来说一下最新的POWER 9 在Hot Chips会议上首次提到的IBM Power ...

  10. XShell中文乱码问题解决

    现象:XShell终端中输入中文显示乱码 原因:XShell终端的编码格式与服务器不同 解决:修改XShell终端的编码格式:菜单中点击,文件->属性->终端->编码,选择“UTF- ...