网络文件管理系统

网络文件管理系统(Struts+MySQL+JDBC

junjinkaka

2007-12-26

目的:通过构建网络文件系统,掌握在Eclipse下如何用Struts来开发一个Web工程

开发环境

1)  系统框架

JDBC

数据库服务器

Action

控制器

ActionServlet

视图

View

Web

模型

JavaBean

Struts框架

2)  系统的开发环境

u       开发平台:Eclipse 3.2

u       Web服务器:Tomcat5.5

u       系统框架:Struts+Jsp+JDBC,Struts的版本是Struts 1.2.9

u       数据库服务器:MySQL5.0

u       使用插件:TomcatPlugns

系统需求

一个完整的网络文件管理系统面向对象至少应该有管理员和用户,面向客户的提供的服务有注册、登录、用户信息管理、上传文件、下载文件、删除上传的文件、共享文件、发送站内消息、接手消息和备忘录等服务。面向管理员的提供登录和查询上传的文件的服务。

1)  用户模块

具有以下功能

l         注册帐户。用户登录是一个网络应用系统必须的功能之一。用户想要使用系统的功能就必须先拥有一个账户,因此要到系统中注册一个账户。用户在注册时系统要求用户输入用户注册信息,包括用户名、密码、确认密码、真实姓名、性别、联系电话和电子邮件等。如果用户名已经存在,则系统提示用户名已存在,请使用其它用户名。注册完以后,可以进行登录。

l         利用注册账户登录系统。登录要求用户输入用户名和口令。在输入用户名和口令后,系统将验证用户名和口令是否正确。如果验证成功,就使用户处于登录状态;否则,系统将显示用户名或密码错误的信息。

l         修改用户的账户信息。用户登录后可以随时修改个人的注册信息。

l         上传文件。用户可以通过系统把自己的文件上传到服务器。

l         共享文件。用户可以通过系统把自己的文件进行共享,以供其他用户下载。

l         删除文件。用户可以通过系统把上传的文件从用户空间中删除。

l         下载系统的共享文件。用户可以在系统中下载其他用户共享的文件。

l         发送站内消息。用户可以向站内的用户发送消息。

l         备忘录。系统还为用户提供了备忘录功能。

2)  管理员模块

具有以下功能

l         登录系统

l         查询文件

用户

数据库

管理员

删除文件

备忘录

 

注册

登录

站内消息

上传文件

下载文件

共享文件

查询文件

系统设计

1)  系统总体架构

视图层

控制层

模型层

JDBC

数据库层

2)  业务实体设计

根据前面的系统需求分析,本系统可以抽象出来的业务实体包括用户(client)、文件(clientfile)、管理员(admin)、用户空间(clientfilepace)、消息(clientmessage)、备忘录(clientremind)

 

 

                     

                   

                 关系数据模型图

3)  业务逻辑设计

a)         数据层设计

 编写数据层访问类DataStore,封装了 JDBC 基本的数据库操作CRUD,存放在包bit.ferry.db中。

b)        服务层设计

在服务层中主要的核心逻辑业务有:用户账户相关逻辑、文件操作相关逻辑和管理员的相关逻辑。因为本系统采用 Struts来构建框架,因此都是通过Struts 中的 ActionActonForm搭建起来的。而Struts是通过web.xml struts-config.xml配置文件来调度并完成各模块的功能。Web.xml文件是Web工程的配置文件,位于 WEB-INF目录下,在这个文件中将会对ServletStruts标签等进行初始化设置,并且对工程本身的一些属性进行配置。Struts-config.xml文件是Struts 框架的配置文件,位于WEB-INF目录下,在这个文件中将会对Struts中用到的控制器(Action)、视图(JSP)、模型(ActionForm)进行配置。

系统实现

1)  创建系统的视图

WEB-INF下创建admin.jsp,ManageFile.jsp,FileList.jsp,Register.jsp,RegisterSuccess.jsp,

Log.jsp,Logerror.jsp,Login.jsp,Modify.jsp,FileUpload.jsp,FileUploadSuccess.jsp,FileDelete.jsp,

FileShareFail.jsp,Share.jsp,AddRemind.jsp,RemindContent.jsp,RemindDeletefail.jsp,SendMessage.jsp,RemoveMessage.jsp,Exit.jsp.

2)创建系统的包

创建源文件夹src, 然后在src上创建包bit.ferry.actionbit.jeffy.businessbit.ferry.db

bit.ferry.personalbit.ferry.tags

3)创建系统的自定义标签

bit.ferry.tags下创建8个标签类:CampusNewsTag,ClientVisit, CreateNewCategory, InformaceTag,  MusicNewsTag, MyChooseViewTag, MyDateTag, MyShareFile,.

为了使用自己定义的标签类,还要在 WEB-INF下创建一个普通文件jeffy.tld

4)  用户注册功能创建

l         用户注册流程

返回注册结果

用户进入注册页面Register.jsp,输入

注册控制器RegisterAction调用业务类进行注册

调用DataStore注册

用户的注册功能

被调用

l         修改Register.jsp文件代码

l         建立注册模型RegesterBean

l         建立注册控制器RegisterAction

l         struts-config.xml中配置注册模型和注册控制器

5)  用户登录功能创建

l         用户登录流程

返回登录结果

用户进入登录页面Log.jsp,输入登录信息

登录控制器LogrAction验证用户的登录信息

调用DataStore

验证信息

用户的登录请求功能

被调用

l         修改Log.jsp文件代码

l         建立登陆模型UserBean

l         建立登录控制器LogAction

l         配置登录模型和控制器

6)用户修改信息

l         用户修改信息流程

在用户功能视图中,调用修改信息业务类

DataStore

ClientManagement

修改信息控制器

修改信息视图Modify.jsp提供修改表单

修改信息结果

被调用

修改信息表

选择修改信息功能

被调用

l         用户管理业务ClientManagement

l         修改Modify.jsp文件代码

l         建立修改信息模型ModifyBean

l         建立修改信息控制器ModifyActionModifySubmitAction

l         配置修改信息模型和控制器

7)  用户上传文件

l         上传文件流程

用户进入上传文件视图FileUpload.jsp填写上传文件表单

用户上传文件控制器FileUploadAction,

调用业务类上传文件

DataStore

上传文件结果

上传文件请求

被调用

 

l         修改FileUpload.jsp文件代码

l         建立上传文件模型FileUploadBean

l         建立上传文件控制器FileUploadAction

l         配置上传文件模型和控制器

8)  用户删除文件

l         删除文件流程

删除文件视图中调用删除文件业务类

删除文件控制器

FileDeleteAction

DataStore

删除文件结果

删除文件请求

被调用

文件管理业务类

ClientFileManagement提供删除文件的功能

被调用

l         文件管理业务ClientFileManagement

l         建立删除文件控制器FileDeleteAction

l         配置删除文件模型和控制器

9)  共享/撤销共享文件

l         共享/撤销共享文件流程

删除文件视图中调用文件管理业务类

共享/撤销共享文件控制器

FileShareAction

DataStore

共享/撤销共享 文件结果

共享/撤销共享文件请求

被调用

文件管理业务类

ClientFileManagement提供共享/撤销共享文件的功能

被调用

 

l         文件管理业务ClientFileManagement

l         建立共享控制器FileShareAction

l         配置共享控制器

10) 站内消息

l         使用消息功能流程

发送消息结果

删除消息请求

消息业务类ClientMessage提供发送消息、删除消息的功能

DataStore

发送消息请求

发送消息视图

SendMessage.jsp

用户消息功能视图

发送消息控制器SendMessageAction

删除消息结果

被调用

消息管理视图调用消息业务类提供发送、删除消息功能

删除消息控制器

RemoveMessageAction

被调用

l         站内消息业务ClientMessage

l         建立删除站内消息控制器RemoveMessageAction

l         配置删除消息控制器

l         修改SendMessage.jsp文件代码

l         创建发送消息模型MessageBean

l         创建发送消息控制器SendMessageAction

l         配置发送消息模型和控制器

11) 备忘录

l         使用备忘录流程

 

 

 

 

 

 

添加备忘录结果

删除备忘录请求

备忘录业务类ClientRemind提供添加和删除备忘录功能

DataStore

添加备忘录请求

发送消息视图

SendMessage.jsp

用户消息功能视图

添加备忘录控制器AddRemindAction

删除备忘录结果

被调用

备忘录管理视图调用备忘录业务类提供添加和删除备忘录功能

删除备忘录控制器

RemindDeleteAction

被调用

l         备忘录业务ClientRemind

l         创建删除记录的控制器RemindDeleteAction

l         配置删除记录的控制器

l         修改AddRermind.jsp文件代码

l         创建添加备忘录模型RemindBean

l         创建添加备忘录控制器AddRemindAction

l         配置添加备忘录模型和控制器

12) 管理员登录

l         管理员登录流程

管理员登录视图

admin.jsp输入登录信息

管理员登录控制器

AdminLogAction调用业务类验证登录信息

DataStore

返回登录结果

管理员登录请求

被调用

l         修改admin.sp文件代码

l         建立登录模型UserBean

l         建立管理员登录控制器AdminLogAction

l         配置管理员登录模型和控制器

13)管理员查询文件

l         管理员查询文件流程

管理员登录文件视图ManageFile.jsp

输入查询信息

管理员查询文件控制器

ManageFileAction调用业务类查询文件

DataStore

返回查询结果

管理员查询请求

被调用

查询结果视图FileList显示查询结果

l         修改ManageFile.jsp文件代码

l         创建查询模型SearchFileBean

l         创建查询控制器ManageFileAction

l         配置查询模型和控制器

总结

 本项目通过在Eclipse下使用Struts+JDBC+MySQL开发了一个简单的应用系统,掌握了从发出请求到接收请求、处理请求、再返回到用户视图中的MVC开发流程,并掌握如何进行配置。

不足

A.       MySQL中的中文显示问题

B.        没有考虑比较完备的安全策略和用户权限问题,关系数据模型进行了简化。

 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值