每日总结
一、项目分析,需要实现的功能
1、用户的注册(级别),另外判断用户名是否可用(是否存在,利用ajax技术完成),注册密码加密,以及注册的时候动态创建用户的专属文件夹
用户名不可用
用户名可用
校验用户名(控制层)
用户注册(控制层)
封装用户名校验的结果和响应消息(Message信息类)
2、登录,登录之后跳转一次查询,查询当前登录用户的文件,将查询到的信息存储到Session中(登录密码需要进行加密,这里使用MD5加密方式)
登录代码(控制层处理)
用户登录密码的加密,如果不处理,数据库中的密码是加密过后的,用户再输入原来的密码就无法登录了(业务层处理)
加密工具类代码:
在用户登录完成后进入文件列表主页面存在一个问题,如果链接(url)不小心被别人盗窃了,那么别人不用登录就可以对当前用户空间中的数据进行修改,不安全,需要配置拦截器
自定义监视器类
springmvc.xml中自定义拦截器的配置
3、文件的上传,下载,删除功能实现
A、上传,在上传的过程中需要注意的细节:
a、上传的时候判断用户类型,得到用户的上传空间总大小
b、计算出用户的剩余空间,以及此次上传文件的大小是否符合要求,最后判断出用户所属空间的剩余空间大小,最后完成文件上传功能操作,上传完成后跳转到查询页面进行展示当前用户的文件信息
b、下载,根据表中提取码下载文件信息(需要注意响应可能会出现中文乱码,需要进行设置)
c、删除(在删除页面):1.删除服务区中(当前用户专属空间)的文件,2.删除数据库的数据,删除功能完成后,跳转到查询页面
二、项目详情
1、数据分析、建库建表,创建java实体类
Fileinfo实体类
Userinfo实体类
2、applicationContext-mybatis.xml核心配置文件和applicationContext-service.xml核心配置文件
applicationContext-mybatis.xml
applicationContext-service.xml
3、Mapper.xml映射文件和Mapper层定义方法
UserinfoMapper接口
UserinfoMapper.xml
FileinfoMapper.xml
FileinfoMapper接口
4、springmvc.xml核心配置文件
自定义的异常类
5.业务层
FileinfoService业务层接口
FileinfoServiceImpl实现类
Userinfo业务层接口
Userinfo业务层实现类
6、Controller控制层
FileinfoController控制器
UserinfoController控制器
7、前台页面