网络文件管理系统

本文介绍了一个基于Struts框架、MySQL数据库和JDBC技术的网络文件管理系统的设计与实现过程,涵盖了用户注册、登录、文件上传下载等功能。

网络文件管理系统(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的版本是Struts1.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.        没有考虑比较完备的安全策略和用户权限问题,关系数据模型进行了简化。

 
【资源说明】 1、该资源包括项目的全部源码下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于Jsp+Servlet+MySQL实现的会员管理系统源码+项目说明.zip ## Member Member是一个会员管理系统,为企业在自己的网站上吸引、管理自己的客户资源以及注册会员而开发,以此使企业与自己的用户建立良好的沟通与互动。 ----- ### 主要技术 JSP,Servlet,Java Bean,JDBC   前端:JQuery,EasyUI   数据库:MySQL ----- ### 功能 前台:完成登录,注册,查看个人信息、公告、交易明细,进行点卡冲值、下载资源、添加评论及相册等功能。 后台:查看会员信息以及对不同会员的分类管理。上传供下载的资源、发布公告、点卡生成等功能。 ----- ###部分演示 ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqxrbu0oj30n80bvq4z) ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqxcmzw2j30nn0b8dge) ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqx16dqhj30np0ajwf3) ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqu5ple4j30mi0b4jsn) ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqwg081lj30np0apwfd) ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqxhz3b7j30of0bsjta) ![](http://ww1.sinaimg.cn/large/006pWyi6gy1fdfqxmgnupj30o90b8q4i) ###开发周期 一周 ###负责模块 此项目由2个开发人员参与开发,本人负责Java编码以及使用EasyUI进行界面搭建和开发。 ###总结与收获 通过在短短一周实训时间开发完成了该项目,提高了快速定位并解决问题的能力,掌握了使用Java技术进行web开发的相关知识。
运行环境 操作系统:Windows XP。 Java平台:JDK 1.5。 Web服务器:Tomcat v 5.5.23,下载地址:http://tomcat.apache.org/。 数据库服务器MySQL v 5.0.45,下载地址:http://www.mysql.com/。 开发平台:Eclipse SDK v 3.2.2下载地址:http://www.eclipse.org/download/index.jspEclipse插件TomcatPlugins v 3.2.1,下载地址:http://www.eclipse-plugins.info/eclipse/index.jspEclipse插件ResourceBundleEditor v 0.7.7,下载地址:http://resourcebundleeditor.com/。 Eclipse插件MyEclipse v 5.5.1,下载地址:http://www.myeclipseide.com/ Spring 采用 2.0 版本 Hibernate 采用3.0版本 ====================================================== 请注意:如出现中文乱码,检查如下配置是否正确。 (1)MySql 数据库是否是utf-8 格式(在安装时选择支持多语言),数据是否正常。 (2)项目是否为utf-8格式(同时看看的源代码文件中,中文是否乱码)。 (3)JSP页面是否是utf-8 格式。 (4)在web.xml 是否配置了编码过滤器。 (5)数据源配置的url(?useUnicode=true&characterEncoding=UTF-8),具体请看项目实例。 如果上面5步都没问题,你就不存在中文乱码问题。 ====================================================== 数据库使用的是MySQL,其版本为5.0.45 版本。 数据库的用户名及密码均为root。 使用的时候,请参考附件数据库导入一节。或将需要用到的某章的数据库目录复制到“mysql安装根目录\data”文件夹下就可以了。 ★★★★★★★★★★★★★★★★★★★★★★★★★ 该实例来源下面这本书 《精通Java EE项目案例-基于Eclipse Spring Struts Hibernate》 本书下载链接,电驴,迅雷皆可 ed2k://|file|%E7%B2%BE%E9%80%9AJava.EE%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B-%E5%9F%BA%E4%BA%8EEclipse.Spring.Struts.Hibernate%E5%85%89%E7%9B%98%E6%BA%90%E7%A0%81.rar|70436209|475e7c3548acf955e89e378e760cf894|h=caud4x2auasf3pl2ln27e35fjw2jwxyb|/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值