开发步骤

![A}YA`%BXFANWXI7953PPI8.png

MyBatis逆向工程生成mapper和pojo

MD5加密算法

  1. MD5(message-digest algorithm 5)信息摘要算法

它的长度一般是32位的16进制数字符串(如81dc9bdb52d04dc20036dbd8313ed055)

  1. 由于系统密码明文存储容易被黑客盗取
  2. 应用:注册时,将密码进行md5加密,存到数据库中,防止可以看到数据库数据的人恶意篡改。

登录时,将密码进行md5加密,与存储在数据库中加密过的密码进行比对

  1. md5不可逆,即没有对应的算法,从产生的md5值逆向得到原始数据。

但是可以使用暴力破解,这里的破解并非把摘要还原成原始数据,如暴力枚举法。

使用语法

image.png

登录功能的实现

Dao层

MyBatis逆向工程实现。

Service层

AdminService
image.png
AdminServiceImpl
思路分析:

  1. 根据传入的用户名到数据库中查询相应的对象
  2. 如果进行条件查询,则一定要创建AdminExample的对象,用来封装条件。
  3. 如果查询到对象进行密码比对

image.png

Controller层

思路分析:

  1. 实现登录判断,并跳转至相应页面。

image.png

商品管理功能的实现

不分页显示商品

Dao层

MyBatis逆向工程实现。

Service层

ProductInfoService
image.png
ProductInfoServiceImpl
image.png

Controller层

ProductInfoController
image.png

⭐添加分页功能

遇到的问题:
p38点到最后一页,再往后点不是跟老师一样回到第一页而是走的otherwise分支那个暂时没有符合条件的商品分支,已解决(但我用的后端)。

  1. 实现分页功能的思路分析

image.png

Dao层

MyBatis逆向工程实现。

service层

ProductInfoService
image.png
ProductInfoServiceImpl
image.png

Controller层

image.png

新增商品功能

难点:商品类别的实现——使用监听器
难点:springMVC监听器主要的作用就是spring容器启动的时候加载一些数据,最常用的功能就是开发权限系统的时候,当监听器启动的时候,从数据库加载权限url。

⭐显示商品类别(监听器实现)

Dao层

Mybatis逆向工程自动生成。

Service层

ProductTypeService
image.png
ProductTypeServiceImpl
image.png

Listener层

ProductTypeListener
image.png

前端

addproduct.jsp
image.png

Ajax图片上传功能

前端

image.png
image.png

工具类

  1. 为了使图片上传时自动生成文件名,使用工具类-FileNameUtil
  2. SpringMVC文件上传组件-CommonsMultipartResolver,极大的简化了之前文件上传的步骤.
    1. 在springmvc配置文件中设置

image.png

Controller层

image.png
P47