论文部分内容阅读
中图分类号:TP311 文献标识码:A
摘要:本文提出了基于Struts+Spring +Hibernate的开发框架,实现网络硬盘系统的各功能模块,能够充分发挥三种框架各自的优势,提高系统的开发效率。
关键词:框架;文件上传;文件下载
1.引言
随着日益普及和网络技术的信息化建设的重视,一种新型的网络存储设备的诞生使网络的信息化更加的方便快捷,即在ftp的网络空间划分为每个小的空间提供给每个用户使用来存储信息,当然用户可以把资料信息传送到对应的网络空间上面,在需要的时候对文件进行下载或者删除文件夹的删除已经创建。本文所开发的网络硬盘系统要具备上述功能。
2.系统相关技术
本系统采用Struts2 + Hibernate + Spring 的方式实现,并且可细分为如下几个层次。
WEB层:该层主要包括Jsp页面、MVC中的“C”(Controller)。其中“C”就是Struts2中的Action类。在Action类中主要负责调用业务逻辑层的组件,并返回相应的结果(result)。
业务逻辑层(Service层):该层由若干接口和类组成。在本系统中业务逻辑层的接口后缀统一使用Service,如UserSerivce表示处理用户业务逻辑的接口。实现接口的类的命名原则是在接口名后面加Impl,如UserServiceImpl表示实现UserService接口的类。该层的接口和类需要在Spring中进行配置。
数据访问层(DAO层):该层和业务逻辑层类似,也是由若干个借口和若干个类组成。接口名的后缀是DAO,如UserDAO表示操作用户名的数据访问层接口。接口的事项类的命名规则是在接口名后加Impl,如UserDAOImpl表示实现UserDAO接口的类,在Spring中注入IOC进行配置。
持久对象层(PO层):该层由若干实现类组成,这些类需要在影射文件中配置,从上面的描述中可以看出,使用Struts2,Hibernater和Spring3个框架主要可以实现持久对象层、数据访问层、业务逻辑层和Controller。
3.系统的设计
3.1 系统功能模块设计
本系统是一个简单的网络硬盘系统,功能“网易网盘”类似。需要以下功能:
用户功能:(1)用户注册和登录;(2)、更新用户资料;(3)修改用户密码;(4)上传一个或多个文件;(5)下载文件和目录;(6)删除文件和目录;(7)查看使用空间大小。
管理员功能:(1)用户管理;(2)文件管理。
对于本系统中的下载文件和目录功能模块,需要考虑到如下所述情况:(1)下载单个文件:可以直接下载这个文件。(2)下载单个目录:需要将要下载的目录压缩成zip文件,再进行下载。Zip文件名就是要下载的目录名。(3)下载多个文件和目录:需要将下载的文件和目录压缩成zip文件,在进行下载。Zip文件名就是这些要下载的文件盒目录的父目录名,如果当前正处于根目录,则文件名为“网络硬盘根目录.zip”。
利用“删除文件和目录”功能在删除目录时,需要同时删除目录中的所有子目录和文件,并且删除数据库中的相应记录。
3.2 数据库设计
本系统所需要的数据实体有以下3个:
(1)用户数据实体:包括用户名、密码、重复密码、MD5加密的密码、性别、邮箱、联系电话、QQ号、验证码。
(2)目录数据实体:用于记录上传文件的目录基本信息,包括自动生成的ID属性、用户名、文件路径、文件父目录、绝对路径目录、目录创建时间。
(3)文件数据实体:用于记录上传文件的具体信息,包括自动生成的ID、文件所属用户名、文件名、文件路径、文件大小、上传时间、格式化后的时间。以上的3个实体都是基本的数据实体。作为网络硬盘系统,运行时候的支撑。
4.系统实现
本系统使用必须要先注册一个账号,方可使用网络硬盘功能,进入index.jsp页面,然后点击注册按钮进入注册页面。注册成功后,进入登陆页面,进行登录提交请求到:login_page.action。
本系统通过Strut2的拦截器增加了页面的访问权限。如果用户登录成功,系统会在服务器的HttpSession对象中保持一个标记。如果用户再次访问系统时,并且HttpSession对象未过期,则直接进入系统,而无需再次登录。
普通用户成功登陆后,进入网络硬盘的主界面,然后点击“个人管理”进入,然后点击“修改资料”进入修改编辑页面修改用户资料,然后点击“完成提交”进行修改资料。
用户使用系统时候会上传一个文件,或者多个文件,那么本系提供上传一个或多个文件的模块。方便用户使用。如图1,点击“上传”后,提示上传成功。上传文件时候页面提交一个请求upload_page.action。调用创建文件夹FileServiceImpl和相应的目录信息DirectoryServiceImpl和文件信息进入数据库目录表和文件表。
图1 上传文件
根据用户的需要,下载单个文件的时候直接下载给用户,如需要下载多个文件的时候,本系统会将多个文件打包成.zip格式的压缩包下载给用户。
本系统提供了给用户删除资料的功能,用户可以选择删除单独一个文件或者多个文件或者文件夹。当删除文件夹时候将该文件下所有的文件和文件夹删除。选择删除文件或文件点击“删除”会弹出提示图,点击“确定”后会出现删除成功提示。
管理员对于本系统注册的所以用户可以进行删除操作图,并且在删除用户的同时会把该用户的所有目录及文件全部删除掉。
对于每个系统而言,都需要维护,否则系统里面存在过多的垃圾文件的话将直接影响系统的使用性能,那么管理员可以查看出所有的文件的资料列表如图2,然后就可以对任意的文件进行删除操作。
摘要:本文提出了基于Struts+Spring +Hibernate的开发框架,实现网络硬盘系统的各功能模块,能够充分发挥三种框架各自的优势,提高系统的开发效率。
关键词:框架;文件上传;文件下载
1.引言
随着日益普及和网络技术的信息化建设的重视,一种新型的网络存储设备的诞生使网络的信息化更加的方便快捷,即在ftp的网络空间划分为每个小的空间提供给每个用户使用来存储信息,当然用户可以把资料信息传送到对应的网络空间上面,在需要的时候对文件进行下载或者删除文件夹的删除已经创建。本文所开发的网络硬盘系统要具备上述功能。
2.系统相关技术
本系统采用Struts2 + Hibernate + Spring 的方式实现,并且可细分为如下几个层次。
WEB层:该层主要包括Jsp页面、MVC中的“C”(Controller)。其中“C”就是Struts2中的Action类。在Action类中主要负责调用业务逻辑层的组件,并返回相应的结果(result)。
业务逻辑层(Service层):该层由若干接口和类组成。在本系统中业务逻辑层的接口后缀统一使用Service,如UserSerivce表示处理用户业务逻辑的接口。实现接口的类的命名原则是在接口名后面加Impl,如UserServiceImpl表示实现UserService接口的类。该层的接口和类需要在Spring中进行配置。
数据访问层(DAO层):该层和业务逻辑层类似,也是由若干个借口和若干个类组成。接口名的后缀是DAO,如UserDAO表示操作用户名的数据访问层接口。接口的事项类的命名规则是在接口名后加Impl,如UserDAOImpl表示实现UserDAO接口的类,在Spring中注入IOC进行配置。
持久对象层(PO层):该层由若干实现类组成,这些类需要在影射文件中配置,从上面的描述中可以看出,使用Struts2,Hibernater和Spring3个框架主要可以实现持久对象层、数据访问层、业务逻辑层和Controller。
3.系统的设计
3.1 系统功能模块设计
本系统是一个简单的网络硬盘系统,功能“网易网盘”类似。需要以下功能:
用户功能:(1)用户注册和登录;(2)、更新用户资料;(3)修改用户密码;(4)上传一个或多个文件;(5)下载文件和目录;(6)删除文件和目录;(7)查看使用空间大小。
管理员功能:(1)用户管理;(2)文件管理。
对于本系统中的下载文件和目录功能模块,需要考虑到如下所述情况:(1)下载单个文件:可以直接下载这个文件。(2)下载单个目录:需要将要下载的目录压缩成zip文件,再进行下载。Zip文件名就是要下载的目录名。(3)下载多个文件和目录:需要将下载的文件和目录压缩成zip文件,在进行下载。Zip文件名就是这些要下载的文件盒目录的父目录名,如果当前正处于根目录,则文件名为“网络硬盘根目录.zip”。
利用“删除文件和目录”功能在删除目录时,需要同时删除目录中的所有子目录和文件,并且删除数据库中的相应记录。
3.2 数据库设计
本系统所需要的数据实体有以下3个:
(1)用户数据实体:包括用户名、密码、重复密码、MD5加密的密码、性别、邮箱、联系电话、QQ号、验证码。
(2)目录数据实体:用于记录上传文件的目录基本信息,包括自动生成的ID属性、用户名、文件路径、文件父目录、绝对路径目录、目录创建时间。
(3)文件数据实体:用于记录上传文件的具体信息,包括自动生成的ID、文件所属用户名、文件名、文件路径、文件大小、上传时间、格式化后的时间。以上的3个实体都是基本的数据实体。作为网络硬盘系统,运行时候的支撑。
4.系统实现
本系统使用必须要先注册一个账号,方可使用网络硬盘功能,进入index.jsp页面,然后点击注册按钮进入注册页面。注册成功后,进入登陆页面,进行登录提交请求到:login_page.action。
本系统通过Strut2的拦截器增加了页面的访问权限。如果用户登录成功,系统会在服务器的HttpSession对象中保持一个标记。如果用户再次访问系统时,并且HttpSession对象未过期,则直接进入系统,而无需再次登录。
普通用户成功登陆后,进入网络硬盘的主界面,然后点击“个人管理”进入,然后点击“修改资料”进入修改编辑页面修改用户资料,然后点击“完成提交”进行修改资料。
用户使用系统时候会上传一个文件,或者多个文件,那么本系提供上传一个或多个文件的模块。方便用户使用。如图1,点击“上传”后,提示上传成功。上传文件时候页面提交一个请求upload_page.action。调用创建文件夹FileServiceImpl和相应的目录信息DirectoryServiceImpl和文件信息进入数据库目录表和文件表。
图1 上传文件
根据用户的需要,下载单个文件的时候直接下载给用户,如需要下载多个文件的时候,本系统会将多个文件打包成.zip格式的压缩包下载给用户。
本系统提供了给用户删除资料的功能,用户可以选择删除单独一个文件或者多个文件或者文件夹。当删除文件夹时候将该文件下所有的文件和文件夹删除。选择删除文件或文件点击“删除”会弹出提示图,点击“确定”后会出现删除成功提示。
管理员对于本系统注册的所以用户可以进行删除操作图,并且在删除用户的同时会把该用户的所有目录及文件全部删除掉。
对于每个系统而言,都需要维护,否则系统里面存在过多的垃圾文件的话将直接影响系统的使用性能,那么管理员可以查看出所有的文件的资料列表如图2,然后就可以对任意的文件进行删除操作。