一个ssm综合小案例-商品订单管理----写在前面
学习了这么久,一直都是零零散散的,没有把知识串联起来综合运用一番
比如拦截器,全局异常处理,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综合小案例-商品订单管理----写在前面的更多相关文章
- 一个ssm综合小案例-商品订单管理-第一天
项目需求分析: 功能需求:登录,商品列表查询,修改 项目环境及技术栈: 项目构成及环境: 本项目采用 maven 构建 环境要求: IDEA Version: 2017.2.5 Tomcat Vers ...
- 一个ssm综合小案例-商品订单管理-第二天
准确来说是第二三天,一时兴起,把这个小项目一鼓作气写完了(较大的bug 均已被我手动捉出并 fix )才来写一篇博客. 接上文 第一天配置继续讲解:
- javascript综合小案例,校验用户注册信息提交
完成这个综合小案例,对于html.css.javascript的大部分内容复习快结束了. 这里做一个小案例--要实现的功能,以一张图片的形式给出: 首先,写出提交数据之后进入的页面代码: <!D ...
- 《java入门第一季》之面向对象综合小案例
需求: /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 跟乒乓球相关的人员都需要学习英语. 分析,这 ...
- 一个VUE的小案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- webpack核心概念使用的综合小案例
注: 由于版本更新很快,同样的配置不同版本很可能会出错(这个就很绝望了) 解决思路 看文档 查看源码接口 网上搜索相应错误 环境 webpack4.x + yarn 文件结构 . ├── dist / ...
- MyBatis小案例完善增强
https://blog.csdn.net/techbirds_bao/article/details/9233599 上链接为一个不错的Mybatis进阶博客 当你把握时间,时间与你为伍. 将上一个 ...
- 小程序全局状态管理,在页面中获取globalData和使用globalSetData
GitHub: https://github.com/WozHuang/mp-extend 主要目标 微信小程序官方没有提供类似vuex.redux全局状态管理的解决方案,但是在一个完整的项目中各组件 ...
- Vue小案例 之 商品管理------学习过滤器 使用过滤器处理日期的格式
代码学习过滤器 过滤器介绍:过滤模型数据,在数据显示前做预处理操作: 内置过滤器:在1.x中,Vue提供了内置过滤器,但是在2.x中已经完全废除: 解决办法: (1)使用第三方库来替代1.x中的内置过 ...
随机推荐
- 基于tensorflow使用全连接层函数实现多层神经网络并保存和读取模型
使用之前那个格式写法到后面层数多的话会很乱,所以编写了一个函数创建层,这样看起来可读性高点也更方便整理后期修改维护 #全连接层函数 def fcn_layer( inputs, #输入数据 input ...
- 区块链学习:Windows下搭建以太坊私有链环境
一:安装geth客户端 Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe问价,运行安装即可,下载地址如下: https://github. ...
- 微软职位内部推荐-Senior PM
微软近期Open的职位: Senior Product Manager My Life & Work Beijing China Our passion is to enable people ...
- 【MOOC EXP】Linux内核分析实验一报告
程涵 原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [反汇编一个简单的C程序] 实验 ...
- 第一Sprint阶段回复其他各组对我组提出的意见
组号 组名 组名 对我组提出的意见 对各组的回复 1 理财猫 1.虚拟机和手机端的交互是否能扩展到整个学校 2.每次都需要老师输入作业内容吗 3.操作过于繁琐 多谢你们的建议,老师可以选择输入 ...
- Beta阶段冲刺-3
一. 每日会议 1. 照片 2. 昨日完成工作 3. 今日完成工作 4. 工作中遇到的困难 杨晨露:组内图表部分遇到了问题,他们的问题一出来,我就头疼了......因为要调整计划时间,所以我觉得我的困 ...
- 【助教】浅析log4j的使用
有不少童鞋私信我一些在写代码时候遇到的问题,但是无法定位问题出在哪里,也没有日志记录,实际上,写日志是开发项目过程中很重要的一个环节,很多问题都可以从日志中找到根源,从而定位到出错位置,为解决问题提供 ...
- Week1个人作业
关于教材的疑问 阅读的教材<构建之法> 1第一章中提到:“软件企业=软件+商业模式”,这样的结构是否过于简单,尤其是在互联网+时代 2.在进行单元测试的时候,怎么做到100%覆盖 3.个人 ...
- Win2008r2 由ESXi 转换到 HyperV的处理过程
1. 大部分2008r2 采取了 windows loader的方式激活 这种方式 会导致hyperV 启动失败 因为他家在了错误的bios类型 所以第一步建议 使用windows loader 卸载 ...
- golang 实现线程池
package main import ( "fmt" "time" ) type Pool struct { Queue chan func() error; ...