基于Jsp的论坛设计与实现.docx_第1页
基于Jsp的论坛设计与实现.docx_第2页
基于Jsp的论坛设计与实现.docx_第3页
基于Jsp的论坛设计与实现.docx_第4页
基于Jsp的论坛设计与实现.docx_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学士学位毕业设计(论文)报告基于Jsp的论坛设计与实现【摘要】随着Internet技术的快速发展,人与人之间交流方式逐渐增多。网络聊天,博客已成为人们彼此沟通、交流信息的主要方式。此外为了方便大家在某一专业领域探讨问题和发表意见,网络上出现了在线论坛。在论坛上,人们可以对某一领域的问题提出自己的个人意见和遇到的问题,即发表某一主题,随后,在论坛上的其他人会根据自己的经验、学识发表意见或提出解决问题的方法。本论坛包括用户的注册登陆,用户信息的管理,生物特征识别论坛主体,上传,下载五大块儿功能,分别针对五大块进行功能的详细实现,本论坛的设计主要采用MyEclipse8.5工具结合使用oracle10g以及tomcat等技术的工作原理及特点,并以此理论技术依据阐述了基于java的生物特征识别论坛的设计与实现。【关键字】交流论坛;在线论坛;jsp;数据库BBS design and implementation based on JSPAbstract:With the rapid development of Internet technology, means communication between people is gradually increasing. Web chat, blog have become the main forms of exchanging information with each other. In addition, in order to provide everybody a professional field to discuss problems and make comments, the network appeared online BBS. In the BBS, people can put forward their own opinions and problems in the field, namely published a theme, then the rest of the forum,making comments or raise problem based on their knowledge and experience.This BBS include user regeister,log in, user information management,BBS communication part,upload,download this five parts. For five parts to realized the function, this BBS design mainly use MyEclipse8.5,oracle10g,tomcat software. This BBS of design and implementation based on Java.Key words:bbs;on-line bbs;database ;jsp; 目 录摘要IAbstract:II1 论坛的框架模型- 1 -1.1基于MVC体系结构模型- 1 -1.2访问数据库的原理- 1 -2 系统的分析- 3 -2.1系统的总体调查- 3 -2.2 系统的需求分析- 3 -2.3可行性分析- 3 -2.3.1技术可行性- 4 -2.3.2运行可行性分析- 4 -2.3.3经济可行性分析- 4 -2.3.4法律可行性分析- 4 -2.4系统开发工具- 4 -2.4.1开发工具简介- 4 -2.5开发设计思想- 5 -2.6功能分析- 5 -2.6 数据流程分析- 6 -3 系统的设计- 10 -3.1系统数据库设计- 10 -3.1.1 数据库需求描述- 10 -3.2系统数据库结构设计- 10 -3. 3 数据库逻辑结构的创建- 12 -3. 4 系统功能模块的设计- 14 -3.4.1注册模块设计- 14 -3.4.2登陆模块- 16 -3.4.3用户信息修改模块- 16 -3.4.4论坛主体模块- 17 -3.4.5上传资源模块- 18 -3.4.6下载资源模块- 19 -3.4.7管理员模块- 19 -4 系统的实现- 21 -4. 1 系统开发和运行环境选择- 21 -4. 2 系统界面的实现- 21 -5 系统的测试- 23 -5.1测试环境- 23 -5.2.1基本测试- 23 -5.2.2单元测试- 23 -5.2.3集成测试- 23 -5.2.4确认测试- 23 -5.3系统维护- 23 -5.3.1完善性维护- 23 -5.3.2适应性维护- 24 -6 总结- 25 -参考文献- 26 -致谢- 27 -III学士学位毕业设计(论文)报告南京审计学院信息科学学院1 论坛的框架模型1.1基于MVC体系结构模型MVC体系主要由三部分组成:Model层,View层, Controller层。使用 MVC 应用程序被分成三个核心部件:模型、视图、控制器。它们都是各自处理自己的任务。视图是用户看到的并与之交互的界面。对老式的 Web 应用程序来说, 视图就是由 HTML 元素组成的界面,在新式的 Web 应用程序中,HTML依旧在视图中扮演着重要角色,但如今一些新的技术层出不穷,它们包括 Macromedia Flash 和象 XHTML,XML/XSL,WML 等一些标识语言和 Web services。 如何处理应用程序界面变得越来越有挑战性。 MVC 一个最大的好处就是它能为你的应用程序处理很多不同的视图。在视图中其实并没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户进行操纵的方式。模型表示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用, 所以减少了代码的重复性。控制器接受用户的输入并调用模型和视图去完成用户的需求。 所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。 它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。MVC 的处理过程是:首先控制器接收用户的请求,并决定应该去调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据并通过表示层呈现给用户。1.2访问数据库的原理与数据库相连,有如下三种方式:jdbc;高级jdbc;jndi连接池。Jdbc方法相对简单想要连接一个数据库只需要两步来完成即在java类中配置数据库的用户名密码等然后将oracle10g的包放到项目中的lib里就可以完成,但是这样的局限性比较大用本地数据库是没有问题的,但是如果用远程数据库操作就会出现一些问题。高级JDBC可以说是jdbc的升级版其问题也跟jdbc相同。而jndi连接池的方式相对于jdbc就要放心的多虽然配置的方法较为繁琐但是它更加的安全而且可以通配不必在每一个项目中添加包而是在tomcat下添加,只有该项目用tomcat来启动那么就可以去使用jndi的方法去连接数据库了。这次的网站的设计主要就是应用jndi的方法将数据库进行连接的。2 系统的分析论坛的开发总是从分析开始,分析对整个系统的开发起着决定性作用,大致可分为网站的总体调查、需求功能的分析、系统可行性分析、数据流程分析和系统的性能要求五个方面。2.1系统的总体调查随着科学技术的飞速发展,社会已进入到信息化时代,计算机在社会各个方面都得到广泛应用,我们每天几乎都会与计算机接触,而许多的社交网站在网络上更是占据了很大的比重,有很多论坛出现在我们的视线中,怎样做好一个论坛是本次调查的重点目标。2.2 系统的需求分析通过调查,要求系统需要以下功能:1.要有良好的人机界面。2.对于用户信息管理模块可进行查询,修改,添加等操作。3.对于用户注册登陆模块要控制登陆以及登出后界面的跳转。4.论坛交流部分的发布。5.上传文件部分的配置。 6.下载部分的配置。2.3可行性分析可行性研究阶段的主要任务是在系统初步调查的基础上,对新系统是否能够实现和值得实现等问题做出判断,避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有任何实际意义而引起的浪费,对新系统可行性的分析,要求用最小的代价、在尽量短的时间内确定系统是否可以进行开发。2.3.1技术可行性生物特征识别论坛系统的开发是一项繁复的开发工程。为了保证网站系统的成功开发,必须采用系统的模型化的开发方法,并研究出一些符合工程化标准的开发方法。在本系统中采用了模块化设计方法,将模块功能逐层分解到最小化,然后逐层建立框架。这样既可以保证质量又降低了开发成本。本系统开发过程中,java作为开发语言,MyEclipse8.5作为开发工具,oracle10g 作为后台数据库。前期要先进行平台的搭建。需要安装并运行软件JDK,TOMCAT,MyEclipse8.5,oracle10g。下一步还要进行程序所需要的jar包的导入,主要有三个包需要配置在项目中,分别为:common-fileupload,common-io,oracle10g。前两个包用来实现文件的上传下载,后一个用来配置数据库。全部搭建成功后方可开发程序。2.3.2运行可行性分析 该系统主要面向对象为对人脸识别技术感兴趣的人群,该人群99%熟练掌握计算机的使用及操作技能,了解网站操作规范。因此本系统非常适合进行线上服务并给喜欢人脸识别技术的群体带来便利的服务。2.3.3经济可行性分析 本系统开发成本小,实用性强,适合进行线上服务。只需适量的招商便可以进行上线,运维方面成本较高。但目前不涉及次方面,不加以考量。2.3.4法律可行性分析 该系统的开发不涉及违背国家相关法律和对他人的知识产权构成侵权的问题,也不会涉及第三方的利益。该系统的开发在法律方面没有问题。通过以上的分析,开发本人脸识别论坛系统是完全可行的。2.4系统开发工具2.4.1开发工具简介主要开发工具有MyEclipse8.5,oracle10g1MyEclipse8.5MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库以及JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript ,Spring,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类: JavaEE模型、WEB开发工具、EJB开发工具、应用程序服务器的连接器、JavaEE项目部署服务、数据库服务、MyEclipse整合帮助。对于以上每一种功能的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简而言之,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。8.5版本集成了 Eclipse 3.5.2,提升了团队协作开发、开发周期管理以及Spring和Hibernate的更好支持。2. oracle10gOracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。作为大型数据库的一员,oracle数据库为用户操作提供了很多便利的插件,让用户在写SQL等语句的时候能够更加自如。2.5开发设计思想整个系统是在java环境下开发,数据库的创建使用oracle10g。个人可以申请注册并登陆到论坛中对自己的信息进行修改操作,登陆到论坛中与其他用户进行交流。可以上传资源以及下载资源。只有管理员有权限对论坛中的消息进行删除。2.6功能分析论坛系统给用户提供了一个发布资源和讨论问题的平台,该网站中,只有注册后才能登陆到论坛中,可以进行消息的发布,上传下载资源等操作。管理员登录之后,版主、消息进行添加、修改和删除的权利。根据这些可以了解到系统拥有以下功能:(1)用户注册只有注册为本站用户后才可以进行浏览网页等操作。注册的信息要填写:我的姓名,我的邮箱,性别,密码,再次输入密码,选择所在省市。姓名要长度验证字符验证以及输入姓名后右边会有显示的脚本编写,邮箱要进行邮箱格式的判断,姓名是单选按钮进行选择,密码为6位数字,再次输入的密码要与前一次的密码一致,省市要进行选择。(2)用户登录登陆时使用邮箱进行登陆在数据库中查找,输入密码正确后可以登陆。登陆后在上端始终显示用户名,如果登陆不成功可重新登陆或现在注册。(3)上传资源资源的上传记住上传的路径在最后一个“”后的改为该资源的名字,一io流放发存储到资源库中。(4)下载资源首先查看资源名称,在资源库中查找所有资源,将资源名打印到前台,点击资源名进行下载操作。(5)论坛部分如果数据库中没有过数据:登陆以后显示发布主题。如果数据库中有数据:登陆以后显示论坛主界面,将板块表中的数据全部输出,主版块数据显示在大标题子版块数据显示在主板快的下边,根据板块的ID链接到主题中,点击发布主题可以进行主题的发布,点击主题名称显示该主题下的所有帖子,可以回复主题,点击回贴链接到回帖页面,发布帖子。2.6 数据流程分析系统开发的模式:数据Dao层Servlet层前台jsp发出请求实现java类 Session传递数据 图2.6.1 系统开发模式图本系统的逻辑模型以系统的数据流程图为主要描述工具。数据流程图如下图所示:开始用户名及密码密码错误登陆普通人员管理员dateBase删除用户、留言等四大功能模块的各种操作结束图2.6.2 数据流程图图2.6.3 系统用例图(普通用户)图2.6.4 系统用例图(管理员)图2.6.5 注册登录类图3 系统的设计3.1系统数据库设计在系统的开发过程中,能否设计出一个好的数据库对系统的开发非常重要。数据库中的数据是整个系统的核心,怎样合理地进行信息建模和范式分解将直接影响整个数据库的运行效能。数据库系统的设计在完成功能的前提下,因力求逻辑关系简单,否则由于数据库表之间的连接操作会大大降低系统的性能。3.1.1 数据库需求描述(1)用户登录数据需求:包含的数据项有用户登陆名(邮箱)及密码; (2)注册用户数据需求:包含的数据项有用户名、性别、邮箱、密码、所在省、所在市、头像。(3)用户的基本信息数据需求:包含的数据项有昵称、家乡、所在地、学历、生日年、月、日、星座、公司名称、行业、职位、兴趣爱好、喜欢的音乐、喜欢的电影、喜欢的游戏、喜欢的动漫、喜欢的运动、喜欢的书籍、QQ、MSN、手机号、个人网站、我的邮箱。(4) 回复主题数据需求:包含的数据项有板块ID,版块名,父级板块ID,主题ID,主题名,内容,主题发布日期,回帖ID,回帖内容,回帖发布日期。3.2系统数据库结构设计根据系统需求,分析出系统主要的实体属性图和系统的ER图。用户名用户ID头像性别邮箱密码城市区用户注册信息表图3.2.1 用户注册表实体属性图用户ID手机号网站Qqmsn星座书籍学历行业职位爱好公司名称月年运动动漫音乐电影日昵称所在地用户其他信息表 图3.2.2 用户其他信息表实体属性图板块表板块ID板块名父级板块ID图3.2.3 板块表实体属性图主题表主题ID主题标题主题内容发布日期板块ID图3.2.4 主题表实体属性图回复表回复内容ID回复内容发布时间主题ID图3.2.5 回复表实体属性图3. 3 数据库逻辑结构的创建(1)用户注册登录表webuser表包含的列有用户ID、用户名、性别、邮箱、密码、所在省、所在市、头像。表1 webuser表列名中文描述数据类型是否为空userid用户IDVarchar2(50)Not nullusername用户名Varchar2(16)Not nullusersex性别Number(2)Not nullmail邮箱Varchar2(50)Not nullpassword密码Varchar2(20)Not nullcity城市Varchar2(16)Not nulltown区Varchar2(16)Not nullhead头像Varchar2(50)Notnull(2)用户的其他信息表userOthers包含的列有昵称、家乡、所在地、学历、生日年、月、日、星座、公司名称、行业、职位、兴趣爱好、喜欢的音乐、喜欢的电影、喜欢的游戏、喜欢的动漫、喜欢的运动、喜欢的书籍、QQ、MSN、手机号、个人网站、我的邮箱。表2 userother表列名中文描述数据类型是否为空nickname昵称varchar2(20)Notnulllive所在地varchar2(20)Notnullyears生日年number(4)Notnullmonths 月number(2)Notnull days 日 number(2)Notnullxingzuo星座varchar2(20)Notnullgraduate学历varchar2(20)Notnulljob行业 varchar2(50)Notnulldowhat职位varchar2(50)Notnullcompany公司名称varchar2(50)Notnullhobby兴趣爱好varchar2(20)Notnullmusic喜欢音乐varchar2(20)Notnullmovie喜欢电影varchar2(20)Notnullgame玩的游戏varchar2(20)Notnullcomic喜欢动漫varchar2(20)Notnullsport玩的运动varchar2(20)Notnullbook喜欢书籍varchar2(20)NotnullqqQqnumber(15)Notnullmsnmsnvarchar2(50)Notnullphone手机号number(15)Notnullwebsite个人网站varchar2(50)Notnulluserid用户IDvarchar2(50)Not null(3)板块表Board表包含的列有板块ID、版块名、父级板块ID表3 Board表列名中文描述数据类型是否为空BOARDID板块IDChar(36)NotnullBOARDNAME板块名varchar2(50)NotnullPARENTID父级板块IDChar(36)(4)主题表TOPIC表包含的列有主题ID、主题、内容、发布日期、板块ID表4 topic表列名中文描述数据类型是否为空TOPICID主题IDCHAR(36)not nullTITLE主题VARCHAR2(50)not nullCONTENT内容VARCHAR2(1000)not nullPUBLISHTIME发布日期DATEnot nullBOARDID板块IDCHAR(36)not null(5)回复表 Reply表包含的列有帖子回复ID、回复内容、帖子发布日期、主题ID表5 reply表列名中文描述数据类型是否为空REPLYID 回复IDCHAR(36)notnullCONTENT内容VARCHAR2(1000)notnullPUBLISHTIME发布日期DATEnotnullTOPICID主题IDCHAR(36)notnull3. 4 系统功能模块的设计人脸识别论坛系统用户注册登录用户信息修改资源上传资源下载论坛浏览发布帖子图4.1.1 系统模块图3.4.1注册模块设计注册模块的设计思路:注册模块主要完成用户的注册,在页面上进行输入后要进行格式等的判断,在判断成功后将数据传到后台去,通过后台将其传到数据库中保存。注册的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:注册界面有3个组成部分;第一部分是脚本语言的编写,第二部分是页面美化样式,第三部分是控件的使用。其中第一部分的脚本语言有图片切换的脚本方法:(1)图片切换脚本 主要是根据图片的Id来改变图片的显示属性把该图片设为显示其他图片设为不显示。(2)判断姓名 判断姓名不能为空,姓名的格式为4-10个字符,如果符合要求则打印标签“成功”,如果不符合要求则打印相应要求的标签。在姓名输入成功后鼠标离开会触发姓名在其它地方显示的事件。(3)判断密码 判断密码不能为空,密码的格式为6位数字字符,如果符合要求则打印标签“成功”,如果不符合要求则打印相应要求的标签。(4)判断再次输入的密码 再次输入的密码应与输入的密码一致,如果不一致会要求重新输入(5)判断邮箱 判断邮箱不能为空,判断邮箱格式,如果符合要求则打印标签“成功”,如果不符合要求则打印相应要求的标签。(6)城市下拉菜单 城市下拉菜单为页面表单onLoad方法中应用的方法,即页面一打开就会自动运行不需要触发事件。第二部分是页面美化样式,主要是背景图片生成以及表格嵌套。第三部分是控件的使用:姓名、邮箱、密码、确认密码为文本控件,性别为单选按钮,省市为下拉菜单,另外还有一些span标签的应用。2、后台类的编写首先要将用户注册表连接到系统中写webuser类,另外编写userdao类实现webuser类增删改查的方法。当前台输入成功后,跳转到loginServlet类中执行doRegister方法,在这个方法中先从界面取得各个控件的内容,然后实例化webuser类对象和userdao类方法再将页面内容set到各个列里面。从而实现将页面内容传递到数据库中这样一个过程。3.4.2登陆模块登陆模块设计思路:登陆模块主要实现用户的登陆,当用户输入正确的用户名密码以后成功登陆到论坛主体中去通过判断用户名来获知用户的权限,权限分两种,一个是普通用户另一个是管理员。普通用户与管理员登陆以后的界面是不相同的。登陆模块的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:登陆模块的前台由两个jsp界面组成。login.jsp/ Top.jsp。其中第一个页面负责登陆功能,由两部分组成:邮箱文本控件和密码文本控件。在该页面中时不需要进行格式等判断的。如果登陆成功跳转至主页,如果登陆不成功将进行重新登陆。另外在这个界面中还有一个广告脚本的应用。第二个页面top.jsp,如果用户登陆成功那么在该页面右上脚会显示用户名、登出选项以及包括主页上传下载等其他的链接操作。如果登陆不成功在右上角显示的是注册、登陆。 2、后台类的编写登陆模块与用户注册模块使用同一张表。当前台输入成功后,跳转到loginServlet类中执行doLogin方法,在这个方法中先从界面取得两个控件的内容,然后实例化webuser类对象和userdao类方法。用dao类中的根据邮箱和密码在数据库中查询的方法取得一个webuser类对象。如果该对象不为空则说明注册成功,那么生成一个session在top界面中取得这个session,并跳转到主页面。如果对象为空说明注册不成功。页面跳转至登陆界面重新登陆。3.4.3用户信息修改模块用户信息修改模块的设计思路:用户信息模块主要是可以修改一些除登陆表以外的信息,并将其存入数据中。用户信息修改模块的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:前台分为三个界面。查看用户信息界面和修改信息界面以及整体页面做边部分。查看用户界面信息有昵称、家乡、所在地、学历、生日年、月、日、星座、公司名称、行业、职位、兴趣爱好、喜欢的音乐、喜欢的电影、喜欢的游戏、喜欢的动漫、喜欢的运动、喜欢的书籍、QQ、MSN、手机号、个人网站、我的邮箱均为span标签从数据库中读取数据在界面上显示。修改信息界面昵称、家乡、生日年、月、日、星座、公司名称、行业、职位、兴趣爱好、喜欢的音乐、喜欢的电影、喜欢的游戏、喜欢的动漫、喜欢的运动、喜欢的书籍、QQ、MSN、手机号、个人网站、我的邮箱为文本输入框所在地、学历为下拉框。整体页面做边部分有头像以及少量信息的查询2、后台类的编写查询用户信息后台编写:点击编辑我的资料跳转至personservlet中的doview方法中。在该方法中将根据用户id得到的用户注册信息的session取得,如果有该用户那么再根据id查找userother中的数据传到userother这个session中界面再从这个session中取得数据并显示。修改用户信息后台编写:点击修改用户信息跳转至personservlet中的domodify方法。在该方法中先取得用户id,把界面上的信息逐个set到userother对象中在调用userdao中的修改用户信息方法。完成用户信息的修改。3.4.4论坛主体模块论坛主体模块的设计思路:论坛主体模块在用户登陆成功以后显示在中间部分,版块的显示设计是,主版块显示在上方下面是子版块,点击子版块跳转到主题中去,在进入主体以后显示该主题的留言。论坛主体模块的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:论坛主体模块的界面设计包括五个界面:index界面显示板块的标题,统计版块中的主题数,以及帖子数。点击版块名进入到board界面显示该板块中的主题,帖子数和主题的发布时间。点击主题进入该主题topiccontent界面显示该主题下的所有帖子。点击回帖进入回帖publishreply界面,添加帖子内容,自动添加回复帖子的时间。点击发布主题进入发布主题publishtopic界面,添加主题名和内容,自动添加新主题的时间。2、 后台类的编写在fram框架中绑定登陆成功以后下方中间部分为论坛部分。进入index.jsp首先实例化boarddao,topicdao,replydao三个类然后取出所有board表中的数据放到list中取出板块名,再根据版块id取出其子版块,并用count方法统计版块中的帖子数和主题数,用双层循环实现这个过程。点击版块名进入board.jsp界面用topicdao类中的根据版块id取得主题的方法来获得所有主题名,循环读出主题名,主题发布时间,统计的主题内帖子数。发布主题链接到publishTopic.jsp并将版块名作为参数传到页面中去,在页面输入内容后提交跳转到doTopicAdd.jsp并将版块名作为参数传过去把信息都set到topic表中如果主题已经存在则重新发布主题,如果数据库中没有该主题则跳转至版块board页面中。点击主题名进入topiccontent.jsp界面用topicdao类中的根据主题id取得主题的方法来获得主题内容,再根据主题id将取得的所有帖子放入list中,循环读出帖子内容,帖子发布时间,显示是第几条帖子。回复帖子链接到publishReply.jsp并将主题名作为参数传到页面中去,在页面输入内容后提交跳转到doReplyAdd.jsp并将主题名作为参数传过去把信息都set到reply表中如果帖子已经存在则重新发布帖子,如果数据库中没有该帖子则跳转至主题topiccontent页面中。3.4.5上传资源模块上传资源模块的设计思路:上传资源模块主要是后台中的内容,要判断是哪一个版块,不同的版块放在不同的文件夹中。上传资源模块的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:前台界面的设计较为简单,只需要有一个file控件找到文件以及文本控件添加描述。2、 后台类的编写在编写后台类之前要在项目中导入两个tomcat的jar包其中封装了file类以及IO操作的一些接口点击上传文件表单提交到FileUpLoadServlet中,设置文件的保存位置,判断上传的表单是不是上传文件表单,也就是form中是有enctype=multipart/form-data项,如果上传的表单时文件上传的,设置缓冲区大小,设置临时文件夹,设置最大文件大小,获取所有表单中的reqest,判断当前的表单控件是否是一个普通控件如果是文件控件,直接截取其路径的最后一个后的内容作为上传的文件名。 3.4.6下载资源模块下资源模块的设计思路:下载资源模块主要是后台中的内容,要判断是哪一个版块,不同的版块从不同的文件夹中读取。下载资源模块的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:前台界面的设计较为简单,需要设计一个跳转页面用于完成点击下载资源链接以后跳转至showfileservlet中,再由servlet跳转至showfile界面中显示所有文件名,点击文件名跳转到downloadservlet中。2、 后台类的编写 在showfileservlet和downloadservlet中仍然需要上传时导入的两个tomcat包。 Showfileservlet先确定下载资源位置在该系统中的位置为文件上传时的位置为D:/upload 然后声明集合存放目录下所有文件的文件名,判断文件夹是否存在并且是否是一个目录,获得目录中所有文件及目录如果是文件将文件名放入集合,返回一个名为fileList的session,跳转到showfile界面。 Downloadservlet中在doget方法中根据以下步骤来完成资源的下载工作:首先确定资源的位置,在该系统中的位置为文件上传时的位置为D:/upload,接着实现文件类根据路径找到下载的资源,如果文件存在设置响应类型及响应头,防止输出文件名乱码最后读取文件,最后释放资源。3.4.7管理员模块管理员模块的设计思路:管理员模块是通过判断登陆时的用户名和密码来登陆到不同的权限里面去,管理员要进行用户的删除以及帖子的删除工作。管理员模块的设计包括界面的设计以及后台代码设计两部分。1、前台界面的设计:管理员的主要功能有用户的删除以及帖子的删除两项。建立了用户删除页面在页面中循环显示用户名以及删除按钮,帖子的删除要先在页面上判断该用户是否为管理员,若果是管理员才显示删除按钮。2、 后台类的编写管理员的两项职能将分开描述:(1)用户删除功能在顶层显示top页面中判断用户权限如果用户是管理员的话原功能链接变为(用户管理|论坛管理)在后台类中主要是对WebUser类的方法进行扩充增加了查看所有用户方法和删除用户的方法,接着在PersonalServlet中有方法doshowBoard先判断用户是不是管理员,如过不是管理员在框架的right位置显示的论坛主体,如果是管理员在这个位置显示用户的管理页面并且生成查到的所有用户的session,在用户管理页面中通过调用该session来显示用户名。点击页面中的删除会跳转到dodelUser方法中去,该方法通过调用userdao类的删除用户的方法来实现用户的物理删除。(2)论坛帖子的删除同样的在页面中也要先进行权限的判断,如果是管理员才会显示删除按钮。点击删除按钮通过一个弹窗脚本来进行页面的跳转,跳转到doReplyDel.jsp中并将Replyid作为参数传过去,在该页面中来进行dao类方法的实现。4 系统的实现系统实现是系统开发的代码编写阶段,在这个阶段包括系统的界面实现、系统的数据库实现系统的后台代码实现、系统的测试和系统的维护。4. 1 系统开发和运行环境选择服务器端运行环境: win7系统,MyEclipse8.5,jdk,tomcat,oracle10g。客户端运行环境:win7系统,tomcat。4. 2 系统界面的实现该系统面向的最终用户是普通用户,本着用户操作界面友好、清晰、易于维护的原则来进行设计。4.2.1 用户注册界面,用户需找规则输入正确的信息方可完成注册图4.2.1.1 注册界面图4.2.2用户登陆界面,用户需输入正确的邮箱以及密码方可登陆成功图4.2.2 用户登陆界面图4.2.3用户主界面图4.2.3用户主界面图4.2.4管理员界面图4.2.4管理员界面图5 系统的测试主要模块设计及编码设计完成后,为了发现程序设计中的“Bug”和系统设计中的疏忽及遗漏,使系统能稳定运行,必须对系统进行严格测试和反复调试。测试方法如下:5.1测试环境win7系统,MyEclipse8.5,jdk,tomcat,oracle10g 5.2测试过程5.2.1基本测试用于测试系统基本功能的实现情况和系统是否存在设计错误。基本测试过程:用户登陆,输入错误的用户名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论