一个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中的内置过 ...
随机推荐
- NodeMCU学习(三) : 进入网络世界
把NodeMCU连接到路由器网络上 NodeMCU可以被配置为Station模式和softAP模式或者Station + AP模式,当它被配置为Station模式时,就可以去连接Access Poin ...
- PAT甲题题解-1055. The World's Richest (25)-终于遇见一个排序的不水题
题目简单,但解题的思路需要转换一下,按常规思路肯定超时,推荐~ 题意:给出n个人的姓名.年龄和拥有的钱,然后进行k次查询,输出年龄在[amin,amx]内的前m个最富有的人的信息.如果财富值相同就就先 ...
- 1092. To Buy or Not to Buy (20)-map
给出两个字符串,判断第二个字符串中的字符是否都出现在第一个中. 是,则输出Yes,以及多余的字符的个数. 否,则输出No,以及缺失的个数. #include <iostream> #inc ...
- 《Linux内核分析》 第四节 扒开系统调用的三层皮(上)
<Linux内核分析> 第四节 扒开系统调用的三层皮(上) 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com ...
- Android开发环境(发展演变)
初步接触android,要安装android开发工具时是使用eclipse,这是因为百度靠前的搜索项是eclipse来开 发android,而且那时还不知道android studio. 首先是下载配 ...
- 从零开始学Kotlin-基础语法(1)
从零开始学Kotlin基础篇系列文章 注释 //单行注释 /* 多行注释 */ /** * 多行注释 */ 定义变量/常量 变量定义:var 关键字 var <标识符> : <类型& ...
- Linux下使用NTFS格式移动硬盘
https://zhidao.baidu.com/question/66517344.html https://zhidao.baidu.com/question/586036510.html htt ...
- Docker(二十二)-Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Oracle与SQLSERVER修改数据文件的路径
1. SQLSERVER ALTER DATABASE CWBASEMSS modify file (name = cwbasemss_dat ,filename = 'c:\cwdata\mss\C ...
- OneZero第四周第四次站立会议(2016.4.14)
1. 时间: 15:00--15:10 共计10分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...