移动商城项目是我第二个做得比较大的项目,该项目系统来源于传智Java168期,十天的视频课程(想要视频的同学关注我的公众号就可以直接获取了)
通过这次的项目又再次开阔了我的视野,自己练习完我将项目的代码放到了GitHub中: https://github.com/ZhongFuCheng3y/Mobile-commerce-
,同时在练习的过程中也用博文记录下来了,一共7篇。
该项目涉及到的知识:
-
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:
-
Mybatis【入门】
-
Mybatis【配置文件】
-
Mybatis【关联映射】
-
Mybatis【缓存、代理、逆向工程】
-
Mybatis【与Spring整合】
-
Mybatis面试题
Spring:
-
Spring入门这一篇就够了
-
Spring【依赖注入】就是这么简单
-
Spring【AOP模块】就这么简单
-
Spring【DAO模块】知识要点
-
SpringMVC入门就这么简单
-
SpringMVC【开发Controller】详解
-
SpringMVC【参数绑定、数据回显、文件上传】
-
SpringMVC【校验器、统一处理异常、RESTful、拦截器】
-
SpringBoot就是这么简单
-
SpringData JPA就是这么简单
SSM整合与阅读项目:
-
SSM【史上最详细整合】
-
Java高并发秒杀系统【观后总结】
-
阅读SSM项目之scm
如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以 关注微信公众号:Java3y
原文
http://zhongfucheng.bitcron.com/post/ssmxiang-mu/yi-dong-shang-cheng-xiang-mu-zong-jie