功能模块:个人信息模块、商品模块、购物车模块、订单模块、系统安全模块。
模块功能: 个人信息模块:注册、登录、修改信息、用户注销。 商品模块:商品分类、商品检索、商品详细信息查看。 购物车模块:商品添加、移除、数量修改。 订单模块:订单生成、取消、删除。 系统安全模块:系统日志记录、用户权限操作、非Robot。
个人信息模块:
注册功能:用户注册时所填信息尽可能少,之后再进行完善。注册功能需要用邮箱进行验证。 验证成功后可以采用不同的登录方式。 注册所需字段:登录名、用户名、手机号、邮箱账号、邮箱验证码。(同意条款)
登录:账号可以是登录名、手机号、邮箱账号、登录时由系统自动判断登录方式,登陆成功后进入系统返回发起登录窗口的页面,登录失败则自行处理。
修改信息:用户的个人信息除了登录信息外,还包括收货地址的管理,一个用户可以拥有多个收获地址以及一个默认地址。除登录名不能修改,其他信息均可根据需要进行修改。
用户注销:用户点击了用户注销后,系统判断用户是否符合注销的条件,如果符合,则暂时冻结账户,用户有15天的恢复期,可以将账号恢复到正常状态,过了恢复期之后,系统会删除所有有关用户的信息。
商品模块:
一个商品有多个商品属性,多个商品所属分类,可以根据用户选择的条件进行模糊查询。用户可点击筛选出的商品进行详细查看。
购物车模块:
商品添加:用户在商品详情页面浏览商品后,可将商品添加到购物车。
商品移除:添加到购物车的商品用户可以点击移除按钮进行移除,多个商品可以多选移除,同时可以通过修改商品的数量,数量为0时自动删除。
商品数量修改:提供商品的加减,商品最多不能超过库存数量,最少可为0则移除商品。
订单模块:
订单生成:用户在购物车勾选商品后,点击确认订单生成订单,一个用户可以生成多个订单。
订单取消:在订单列表上,用户可以选择将订单取消,取消的订单仍显示在订单列表中。
订单删除:在订单列表上,用户可以将订单删除,删除后不再显示在订单列表。
Intellij IDEA进行开发
eshop采用maven构建项目,不需要手动导入jar包。 后端采用的Spring MVC、REST和Hibernate。
SpringMVC用于页面的跳转,Spring Rest用于返回json信息。
数据库层使用了Hibernate,Hibernate可以将数据库表映射为实体类。
通过注解的方式声明Spring bean,使用依赖反转实现一些类的注入。
Action有Spring MVC用于页面的跳转,同时使用了Model,将数据放在Model中,然后前端使用JSTL标签获取值。
前端与后端交互部分除了页面跳转部分,其他地方均用了jquery+ajax与后台交互,json作为传输的数据格式。
涉及文件上传的action部分后端使用了Spring MultiPart文件上传模块,将文件上传到文件系统。前端使用了ajaxfileupload插件。
系统安全验证使用了Spring security对用户权限进行控制,配置用户可以访问的地方。
注册时的验证码使用了Spring JavaMail发送电子邮件。