网络U盘项目总结
项目要求:
1.登录/注册页面
2.注册页面:注册成功进入登录页面,失败提示失败信息
3.登录成功进入主页面,展示该用户已经上传的文件信息,提供上传、下载、删除功能
4. 其他功能点:
4.1 关键信息加密(MD5技术)后存储到数据库,如:密码
4.2 普通用户只允许单文件上传,且文件大小不超过1M;VIP用户允许最多上传三个文件,单个文件大小不超过2M
4.3 事务管理器
4.4 权限验证:没有登录直接访问主页面则跳转回登录页面
具体实现:
1.搭建项目框架
1.1导入jar包
asm-3.3.1.jar
cglib-2.2.2.jar
com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.apache.commons.fileupload-1.2.0.jar
com.springsource.org.apache.commons.io-1.4.0.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
commons-logging-1.1.1.jar
jackson-annotations-2.5.0.jar
jackson-core-2.5.0.jar
jackson-databind-2.5.0.jar
javassist-3.17.1-GA.jar
junit-4.9.jar
log4j-1.2.17.jar
log4j-api-2.0-rc1.jar
log4j-core-2.0-rc1.jar
mybatis-3.2.7.jar
mybatis-spring-1.2.3.jar
mysql-connector-java-5.1.30.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
spring-aop-4.1.6.RELEASE.jar
spring-aspects-4.1.6.RELEASE.jar
spring-beans-4.1.6.RELEASE.jar
spring-context-4.1.6.RELEASE.jar
spring-context-support-4.1.6.RELEASE.jar
spring-core-4.1.6.RELEASE.jar
spring-expression-4.1.6.RELEASE.jar
spring-jdbc-4.1.6.RELEASE.jar
spring-orm-4.1.6.RELEASE.jar
spring-tx-4.1.6.RELEASE.jar
spring-web-4.1.6.RELEASE.jar
spring-webmvc-4.1.6.RELEASE.jar
2.创建框架
3.创建数据库表:
(1)用户信息表
create table user_info(uid int PRIMARY key auto_increment,
uname VARCHAR(10) not null,
upwd VARCHAR(30) not null,
utype int)
(2)用户类型表
create table user_type(tid int PRIMARY key auto_increment,
tname VARCHAR(10))
(3)文件信息表
create table file_info(fid int PRIMARY key auto_increment,
fname VARCHAR(10) not null,
fdate date,
fsize double(4,2),
fcode VARCHAR(32),
fpath VARCHAR(100),
uid int)
4.创建实体类
(1)FileInfo.java
(2)UserInfo.java
(3)UserType.java
5.功能实现:
5.1 进入注册页面:查询所有会员类型,以单选框类型展示到注册页面
请求url:http://localhost:8080/usb/usbDisk/toregister.do
控制层
service层
Mapper层:
前端jsp页面
页面展示:
5.2 注册:添加数据到user_info
控制器
service层
mapper层
5.3 登陆:根据用户名、密码查询数据,存储到session中
控制器:
service层
mapper层
5.4---文件列表:
通过io,可以获取到已经上传的文件信息(文件名、文件大小)
控制层
service层
mapper层:
页面展示:
5.5 上传文件:(普通用户每次上传一个文件、vip可以上传最多3个)上传到指定位置d:/用户名,添加数据库信息(上传记录)
前端jsp:
控制器;
service层:
mapper层;
5.6 下载文件:拼接fname+fpath,springMVC下载
控制层
5.7删除文件:删除指定位置的文件、删除数据库信息
控制器:
service层:
mapper层;
6.其他功能点:
6.1 关键信息加密(MD5技术)后存储到数据库,如:密码
工具类;
6.2 权限验证:没有登录直接访问主页面则跳转回登录页面
过滤器:
web.xml配置: