9

移动商城项目总结

移动商城项目是我第二个做得比较大的项目,该项目系统来源于传智Java168期,十天的视频课程(想要视频的同学关注我的公众号就可以直接获取了)

通过这次的项目又再次开阔了我的视野,自己练习完我将项目的代码放到了GitHub中:https://github.com/ZhongFuCheng3y/Mobile-commerce-,同时在练习的过程中也用博文记录下来了,一共7篇。

该项目涉及到的知识:

  • SpringMVC(上传图片到服务器上,后台校验,拦截器)
  • Spring
  • Mybatis(逆向工程,动态SQL)
  • JSP,FreeMarker
  • JS组件(富文本编辑器)
  • Maven
  • AJAX
  • Oracle
  • WebService
  • 对象模型设计理解

写这篇博文的目的也是为了总结一下在这次项目中学到了什么东西,除了上面这些知识点大纲,还有很多实用的小技巧

  • 项目可以分成后台模块、前台模块(没必要写在一起),如果前台模块崩了,不会影响到后台模块。有必要建一个资源服务器(CDN)存放静态资源。为了做到一次构建、还使用了一个parent模块把它们管理起来
  • 使用Jersey调用API可以很方便将图片上传到服务器上,上传服务器的路径可能会经常用到,可以在配置文件写上,全站使用
  • 很有必要做前台和后台校验,前台校验为了更好的用户体验,后台校验防止恶意提交
  • 设置readonlydisabled属性都能够使前台无法修改,readonly能在后台获取具体的值,disabled属性在后台获取不了值
  • 当前台页面的要提交数据种类太多时(单选框、多选框、下拉框),由于我们页面上的数据都是通过SQL查询出来然后给页面展示的,那么我们可以换个思路:获取它们的id,判断它的录入类型(数据库字段)。遍历集合(从数据库查询出来的数据),如果id相同,说明在页面上被选中了
  • 使用jquery复制完一段样式时,name属性是一样的,如果该样式中需要提交数据,那么可以加入一个变量来进行区分,复制完之后使用正则表达式将不要的东西去掉就行了。
  • 使用AJAX来获取用户是否登陆是比较通用的做法(纯JS代码)
  • jquery的trigger方法能够用程序的方式来响应我们的事件
  • 使用静态化页面能够减少对数据库的访问,浏览速度会大大加快
  • 两台机器调用服务的问题,应该要想到WebService来进行解决。
  • 一些用户级别的数据(轻量)可以考虑存储在Cookie中。Cookie存储的是JSON值,可以通过JsonArray来对JSON和Java对象之间的转换
  • 如果我们的数据是在后台传过去或者转换而成的,在前台上并没有做什么改变的话。那么我们可以直接使用后台的数据来对其进行操作

如果SSM基础比较薄弱的同学可以先看我系列文章:

Mybatis:

Spring:

SSM整合与阅读项目:

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:Java3y

Java3y
12.9k 声望9.2k 粉丝