移动商城项目总结

移动商城项目是我第二个做得比较大的项目,该项目系统来源于传智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:

  • 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



更多相关文章

  1. 你知道Spring Boot项目是怎么启动的吗?
  2. 自学党/野生猿,项目经验上哪搞?
  3. 值得关注的 Vue.js开源项目[每日前端夜话0xFF]
  4. HTTPS 项目实战指南
  5. 状态机在移动端项目中的使用
  6. 请你介绍下所做的项目
  7. 连夜再整理几个开源项目:练手/毕设/私活都不愁了
  8. 再肝两夜,写了个「服务器项目部署」实战PDF手册
  9. 非功能性需求,不要成为项目的坑

随机推荐

  1. 在Paragraph标记中添加“名称”以使用POS
  2. 千呼万唤 HTML 5 (2) - 区块元素
  3. 从下拉列表中获取复选框的值
  4. 未捕获的ReferenceError:函数未定义,它标记
  5. 如何在metro javascript和html中读取和写
  6. 当侧面物品具有不同宽度时,保持中间物品居
  7. HTML5中Canvas画线技巧大全
  8. ie下不支持placeholder 用jquery来完成兼
  9. 控制Kendo UI Grid中的组顺序
  10. 如何在Javascript中插入HTML表体中的行?