46基于J2EE的金科BBS论坛的设计与实现【软件工程毕业论文设计说明书开题翻译PPT代码】.zip
收藏
资源目录
压缩包内文档预览:
编号:22640692
类型:共享资源
大小:12.72MB
格式:ZIP
上传时间:2019-10-23
上传人:小***
认证信息
个人认证
林**(实名认证)
福建
IP属地:福建
50
积分
- 关 键 词:
-
软件工程毕业论文设计说明书开题翻译PPT代码
- 资源描述:
-
46基于J2EE的金科BBS论坛的设计与实现【软件工程毕业论文设计说明书开题翻译PPT代码】.zip,软件工程毕业论文设计说明书开题翻译PPT代码
- 内容简介:
-
金陵科技学院,我们毕业啦 其实是答辩的标题地方,基于J2EE的金科BBS论坛的设计与实现,答辩人,指导老师,徐青,郭丽娟/阚文骥,论文绪论,相关技术,系统分析,设计实现,问题讨论,论文总结,CONTANTS,论文绪论,相关技术,系统分析,设计实现,问题讨论,论文总结,1992年底,随着互联网的发展,论坛系统BBS也随之流行并且不断发展。以前的BBS只能在本地访问,但是互联网的产生改变了这种状态。如今的BBS几乎可以被全世界的用户访问,这使得BBS变得更加具有吸引力。BBS最大的特点就是可以让很多的网友聚在一起探讨一些话题,意见与观点也可以被自由的分享,并且能与其他的网友实时地交流沟通非常便捷。,本系统存粹是个人的开发的,是一个很小的BBS网站。有的公司也有自己的门户网站,大型的,可以服务很多人的。比如一些公司的售后服务的网站其实就是一个BBS,用来更好地服务公司的顾客也好或者是公司的员工。还有的BBS它范围是在一个局限的环境里面,例如一个实验室,它的功能主要是方便工作。还有在学校里流行的BBS网站,学生可以在站内发表各种帖子,展示自己的才能。也可以通过学校的BBS网站结交更多的朋友。校园里的论坛网站已经是不断地发展着,规模也在不断的扩大,服务成千上万的学生和老师。,“,”,1,BBS可以提供丰富的网络学习资源。不得不说,有的偏向于学术类的BBS论坛里,有非常丰富的资料。这些资料有的是文字,有的是图片,有的是视频,格式众多。每一个注册用户都可以根据自己的兴趣或者必须的要求去论坛里寻找合适自己的资料。,BBS促进协作学习。任何用户都可以通过BBS和其他的网友进行沟通。他们可以互相讨论不论是生活中还是工作中的问题。面对同一个项目或者同一个工程,用户可以在BBS上探讨经验以及互相分享资源从而达到协作学习的效果。,2,提高学生自主学习能力。现在因为论坛的丰富的网络学习资源,这使得学习者能自由而且自主地选择和控制学习的地点,也可以自主选择自己喜欢的内容。这样使得人们的学习更加主动,因为人们学的将不会是觉得枯燥的东西,而是都是自身选的感兴趣的东西。长久以往,人们的自学的能力也将不断增强,积极性也有所提高。,3,论文绪论,相关技术,系统分析,设计实现,问题讨论,论文总结,研究内容。本系统制作的研究内容主要有:用户注册、用户发贴、贴文浏览、用户管理、板块管理、帖子管理。,论文绪论,相关技术,系统分析,设计实现,问题讨论,论文总结,论文绪论,相关技术,系统分析,设计实现,问题讨论,论文总结,J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。,分层模式就可以定义为:将解决方案的组件分隔到不同的层中。每一层中的组件应保持内聚性,并且应大致在同一抽象级别。每一层都应与它下面的各层保持松散耦合。 分层模式的关键点在于确定依赖:即通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。,JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。,论文绪论,相关技术,系统分析,设计实现,问题讨论,论文总结,相关技术,系统分析,设计实现,问题讨论,注册登录功能,针对服务器判定为游客身份的用户可以使用的功能。,修改个人信息,已登陆的注册用户可以在论坛中修改自己个人信息。包括账户、密码和手机号码等。,基本帖子操作,基本帖子操作功能包括浏览主题、发表主题、搜索主题和回帖。,论坛管理,这个功能主要是针对论坛的管理人员,例如超级管理员,这个功能所包含的内容有修改版块、编辑类别、修改权限、修改帖子、删除帖子、删除回帖和删除用户。,论文绪论,论文总结,主要是对项目的技术需求以及技术难度进行评价,利用计算机来实现网上交流信息。本系统的开发需要的Java、JavaBean、JSP以及Tomcat等技术已经非常成熟。作为一个本专业的正常大学生在掌握了这些技术或者部分技术完全能够自己开发这样的一个系统。数据库的获取以及数据库可视化的操作工具这些资源刻意轻易获取基本没有很大的阻碍。在对本系统进行需求分析以及技术的确定之后,借助计算机和网络能够运用这些技术,就完全可以设计出这样一个论坛网站。如今的科技日益发达,网络无处不在,我们能够获取到几乎所有的资源和技术来为开发这样的一个论坛系统做铺垫。所以从技术的角度来看也是十分可行的。,技术可行性,主要是对项目的经济效益进行评估与考虑,利用计算机来实现网上交流信息。开发能满足网上信息交流的平台是十分必要的,使其实现用户发帖,回帖等功能,能发表自己的观点以及和网友分享自己的经验和感悟。本系统在经济上是完全可以接受的,只需要用户在本地安装Web浏览器,登录论坛就可以浏览帖子并发表自己的意见。所以本系统在经济考虑是可以实行的。,经济可行性,相关技术,系统分析,设计实现,问题讨论,论文绪论,论文总结,相关技术,系统分析,设计实现,问题讨论,打开Tomcat后,运行index.jsp,找到登陆按钮并点击如图5.1所示:,点击登陆按钮,输入用户名和密码。前台的数据传到后台和数据库里的数据比对。,论文绪论,论文总结,图5.1 主界面图,相关技术,系统分析,设计实现,问题讨论,点击登陆会跳出新的页面,输入账户密码进行登陆。如图5.2所示:,论文绪论,论文总结,图5.2 登陆,相关技术,系统分析,设计实现,问题讨论,前台的数据和数据库里的数据相符合,登陆成功。登陆成功如图5.3所示:,论文绪论,论文总结,图5.3 管理员登陆界面,此时图中多了用户和个人中心两个栏位。因为本次是管理员登陆的所以会显示用户管理,并且右上角也显示了登陆者的账号。,相关技术,系统分析,设计实现,问题讨论,普通的用户user在登录了之后没出现有用户这一栏目,只有个人中心这一块。如图普通用户登录界面图5.4所示:,论文绪论,论文总结,图5.4普通用户登陆界面,相关技术,系统分析,设计实现,问题讨论,用户管理方面。管理员可以执行的功能一个是删除用户,采用逻辑删除,通过一个字段判断用户是否被删除。另一个功能是修改用户即修改用户的权限。如图5.5所示:,论文绪论,论文总结,图5.5用户管理界面,相关技术,系统分析,设计实现,问题讨论,修改和删除的界面分别如图5.6、5.7所示:,论文绪论,论文总结,图5.7 用户删除,图5.6 用户修改,相关技术,系统分析,设计实现,问题讨论,帖子版块包括:校园生活、学术天地、游戏人生、我要发帖,这几块。用户可以进入不同的版块发表不同主题的内容。界面图5.8论坛版块图如下:,论文绪论,论文总结,图5.8 论坛版块,相关技术,系统分析,设计实现,问题讨论,发帖的界面如下图5.9所示:,论文绪论,论文总结,图5.9 用户管理界面,问题讨论,设计实现,相关技术,系统分析,最上面的声明里面把字符改成UTF-8,JSP页面,这个文件server.xml在Tomcat的server文件夹里可以找到,配置文件,还有就是在后台的Servlet中声明Java代码用的字符编码格式。,Servlet,有一个名叫默认字符的选项,可以将其改成UTF-8,Eclipse,论文绪论,论文总结,问题讨论,设计实现,相关技术,系统分析,1,2,3,空指针异常,如果开发者访问或者修改一个对象不存在的字段时会报方法不存在的错误,NO.2,如果开发者调用一个不存在的对象会发生空指针异常错误,对象不存在,NO.1,字符串变量没有初始化,NO.3,论文绪论,论文总结,4,NO.4,接口类型的变量没有具体类的初始化,问题讨论,设计实现,相关技术,系统分析,论文总结,A,B,C,金科BBS论坛总体来说工作量比较大能够做得非常完善是不容易的。在今后的生活中,我会抽空再进一步完善金科BBS。,金科BBS,工作过程中,有许多的功能还没有完善,比如帖子的置顶和加精。还有许多的验证问题,比如设置自动获取验证码,敏感词汇的控制。时间如果充裕的话,敏感词汇的控制也能够得到实现。只需要在数据库中增加一个表,表里收集常见的敏感词汇。在用户开始注册的过程中,将注册用户名和数据库里的敏感词汇比对,若出现重合则注册不成功。,工作过程中,金科BBS论坛的设计和实现充分体现了分层架构的思想,将前台与后台分开,各司其职,有利于系统的维护和升级。 所用的相关技术也开阔了自己在web开发方面的视野,这使得对该方面有更明确的认识。,意义,论文绪论,PPT模板下载: 行业PPT模板: 节日PPT模板: PPT素材下载: PPT背景图片: PPT图表下载: 优秀PPT下载: PPT教程: Word教程: Excel教程: 资料下载: PPT课件下载: 范文下载: 试卷下载: 教案下载: PPT论坛:,THANKS,窗体顶端金 陵 科 技 学 院毕业设计(论文)选题、审题表学院软件工程学院出题教师姓名郭丽娟/阚文骥专 业软件工程职称助教/讲师申报题目名称基于J2EE的金科BBS论坛的设计与实现题目类型毕业设计毕业论文适用班级软件工程(服务外包)2班指定学生指定 未指定题目性质C题目来源ABCD题目简介随着IT技术的广泛应用以及电脑的普及,信息化时代早以来临。基于J2EE的金科BBS论坛的实现,可以帮助学生有一个友好交流、促进学习共同进步的平台。毕业设计(论文)要求(包括应具备的条件)应用java基础、html、css和jsp技术,实现BBS论坛的所有功能。使用个人电脑,windows平台,eclipse的软件和jre的环境实现BBS的功能。题目预计工作量大小大适中小题目预计难易程度难一般易所在专业审定意见:负责人: 2015年 月 日指定学生学号: 1205106100 姓名: 徐青 班级:软件工程(服务外包)2班注:涉及选择项,则打。选 题 要 求1、选题要符合专业培养目标,达到综合训练的基本要求。2、选题避免大而空,题目难度要适中,工作量大小合理,使学生在教师的指导下,经过努力在规定的时间内可以完成。 3、选题应尽量结合社会实践、生产、科研、实验室建设等任务,选择有现实价值和理论意义的课题。各专业结合社会生产实际类型的课题应占60%以上。4、坚持一人一题。对于工作量大的课题,可组织数名学生组成团队,协同攻关、分工设计(研究),但须明确每人1个子课题,或用副标题区别。子课题立足于大题,分别展开。明确每个学生须独立完成且能满足教学基本要求、使其受到全面综合训练的工作任务。 5、各专业毕业设计(论文)选题或内容更新率应大于30%。若选择老题,必须做到“老题新做”,要有新的内容和要求。填 表 说 明1、该表的填写只针对1名学生做毕业设计(论文)时选择使用,如同一课题由2名及2名以上同学选择,应在申报题目的名称上加以区别(加副标题),并且在“设计(论文)要求”一栏中加以体现。2、“题目性质”一栏:A工程设计 B理论研究类C软件工程(如CAI课题等) D实验研究类E文献型综述 F艺术设计类G案例研究类 H应用研究类I其它3、“题目来源”一栏:A结合社会生产实际 B教师课题C学生自拟 D其他4、“题目简介”一栏:主要指研究设计该题目的背景介绍及目的、意义。5、“设计(论文)要求(包括应具备的条件)”一栏:主要指本课题技术方面的要求,而“条件”指从事该课题必须应具备的基本条件(如仪器设备、场地、文献资料等)。毕 业 设 计(论 文)任 务 书1本毕业设计(论文)课题应达到的目的:本课题锻炼学生综合运用所学知识的能力,特别是编程开发能力,查阅、利用中英文文献的能力;利用所学程序设计语言,开发环境等知识完成基于JAVAEE的BBS论坛的设计与开发,并编程实现,锻炼学生综合分析问题、解决问题、编程的能力;通过论文的撰写锻炼学生按规范要求完成论文的能力。同时,通过在毕业设计期间来锻炼学生与讲师、同学之间合作与交流能力。2本毕业设计(论文)课题任务的内容和要求(包括原始数据、技术要求、工作要求等):一、课题内容随着计算机的广泛运用,英特网的迅速发展,各种论坛资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种论坛也紧跟着发展起来。学校内部的论坛相对来说比较缺乏,考虑到这一点。本次课程设计,主要针对的是学校内部,方便学生之间的交流学习之用的,小型的金科BBS论坛。二、课题要求基于JAVA语言实现、使用jsp和java bean进行代码编写,连接mysql数据库环境,编写基于JAVAEE的具有增删改查的金科BBS论坛。在毕业设计过程中学习相关的(中、英)技术文档,掌握现有的一种软件开发工具,根据设计模型进行相应的不同设计或选择,完成系统的开发,并在开发过程中解决遇到的问题,通过测试验证解决方案。总结和分析开发的过程,设计论文的结构,完成毕业论文的撰写。毕 业 设 计(论 文)任 务 书3对本毕业设计(论文)课题成果的要求包括图表、实物等硬件要求:毕业设计论文论坛功能介绍书一份其他毕业设计资料(开题报告、英文翻译、论文大纲等)4主要参考文献:1 (美)埃克尔. Java编程思想(第4版)M.陈昊鹏 译.北京:机械工业出版社.2007.2 曲培新.Java项目开发案例精粹M.北京:电子工业出版社,2010.3 陈会安. Java开发实战详解M.北京:人民邮电出版社,2013.4 吴亚峰.30天学通Java项目案例开发M.北京:电子工业出版社,2009.5 明日科技. JAVAEE从入门到精通M.北京:清华大学出版社,2012.6 郑萌. Java编程详解M.北京:电子工业出版社,2013.7 何泽恒,吕建波, 李建军. 基于 MYSQL数据库的信息系统优化设计J. 哈尔滨商业大学学报,20028 赵松涛. mysql 入门与提高M. 北京:人民邮电出版社,2002 9 王海亮,王海凤,张立民. Mysql编程指南M. 北京:中国水利水电出版社.200310 汪沁, 奚李峰.数据结构M. 北京:清华大学出版社.2009.11 牛玉霞. 基于JAVAEE平台开发方法的探究J.电子制作.2013-0812 何璇. 基于JAVA语言的web开发J. 计算机软件与应用.2011-08毕 业 设 计(论 文)任 务 书5本毕业设计(论文)课题工作进度计划:起讫日期工作内容2015.10.152015.11.251、查阅课题相关文献资料,撰写及修改开题报告,翻译专业原文资料;2、提交开题报告、翻译原文及译文给毕业设计指导教师审阅,由指导教师给出评语。2015.12.12016.3.261、在指导教师的具体指导下进行毕业设计创作,同时,学生拟定论文提纲;2、在2016年3月20日学生要提交基本完成的毕业设计创作成果以及文档的撰写提纲,作为中期检查的依据;3、提交中期课题完成情况报告给毕业设计指导教师审阅。2016.3.212016.4.201、在指导教师的指导下进行毕业设计文档撰写,同时撰写不少于2000字的软件使用说明书;2、毕业设计文档修改;3、在2015年4月20日为学生毕业设计文档定稿截止日。2016.4.212016.5.61、指导教师对学生的毕业设计以及文档进行评阅;2、评阅教师对学生的毕业设计以及文档进行评阅。2016.5.112016.5.18按答辩小组进行小组答辩;2016.5.192016.5.301、根据答辩情况修改毕业设计(论文)的相关材料,并在毕业设计(论文)管理系统中上传最终稿;2、按照归档要求装毕业设计(论文)资料袋,并上交指导老师处。所在专业审查意见:本任务书符合金陵科技学院本科毕业设计相关规定。负责人:_2015 年 10 月 29 日毕 业 设 计(论 文)开 题 报 告1结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写不少于1000字的文献综述:(1) 课题背景、意义及现状1.本课题的研究背景进入21世纪,计算机技术迅速向着网络化的、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。另一种,也是本毕业设计所采用的,是称为浏览器服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。 2.本课题的研究意义 当下,BBS在我们生活中的应用越来越广泛: 1、随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。每个网站几乎都拥有自己的BBS或者BBS链接,BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务。 2、论坛可以向网友提供开放性的分类专题讨论区服务,可以在此发表自己的某些观感、交流某些技术、经验乃至人生的感悟与忧欢,亦可以做为网友们之间的交流渠道,网站亦可在此回答网友们提出的问题或发布某些消息。通过论坛的方式,增强个人与个人,团体与团体,个人与团体之间的交流联系,在Internet上实现信息的传递,提高办事效率。因此论坛建设在Internet应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。 3、通过论坛更加快捷的了解企业员工的信息,而建立会员服务的基础是建系论坛管理系统!通过应用该系统可以实现用户与用户间的交流、企业与企业间的信息交互,利用网络经济而又快捷地与外界进行各种信息沟通,取得更有用的信息资源。4、随着互联网事业的蓬勃发展.BBS,这个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法. 3.研究现状1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(ComputerizedBulletinBoardSystem/Chicago),此乃最早的一套BBS系统。BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。大约是从1991年开始,国内开始有了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。到1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为两种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”二字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。(二)课题介绍1、本系统采用JAVAEE与SQLServer技术用作网站架设,选用MYSQL数据库及Windows7操作系统。本系统实现了SSH来实现注册时的用户名称唯一性验证和在后台管理时对用户的启用,禁用和密码重置等操作。2、本系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。3、本系统要具备数据库维护功能,及时根据用户及管理员的需求进行数据的更新操作。 参考文献: 1 (美)埃克尔. Java编程思想(第4版)M.陈昊鹏 译.北京:机械工业出版社.2007. 2 曲培新.Java项目开发案例精粹M.北京:电子工业出版社,2010. 3 吴亚峰.30天学通Java项目案例开发M.北京:电子工业出版社,2009. 4 郑萌. Android系统下Java编程详解M.北京:电子工业出版社,2013. 5 赵松涛. MYSQL 入门与提高M. 北京:人民邮电出版社,2002 6 汪沁, 奚李峰.数据结构M. 北京:清华大学出版社.2009. 7回相.BBS论坛J.网络与信息,2007,3:1012.8刘海燕.BBS论坛系统J.计算机与网络,2008,6:2326.9潘敏.国内外BBS论坛发展及管理比较研究J.思想理论教育导刊,2007,7:3335.10钟玉,阳昊,浅谈大学校园网BBS,益阳师专学报,2004年11月,P211刘冰,从BBS看校园网络文化对大学生学习的影响,现代远程教育研究,2005年2期,P3-412邵斐,基于Web的BBS系统的建立,金陵职业大学学报,2003年3月,P113胡百敬姚巧玫,ACCESS2003数据库开发详解,电子工业出版社,P25-3314陈宗兴.ACCESS2000程序设计M.北京:中国铁道出版社,1999,P43-4815王少锋,UML面向对象建模方法与技术,北京:清华大学出版社,2004.10,P55-120毕 业 设 计(论 文)开 题 报 告2本课题要研究或解决的问题和拟采用的研究手段(途径):(1) 拟研究或解决的问题 1.主要研究内容 了解html、框架、css,以便运用到系统当中。通过JavaEE编程,实现用户自定义界面,通过用户在界面上的操作,生成动态页面。 2.关键问题1) 开发工具问题:开发系统的编程工具的选择;2) 开发环境问题:需要搭建适合开发的计算机环境,这是成功开发的第一步;3) 技术问题:开发项目所需要的各种编程以及代码衔接技术问题;4) 系统性能问题:系统的性能的好坏决定了该系统的成功与否;5) 操作问题:项目完成后使用方法以及注意事项。 3.解决办法1) 选择一款灵活度好,功能强大的开发工具,可以节省很多的时间。2) 了解算法的运行步骤,以及其基本思想,会有效的减少系统调试的时间,可以多浏览网络上的研究报告,做到对要运用的BBS做法心中有数。3) 仔细搭建编程环境,保证环境的完整以及运行的流畅。4) 开发语言的的熟悉度决定了技术的高低,在已有的基础上,查阅大量的资料,和做大量的练习提高技术,争取一个良好的系统。5) 在选择合适的硬件设施条件下,系统性能方面主要靠增加系统数据的安全,减少系统的响应时间,让用户感觉到不像是在于一台机器在交流。6) 操作问题的解决需要靠用户文档来解决,且需要用户阅读文档的配合。(2) 拟采用的研究手段 1) 根据需求分析,收集关于BBS论坛研究的报告文献等材料。 2) 采用软件工程思想,构想出该系统的流程图,并画出要实现具体功能的模块图。 3) 以windows7 系统为运行平台,采用面向对象思想,实现各模块的具体功能。 4) 整个个性化界面的生成主要使用Java自带的界面风格设计库来实现,使本系统的稳定性、安全性和可移植性更加强大。 5) 通过软件测试技术,对该开发的系统进行性能、功能、稳定性等方面的测试。 6) 总结开发中的得失。毕 业 设 计(论 文)开 题 报 告指导教师意见:1对“文献综述”的评语:从文献综述的内容可以看出,该生以毕业设计课题为中心查阅了相关的基本资料,掌握了相关的基本知识。课题研究的主要方向和内容明确,研究的方法及措施基本可行。 2对本课题的深度、广度及工作量的意见和对设计(论文)结果预测:该课题广度和深度适中,工作量合适,在按计划进展的情况下,预计能够顺利完成毕业设计的任务。3.是否同意开题: 同意 不同意 指导教师: 2016年1月17日所在专业审查意见:负责人: 2016年2月24日Strutsan open-source MVC implementationMalcolm DavisThis article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology. Struts can help you control change in your Web project and promote specialization. Even if you never implement a system with Struts, you may get some ideas for your future servlets and JSP page implementation.IntroductionKids in grade school put HTML pages on the Internet. However, there is a monumental difference between a grade school page and a professionally developed Web site. The page designer (or HTML developer) must understand colors, the customer, product flow, page layout, browser compatibility, image creation, JavaScript, and more. Putting a great looking site together takes a lot of work, and most Java developers are more interested in creating a great looking object interface than a user interface. JavaServer Pages (JSP) technology provides the glue between the page designer and the Java developer. If you have worked on a large-scale Web application, you understand the term change. Model-View-Controller (MVC) is a design pattern put together to help control change. MVC decouples interface from business logic and data. Struts is an MVC implementation that uses Servlets 2.2 and JSP 1.1 tags, from the J2EE specifications, as part of the implementation. You may never implement a system with Struts, but looking at Struts may give you some ideas on your future Servlets and JSP implementations.Model-View-Controller (MVC)JSP tags solved only part of our problem. We still have issues with validation, flow control, and updating the state of the application. This is where MVC comes to the rescue. MVC helps resolve some of the issues with the single module approach by dividing the problem into three categories: Model The model contains the core of the applications functionality. The model encapsulates the state of the application. Sometimes the only functionality it contains is state. It knows nothing about the view or controller. ViewThe view provides the presentation of the model. It is the look of the application. The view can access the model getters, but it has no knowledge of the setters. In addition, it knows nothing about the controller. The view should be notified when changes to the model occur. ControllerThe controller reacts to the user input. It creates and sets the model. MVC Model 2The Web brought some unique challenges to software developers, most notably the stateless connection between the client and the server. This stateless behavior made it difficult for the model to notify the view of changes. On the Web, the browser has to re-query the server to discover modification to the state of the application.Another noticeable change is that the view uses different technology for implementation than the model or controller. Of course, we could use Java (or PERL, C/C+ or what ever) code to generate HTML. There are several disadvantages to that approach: Java programmers should develop services, not HTML. Changes to layout would require changes to code. Customers of the service should be able to create pages to meet their specific needs. The page designer isnt able to have direct involvement in page development. HTML embedded into code is ugly. For the Web, the classical form of MVC needed to change. Figure 4 displays the Web adaptation of MVC, also commonly known as MVC Model 2 or MVC 2. Struts details:Displayed in Figure 6 is a stripped-down UML diagram of the org.apache.struts.action package. Figure 6 shows the minimal relationships among ActionServlet (Controller), ActionForm (Form State), and Action (Model Wrapper). Figure 6. UML diagram of the relationship of the Command (ActionServlet) to the Model (Action & ActionForm)The ActionServlet class Do you remember the days of function mappings? You would map some input event to a pointer to a function. If you where slick, you would place the configuration information into a file and load the file at run time. Function pointer arrays were the good old days of structured programming in C. Life is better now that we have Java technology, XML, J2EE, and all that. The Struts Controller is a servlet that maps events (an event generally being an HTTP post) to classes. And guess what - the Controller uses a configuration file so you don_t have to hard-code the values. Life changes, but stays the same. ActionServlet is the Command part of the MVC implementation and is the core of the Framework. ActionServlet (Command) creates and uses Action, an ActionForm, and ActionForward. As mentioned earlier, the struts-config.xml file configures the Command. During the creation of the Web project, Action and ActionForm are extended to solve the specific problem space. The file struts-config.xml instructs ActionServlet on how to use the extended classes. There are several advantages to this approach: The entire logical flow of the application is in a hierarchical text file. This makes it easier to view and understand, especially with large applications. The page designer does not have to wade through Java code to understand the flow of the application. The Java developer does not need to recompile code when making flow changes. Command functionality can be added by extending ActionServlet.The ActionForm class ActionForm maintains the session state for the Web application. ActionForm is an abstract class that is sub-classed for each input form model. When I say input form model, I am saying ActionForm represents a general concept of data that is set or updated by a HTML form. For instance, you may have a UserActionForm that is set by an HTML Form. The Struts framework will: Check to see if a UserActionForm exists; if not, it will create an instance of the class. Struts will set the state of the UserActionForm using corresponding fields from the HttpServletRequest. No more dreadful request.getParameter() calls. For instance, the Struts framework will take fname from request stream and call UserActionForm.setFname(). The Struts framework updates the state of the UserActionForm before passing it to the business wrapper UserAction. Before passing it to the Action class, Struts will also conduct form state validation by calling the validation() method on UserActionForm. Note: This is not always wise to do. There might be ways of using UserActionForm in other pages or business objects, where the validation might be different. Validation of the state might be better in the UserAction class. The UserActionForm can be maintained at a session level. Notes: The struts-config.xml file controls which HTML form request maps to which ActionForm. Multiple requests can be mapped UserActionForm. UserActionForm can be mapped over multiple pages for things such as wizards. The Action class The Action class is a wrapper around the business logic. The purpose of Action class is to translate the HttpServletRequest to the business logic. To use Action, subclass and overwrite the process() method. The ActionServlet (Command) passes the parameterized classes to ActionForm using the perform() method. Again, no more dreadful request.getParameter() calls. By the time the event gets here, the input form data (or HTML form data) has already been translated out of the request stream and into an ActionForm class. Figure 4. MVC Model 2Struts, an MVC 2 implementationStruts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. This definition implies that Struts is a framework, rather than a library, but Struts also contains an extensive tag library and utility classes that work independently of the framework. Figure 5 displays an overview of Struts. Figure 5. Struts overviewStruts overview Client browser An HTTP request from the client browser creates an event. The Web container will respond with an HTTP response. Controller The Controller receives the request from the browser, and makes the decision where to send the request. With Struts, the Controller is a command design pattern implemented as a servlet. The struts-config.xml file configures the Controller. Business logic The business logic updates the state of the model and helps control the flow of the application. With Struts this is done with an Action class as a thin wrapper to the actual business logic. Model state The model represents the state of the application. The business objects update the application state. ActionForm bean represents the Model state at a session or request level, and not at a persistent level. The JSP file reads information from the ActionForm bean using JSP tags. View The view is simply a JSP file. There is no flow logic, no business logic, and no model information - just tags. Tags are one of the things that make Struts unique compared to other frameworks like Velocity. Note: Think thin when extending the Action class. The Action class should control the flow and not the logic of the application. By placing the business logic in a separate package or EJB, we allow flexibility and reuse.Another way of thinking about Action class is as the Adapter design pattern. The purpose of the Action is to Convert the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn_t otherwise because of incompatibility interface (from Design Patterns - Elements of Reusable OO Software by Gof). The client in this instance is the ActionServlet that knows nothing about our specific business class interface. Therefore, Struts provides a business interface it does understand, Action. By extending the Action, we make our business interface compatible with Struts business interface. (An interesting observation is that Action is a class and not an interface. Action started as an interface and changed into a class over time. Nothings perfect.) The Error classes The UML diagram (Figure 6) also included ActionError and ActionErrors. ActionError encapsulates an individual error message. ActionErrors is a container of ActionError classes that the View can access using tags. ActionErrors is Struts way of keeping up with a list of errors.Figure 7. UML diagram of the relationship of the Command (ActionServlet) to the Model (Action)The ActionMapping class An incoming event is normally in the form of an HTTP request, which the servlet Container turns into an HttpServletRequest. The Controller looks at the incoming event and dispatches the request to an Action class. The struts-config.xml determines what Action class the Controller calls. The struts-config.xml configuration information is translated into a set of ActionMapping, which are put into container of ActionMappings. (If you have not noticed it, classes that end with s are containers)The ActionMapping contains the knowledge of how a specific event maps to specific Actions. The ActionServlet (Command) passes the ActionMapping to the Action class via the perform() method. This allows Action to access the information to control flow.ActionMappings ActionMappings is a collection of ActionMapping objects.Struts pros Use of JSP tag mechanism The tag feature promotes reusable code and abstracts Java code from the JSP file. This feature allows nice integration into JSP-based development tools that allow authoring with tags. Tag library Why re-invent the wheel, or a tag library? If you cannot find something you need in the library, contribute. In addition, Struts provides a starting point if you are learning JSP tag technology. Open source You have all the advantages of open source, such as being able to see the code and having everyone else using the library reviewing the code. Many eyes make for great code review. Sample MVC implementation Struts offers some insight if you want to create your own MVC implementation. Manage the problem space Divide and conquer is a nice way of solving the problem and making the problem manageable. Of course, the sword cuts both ways. The problem is more complex and needs more management. Struts cons Youth Struts development is still in preliminary form. They are working toward releasing a version 1.0, but as with any 1.0 version, it does not provide all the bells and whistles. Change The framework is undergoing a rapid amount of change. A great deal of change has occurred between Struts 0.5 and 1.0. You may want to download the most current Struts nightly distributions, to avoid deprecated methods. In the last 6 months, I have seen the Struts library grow from 90K to over 270K. I had to modify my examples several times because of changes in Struts, and I am not going to guarantee my examples will work with the version of Struts you download. Correct level of abstraction Does Struts provide the correct level of abstraction? What is the proper level of abstraction for the page designer? That is the $64K question. Should we allow a page designer access to Java code in page development? Some frameworks like Velocity say no, and provide yet another language to learn for Web development. There is some validity to limiting Java code access in UI development. Most importantly, give a page designer a little bit of Java, and he will use a lot of Java. I saw this happen all the time in Microsoft ASP development. In ASP development, you were supposed to create COM objects and then write a little ASP script to glue it all together. Instead, the ASP developers would go crazy with ASP script. I would hear Why wait for a COM developer to create it when I can program it directly with VBScript? Struts helps limit the amount of Java code required in a JSP file via tag libraries. One such library is the Logic Tag, which manages conditional generation of output, but this does not prevent the UI developer from going nuts with Java code. Whatever type of framework you decide to use, you should understand the environment in which you are deploying and maintaining the framework. Of course, this task is easier said than done. Limited scope Struts is a Web-based MVC solution that is meant be implemented with HTML, JSP files, and servlets. J2EE application support Struts requires a servlet container that supports JSP 1.1 and Servlet 2.2 specifications. This alone will not solve all your install issues, unless you are using Tomcat 3.2. I have had a great deal of problems installing the library with Netscape iPlanet 6.0, which is supposedly the first J2EE-compliant application server. I recommend visiting the Struts User Mailing List archive (see Resources) when you run into problems. Complexity Separating the problem into parts introduces complexity. There is no question that some education will have to go on to understand Struts. With the constant changes occurring, this can be frustrating at times. Welcome to the Web. Where is. I could point out other issues, for instance, where are the client side validations, adaptable workflow, and dynamic strategy pattern for the controller? However, at this point, it is too easy to be a critic, and some of the issues are insignificant, or are reasonable for a 1.0 release. The way the Struts team goes at it, Struts might have these features by the time you read this article, or soon after. Future of StrutsThings change rapidly in this new age of software development. In less than 5 years, I have seen things go from cgi/perl, to ISAPI/NSAPI, to ASP with VB, and now Java and J2EE. Sun is working hard to adapt changes to the JSP/servlet architecture, just as they have in the past with the Java language and API. You can obtain drafts of the new JSP 1.2 and Servlet 2.3 specifications from the Sun Web site. Additionally, a standard tag library for JSP files is appearing. StrutsMVC 的一种开放源码实现Malcolm Davis本文介绍 Struts,它是使用 servlet 和 JavaServer Pages 技术的一种 Model-View-Controller 实现。Struts 可帮助您控制 Web 项目中的变化并提高专业化水平。尽管您可能永远不会用 Struts 实现一个系统,但您可以将其中的一些思想用于您以后的 servlet 和 JSP 网页的实现中。简介小学生也可以在因特网上发布 HTML 网页。但是,小学生的网页和专业开发的网站有质的区别。网页设计人员(或者 HTML 开发人员)必须理解颜色、用户、生产流程、网页布局、浏览器兼容性、图像创建和 JavaScript 等等。设计漂亮的网站需要做大量的工作,大多数 Java 开发人员更注重创建优美的对象接口,而不是用户界面。JavaServer Pages (JSP) 技术为网页设计人员和 Java 开发人员提供了一种联系钮带。如果您开发过大型 Web 应用程序,您就理解 变化 这个词的含义。“模型-视图-控制器”(MVC) 就是用来帮助您控制变化的一种设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合。Struts 是一种 MVC 实现,它将 Servlet 2.2 和 JSP 1.1 标记(属于 J2EE 规范)用作实现的一部分。尽管您可能永远不会用 Struts 实现一个系统,但了解一下 Struts 或许使您能将其中的一些思想用于您以后的 Servlet 的 JSP 实现中。 模型-视图-控制器 (MVC)JSP 标记只解决了部分问题。我们还得处理验证、流程控制和更新应用程序的状态等问题。这正是 MVC 发挥作用的地方。MVC 通过将问题分为三个类别来帮助解决单一模块方法所遇到的某些问题:Model(模型) 模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。 View(视图) 视图提供模型的表示。它是应用程序的 外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。 Controller(控制器) 控制器对用户的输入作出反应。它创建并设置模型。 MVC Model 2Web 向软件开发人员提出了一些特有的挑战,最明显的就是客户机和服务器的无状态连接。这种无状态行为使得模型很难将更改通知视图。在 Web 上,为了发现对应用程序状态的修改,浏览器必须重新查询服务器。另一个重大变化是实现视图所用的技术与实现模型或控制器的技术不同。当然,我们可以使用 Java(或者 PERL、C/C+ 或别的语言)代码生成 HTML。这种方法有几个缺点:Java 程序员应该开发服务,而不是 HTML。 更改布局时需要更改代码。 服务的用户应该能够创建网页来满足它们的特定需要。 网页设计人员不能直接参与网页开发。 嵌在代码中的 HTML 很难看。 对于 Web,需要修改标准的 MVC 形式。图 4 显示了 MVC 的 Web 改写版,通常也称为 MVC Model 2 或 MVC 2。图 4. MVC Model 2Struts,MVC 2 的一种实现Struts 是一组相互协作的类、servlet 和 JSP 标记,它们组成一个可重用的 MVC 2 设计。这个定义表示 Struts 是一个框架,而不是一个库,但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。图 5 显示了 Struts 的一个概览。图 5. Struts 概览Struts 概览Client browser(客户浏览器) 来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。 Controller(控制器) 控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。 struts-config.xml 文件配置控制器。 业务逻辑 业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。 Model(模型)的状态 模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。 View(视图) 视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 - 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。 详细分析 Struts图 6 显示的是 org.apache.struts.action 包的一个最简 UML 图。图 6 显示了 ActionServlet (Controller)、 ActionForm (Form State) 和 Action (Model Wrapper) 之间的最简关系。 图 6. Command (ActionServlet) 与 Model (Action & ActionForm) 之间的关系的 UML 图ActionServlet 类 您还记得函数映射的日子吗?在那时,您会将某些输入事件映射到一个函数指针上。如果您对此比较熟悉,您会将配置信息放入一个文件,并在运行时加载这个文件。函数指针数组曾经是用 C 语言进行结构化编程的很好方法。现在好多了,我们有了 Java 技术、XML、J2EE,等等。Struts 的控制器是将事件(事件通常是 HTTP post)映射到类的一个 servlet。正如您所料 - 控制器使用配置文件以使您不必对这些值进行硬编码。时代变了,但方法依旧。ActionServlet 是该 MVC 实现的 Command 部分,它是这一框架的核心。 ActionServlet (Command) 创建并使用 Action 、 ActionForm 和 ActionForward 。如前所述, struts-config.xml 文件配置该 Command。在创建 Web 项目时,您将扩展 Action 和 ActionForm 来解决特定的问题。文件 struts-config.xml 指示 ActionServlet 如何使用这些扩展的类。这种方法有几个优点: 应用程序的整个逻辑流程都存储在一个分层的文本文件中。这使得人们更容易查看和理解它,尤其是对于大型应用程序而言。 网页设计人员不必费力地阅读 Java 代码来理解应用程序的流程。 Java 开发人员也不必在更改流程以后重新编译代码。 可以通过扩展 ActionServlet 来添加 Command 功能。 ActionForm 类 ActionForm 维护 Web 应用程序的会话状态。 ActionForm 是一个抽象类,必须为每个输入表单模型创建该类的子类。当我说 输入表单模型 时,是指 ActionForm 表示的是由 HTML 表单设置或更新的一般意义上的数据。例如,您可能有一个由 HTML 表单设置的 UserActionForm 。Struts 框架将执行以下操作: 检查 UserActionForm 是否存在;如果不存在,它将创建该类的一个实例。 Struts 将使用 HttpServletRequest 中相应的域设置 UserActionForm 的状态。没有太多讨厌的 request.getParameter() 调用。例如,Struts 框架将从请求流中提取 fname ,并调用 UserActionForm.setFname() 。 Struts 框架在将 UserActionForm 传递给业务包装 UserAction 之前将更新它的状态。 在将它传递给 Action 类之前,Struts 还会对 UserActionForm 调用 validation() 方法进行表单状态验证。 注: 这并不总是明智之举。别的网页或业务可能使用 UserActionForm ,在这些地方,验证可能有所不同。在 UserAction 类
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。