移动商城项目总结
移动商城项目是我第二个做得比较大的项目,该项目系统来源于传智Java168期,十天的视频课程(想要视频的同学关注我的公众号就可以直接获取了)
通过这次的项目又再次开阔了我的视野,自己练习完我将项目的代码放到了GitHub中:https://github.com/ZhongFuCheng3y/Mobile-commerce-,同时在练习的过程中也用博文记录下来了,一共7篇。
- 移动商城第一篇【搭建项目环境+数据模型】
- 移动商城第二篇(品牌管理模块)【文件上传、数据校验、CRUD】
- 移动商城第三篇(商品管理)【查询商品、添加商品】
- 移动商城第四篇(商品管理)【添加商品续篇、商品审核和上下架、前台展示、后台筛选】
- 移动商城第五篇(用户模块)【用户登陆、回显用户、拦截器、收货地址】
- 移动商城第六篇【单品查询、静态化页面】
- 移动商城第七篇【购物车增删改查、提交订单】
该项目涉及到的知识:
- SpringMVC(上传图片到服务器上,后台校验,拦截器)
- Spring
- Mybatis(逆向工程,动态SQL)
- JSP,FreeMarker
- JS组件(富文本编辑器)
- Maven
- AJAX
- Oracle
- WebService
- 对象模型设计理解
写这篇博文的目的也是为了总结一下在这次项目中学到了什么东西,除了上面这些知识点大纲,还有很多实用的小技巧:
- 项目可以分成后台模块、前台模块(没必要写在一起),如果前台模块崩了,不会影响到后台模块。有必要建一个资源服务器(CDN)存放静态资源。为了做到一次构建、还使用了一个parent模块把它们管理起来
- 使用
Jersey
调用API可以很方便将图片上传到服务器上,上传服务器的路径可能会经常用到,可以在配置文件写上,全站使用 - 很有必要做前台和后台校验,前台校验为了更好的用户体验,后台校验防止恶意提交
- 设置
readonly
和disabled
属性都能够使前台无法修改,readonly
能在后台获取具体的值,disabled
属性在后台获取不了值 - 当前台页面的要提交数据种类太多时(单选框、多选框、下拉框),由于我们页面上的数据都是通过SQL查询出来然后给页面展示的,那么我们可以换个思路:获取它们的id,判断它的录入类型(数据库字段)。遍历集合(从数据库查询出来的数据),如果id相同,说明在页面上被选中了
- 使用jquery复制完一段样式时,
name
属性是一样的,如果该样式中需要提交数据,那么可以加入一个变量来进行区分,复制完之后使用正则表达式将不要的东西去掉就行了。 - 使用AJAX来获取用户是否登陆是比较通用的做法(纯JS代码)
- jquery的
trigger
方法能够用程序的方式来响应我们的事件 - 使用静态化页面能够减少对数据库的访问,浏览速度会大大加快
- 两台机器调用服务的问题,应该要想到WebService来进行解决。
- 一些用户级别的数据(轻量)可以考虑存储在Cookie中。Cookie存储的是JSON值,可以通过JsonArray来对JSON和Java对象之间的转换
- 如果我们的数据是在后台传过去或者转换而成的,在前台上并没有做什么改变的话。那么我们可以直接使用后台的数据来对其进行操作
如果SSM基础比较薄弱的同学可以先看我系列文章:
Mybatis:
Spring:
- Spring入门这一篇就够了
- Spring【依赖注入】就是这么简单
- Spring【AOP模块】就这么简单
- Spring【DAO模块】知识要点
- SpringMVC入门就这么简单
- SpringMVC【开发Controller】详解
- SpringMVC【参数绑定、数据回显、文件上传】
- SpringMVC【校验器、统一处理异常、RESTful、拦截器】
- SpringBoot就是这么简单
- SpringData JPA就是这么简单
SSM整合与阅读项目:
如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y