基于ssh的java留言板系统_第1页
基于ssh的java留言板系统_第2页
基于ssh的java留言板系统_第3页
基于ssh的java留言板系统_第4页
基于ssh的java留言板系统_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)任务书毕业设计(论文)题目基于JAVA的留言板系统毕业设计(论文)要求及原始数据(资料)1综述国内外WEB留言版系统现状及开发背景;2深入了解留言板系统相关功能及实现方法;3熟练掌握JAVA语言,训练编写程序的能力;4设计并实现留言板系统;5深入分析留言板系统的关键技术与编写语言;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容1综述留言板系统的现状及开发背景;2了解JAVA留言板系统的相关功能;3简介开发中用到的相关技术;4熟悉JAVA语言的相关编写及应用;5深入分析留言板系统中的关键技术与编写语言JAVA的设计流程;6熟练掌握JAVA语言的编写;7设计与实现留言板系统,并进行测试。学生应交出的设计文件(论文)1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料)1王晓悦精通JAVAJDK、数据库系统开发、WEB开发M北京人民邮电出版社2007,3882陆惠恩陆培恩软件工程电子工业出版社,20093美PARTHAKUCHANA著,王卫军,楚宁志等译JAVA软件体系结构设计模式标准指南专著北京电子工业出版社,20064王小铭管理信息系统及其开发技术M修订版北京电子工业出版社,20125美PALLAVIJAINSHADABSIDDIQUI著J2EE专业项目实例开发王雷潘英等译中国水利水电出版社2007年1月6吴其庆著J2EE程序设计经典教程冶金工业出版社2006年2月7思志学著程序天下J2EE整合详解与典型案例电子工业出版社2008年1月8张新曼精通JSPWEB开发技术与典型应用M,北京人民邮电出版社,2008,516564。9高英张晓东SQLSERVER数据库应用系统与实例人民邮电出版社201210彭勇计算机网络基础与INTERNET应用M北京电子工业出版社,200911李兴华,王月清,JAVAWEB开发实战经典基础篇,清华大学出版社,2010812左天军,朱智林,韩俊刚,陈平JAVA动态类加载分析J计算机科学200504专业班级软件1021班学生要求设计(论文)工作起止日期2014年3月17日2014年6月27日指导教师签字日期2014年3月17日教研室主任审查签字日期系主任批准签字日期基于JAVA的留言板系统摘要留言板是一种在INTERNET网上开放的信息服务系统,互联网的产生使得以前只能在本地访问的留言板可以被全世界随意访问,这大大加大了人们对它的兴趣。、这种留言板与传统的留言板性质基本是一样的,但是它完善了传统留言板的很多缺点,如不能及时的回复留言,存储的信息量小,不易保存等弊端。而本系统的开发恰恰解决了这些缺点,可以做到信息量大、及时回复、上传附件等功能。近些年来,由于留言板爱好者们的努力,留言板的功能得到了很大的扩充,以后的发展会越来越好。本系统主要完成了基于JSP技术的留言板的设计和实现,主要实现了客户端和服务器端的动态交互。在留言板上大家可以进行交流,通过点击数及回复数可以排名最热主题,了解事实发生的最热事件,并且可以上传附件,发送图片,实现多渠道信息传递。本系统以JAVA为开发语言,在WEB环境下,基于B/S三层结构模式,以MYECLIPSE为开发工具结合开发的留言板WEB管理系统。本系统伸缩性好,扩展性强,能兼容、易维护、界面美观,功能实用。关键词留言板;JSP;网络THEMESSAGEBOARDSYSTEMBASEDONJAVAABSTRACTMESSAGEBOARDISANOPENONLINEINFORMATIONSERVICESYSTEMINTHEINTERNET,THEINTERNETMAKESTHEPREVIOUSGENERATIONOFLOCALACCESSONLYMESSAGEBOARDCANBEFREELYACCESSEDALLOVERTHEWORLD,WHICHGREATLYINCREASEDTHEINTERESTINIT,THISMESSAGEBOARDWITHTHETRADITIONALNATUREOFTHEMESSAGEBOARDISBASICALLYTHESAME,BUTITIMPROVEDTHELOTOFTHESHORTCOMINGSOFTRADITIONALMESSAGEBOARD,IFNOTPROMPTLYREPLYTOAMESSAGE,ASMALLAMOUNTOFINFORMATIONSTORED,DONOTKEEPSUCHPROBLEMSTHEDEVELOPMENTOFTHISSYSTEMISPRECISELYADDRESSESTHESESHORTCOMINGSCANBEINFORMATIVE,TIMELYREPLY,UPLOADATTACHMENTSANDOTHERFUNCTIONSINRECENTYEARS,DUETOTHEEFFORTSOFENTHUSIASTSMESSAGEBOARD,MESSAGEBOARDFUNCTIONALITYHASBEENGREATLYEXPANDED,FUTUREDEVELOPMENTWILLBEBETTERTHESYSTEMCOMPLETEDTHEDESIGNANDIMPLEMENTATIONOFJSPBASEDMESSAGEBOARD,THEMAINACHIEVEMENTOFTHEDYNAMICINTERACTIONBETWEENCLIENTANDSERVERINTHEMESSAGEBOARDWECANCOMMUNICATETHROUGHTHEHITSANDREPLIESCANRANKTHEHOTTESTTOPICSFORTHEHOTTESTEVENTOFOCCURRENCE,ANDCANUPLOADATTACHMENTS,SENDPICTURES,MULTICHANNELINFORMATIONDELIVERYTHESYSTEMWASDEVELOPEDINJAVALANGUAGEINWEBENVIRONMENT,BASEDONB/STHREETIERSTRUCTURE,WITHMYECLIPSEDEVELOPMENTTOOLSCOMBINEDWITHTHEDEVELOPMENTOFTHEMESSAGEBOARDWEBMANAGEMENTSYSTEMTHESYSTEMISGOODSCALABILITY,EXTENSIBILITY,COMPATIBLE,EASYTOMAINTAIN,BEAUTIFULINTERFACE,FUNCTIONALANDPRACTICALKEYWORDSMESSAGEBOARDJSPNETWORK目录摘要IABSTRACTII第1章绪论111系统开发背景112系统研究目的和意义113可行性分析1第2章技术简介321JSP322BROWSER/SERVER架构模式323J2EE424MYECLIPSE525SSH框架5第3章系统总体设计831系统功能模块分析832实体及总体ER图8321板块实体9322HEAD留言列实体9323USERINFO用户实体10324总体ER图1033数据库表设计11331BODY板块表11332HEAD留言列表11333USERINFO用户表1234数据流图分析12第4章系统实现1441系统概述1442系统页面实现14421系统首页实现15422用户注册页面17423登录页面的实现19424权限管理页面21425留言列表实现22426发帖页面实现24427修改用户信息的实现25第5章软件测试和调试2651测试目标2652测试原则2653测试的内容2654测试的重要性27结论28参考文献29致谢30外文31翻译38第1章绪论11系统开发背景网络已经非常普及了,我们的生活依然离不开网络,随着社会的信息化速度加快,人们已然不满足于上网仅仅是做些简单的交流,购物,游戏。在信息时代强烈的冲击下,在网络这个平台上不同地区不同年龄的人可以进行自由的交流,讨论,这是当下非常流行又十分有必要且值得推广的网络功能。留言板是一种在INTERNET网上开放的信息服务系统,互联网的产生使得以前只能在本地访问的留言板可以被全世界随意访问,这大大加大了人们对它的兴趣。本系统主要完成了基于JSP技术的留言板的设计和实现,主要实现了客户端和服务器端的动态交互。在留言板上大家可以进行交流,通过点击数及回复数可以排名最热主题,了解事实发生的最热事件,并且可以上传附件,发送图片,实现多渠道信息传递。目前,通过留言板系统可随时取得国际最新的软件及信息,以说是一种极为常见的交流互动服务系统。可以利用留言板系统来刊登一些启示,这是一种非常廉价的推广手段,而且这个平台就在我们身边。只需要1台计算机、1只调制解调器和1条电话线,就能够进入这个崭新的信息平台遨游12系统研究目的和意义留言板系统最初是为了给计算机爱好者提供一个互相交流的地方。70年代后期,计算机用户数目很少且用户之间相距很远。随着网络的普及,现在很多人都能够上网,所以基于网络的留言板也是各种学习资源组合的场所,可以很好的为学习者提供了学习交流环境。留言板的用户已经扩展到各行各业,除原先的计算机爱好者们外,内容也是越来越丰富,花样繁多,论坛也由此深受广大网民的喜爱。它向用户提供了一块公共电子白板,每个用户都可以在上面发布信息或提出看法,早期的留言板由教育机构或研究机构管理,现在多数网站上都建立了自己的留言板系统,供网民通过网络来结交更多的朋友,表达更多的想法。目前国内的留言板已经十分普遍。13可行性分析可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。我们将从以下三个方面进行研究技术可行性、经济可行性、操作可行性。1技术可行性技术可行性主要考虑我们手中的软硬件资源,以及技术条件是否能够保证我们完成开发任务。本系统采用JSP语言作为开发语言,JSP语言伸缩性强,具有强大的开发工具支持,又有系统的多平台支持,是十分合适的开发语言。本系统采用SQLSERVER数据库作为后台数据库,SQL数据库无论从安装,使用,操作上来说都非常简单方便,即使0基础去学习,也能在非常短时间上手。由此看来本系统软件的技术是可行。2经济可行性经济可行性指的是开发并应用本系统软件,应对于它的投资成本和在未来可能获得的经济利益,来进行权衡。系统运行需要的WEB服务器及数据库软件都是免费开源产品,可以从网络下载,不需要付费,开发本系统对计算机硬件几乎没有要求,现在的个人电脑完全满足其硬件需求。因此本系统的开发所涉及的软件及硬件需求都几乎零成本。当今的科学技术日新月异,导致计算机相关的硬件,软件价格不断下降。这使得家用机慢慢普及了。现在几乎每家都有一台个人电脑,因此本系统的用户群十分的庞大。零成本的开发加之开发完成后庞大的用户群,经过认真分析与调研,本系统经济上可行。3操作可行性本系统操作简单,交互界面直观,友善。本软件的使用者无需任何培训,学习,只要有一定的计算机操作经验就可完美使用本系统的所有功能。可以说本软件是面向每一位计算机使用者的。操作可行。4社会可行性本系统对社会无不良影响,符合法律道德,可行。第2章技术简介21JSPJSP是由SUNMICROSYSTEMS公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(HTM,HTML)中加入JAVA程序片段(SCRIPTLET)和JSP标签,就构成了JSP网页JAVA程序片段可以操纵数据库、重新定向网页以及发送EMAIL等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持JAVA,也可以访问JSP网页。JSP全名为JAVASERVERPAGES,其根本是一个简化的SERVLET设计,他实现了HTML语法中的JAVA扩张(以形式)。JSP与SERVLET一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP编程技术的优势在于(1)一次编写,到处运行。在这一点上JAVA比JSP更出色,除了系统软件之外,代码不用做任何更改。(2)系统软件的多平台支持。基本上可以在所有平人台上的任意环境中开发,在任意环境中进行系统软件部署,在任意环境中扩展。相比ASP/JSP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的JAR文件就可以运行SERVLET/JSP,到由多台服务器进行个集群和负载均衡,到多台APPLICATION进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个翻天覆地的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JAVASERVERPAGES是构建在SERVLET技术基础之个上的WEB动态页面技术,基于JAVA技术,由JSP特定标签、HTML标准标签及JAVA代码构成,将SERVLET与HTML进行分离,从而达的到了业务逻辑与表示的相对独立,加速了WEB应用的开发及页面维护。JSP具有就编写简单及无平台界限等是特点,广泛用于WEB应用的各个领域。22BROWSER/SERVER架构模式B/S结构(BROWSER/SERVER,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(BROWSER),如NETSCAPENAVIGATOR或INTERNETEXPLORER,服务器安装ORACLE、SYBASE、INFORMIX或SQLSERVER等数据库。浏览器通过WEBSERVER同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本TCO。图21B/S架构模式图21BS架构B/S架构下,客户端通过浏览器,以HTTP形式向WEBSERVER提出服务请求,WEBSERVER接收客户端请求,并根据不同都是的服务逻辑进行处理及访问相应的的数据库服务器,得到返回数据的结果,转化成相应的HTML形式,传递给客户端浏览器,进行显示。23J2EEJ2EE是JAVA2平台企业版(JAVA2PLATFORM,ENTERPRISEEDITION)J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE技术的基础就的是核心JAVA平台或JAVA2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的优点、方便存取就会数据库的JDBCAPI、CORBA技术以及能够在INTERNET应用中保护数据的安全模式等等,同时还提供了对EJB(ENTERPRISEJAVABEANS)、JAVAAPI、JSP(JAVASERVERPAGES)以及XML技术的全面支持。其最终目的水电就是做成为一个能够使企业斯德哥尔摩及个体开发者大幅缩短投放市场斯德哥尔摩时间的体系结构。J2EE体系结构提供中间层集成框架用来答辩满稍等足无需太多费用而又说得好需要高做的可用性、高可靠性在以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对稍等现有应用程序集成强有力支持,完全支持ENTERPRISEJAVABEANS,有良良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。24MYECLIPSEMYECLIPSE企业及个体级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE)是一个十分优秀的用于开发JAVA、J2EE的ECLIPSE插件集合,利用它我们占地方可以在数据库和J2EE的开发、发布,以及做的应用程序服务器的整合方面极大的提高做的工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,STRUTS,JSF,CSS,JAVASCRIPT,SQL,HIBERNATE。快速JAVAEE部署和测试项目自动部署和启动服务根据指定的调试和运行模式,自动配置项目和启电子版发动服务器;在现有的应发的用程序配置中可以重新配置;在配置前,自动停止运行的服务器。MYECLIPSE是一个十分优秀地方的用为于开发JAVA,J2EE的ECLIPSE插件集合,MYECLIPSE的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MYECLIPSE目前支持JAVASERVLET,AJAX,JSP,JSF,STRUTS,SPRING,HIBERNATE,EJB3,JDBC数据库链接工具等多项功能。可以说MYECLIPSE是几乎囊括了目前所有主流开源产品的专属ECLIPSE开发工具。1根据官方最新消息,MYECLIPSE2013已经正式发布MYECLIPSE20132支持HTML5、JQUERY和主流的JAVASCRIPT库。随着MYECLIPSE2013支持HTML5,你可以添加音频、视频和API元素到你的项目,从而为移动设备创建复杂的WEB应用程序。你甚至还可以通过HTML5可视化设计器设计令人难以置信的用户界面。同时,随着MYECLIPSE2013支持JQUERY,你可以通过插件提升性能,并添加动画效果到设计中。25SSH框架SSH在J2EE项目中表示了3种框架,即SPRINGSTRUTSHIBERNATE。STRUTS对MODEL,VIEW和CONTROLLER都提供了对应的组件。SPRING是一个轻量级的控制反转IOC和面向切面AOP的容器框架,它由RODJOHNSON创建。它是为了解决企业应用开发的复杂性而创建的。SPRING使用基本的JAVABEAN来完成以前只可能由EJB完成的事情。HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在SERVLET/JSP的WEB应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。1STRUTS框架结构STRUTS对MODEL,VIEW和CONTROLLER都提供了对应的组件。ACTION,这个类通常由用户提供,该控制器负责接收来自ACTIONSERVLET的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。MODEL部分由ACTIONFORM和JAVABEAN组成,其中ACTIONFORM用于封装用户的请求参数,封装成ACTIONFORM对象,该对象被ACTIONSERVLET转发给ACTION,ACTION根据ACTIONFORM里面的请求参数处理用户的请求。JAVABEAN则封装了底层的业务逻辑,包括数据库访问等。VIEW部分该部分采用JSP实现。STRUTS提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与MODEL的有效交互,并增加了现实功能。对应上图的JSP部分。CONTROLLER组件CONTROLLER组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ACTIONSERVLET。该控制器由STRUTS框架提供,继承HTTPSERVLET类,因此可以配置成标注的SERVLET。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用MODEL来完成处理。对应ACTION部分。2SPRING1简介目的解决企业应用开发的复杂性功能使用基本的JAVABEAN代替EJB,并提供了更多的企业应用功能范围任何JAVA应用简单来说,SPRING是一个轻量级的控制反转IOC和面向切面AOP的容器框架。2轻量从大小与开销两方面而言SPRING都是轻量的。完整的SPRING框架可以在一个大小只有1MB多的JAR文件里发布。并且SPRING所需的处理开销也是微不足道的。此外,SPRING是非侵入式的典型地,SPRING应用中的对象不依赖于SPRING的特定类。3控制反转SPRING通过一种称作控制反转(IOC)的技术促进了松耦合。当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IOC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。4面向切面SPRING提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(AUDITING)和事务(TRANSACTION)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。5容器SPRING包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个BEAN如何被创建基于一个可配置原型(PROTOTYPE),你的BEAN可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,SPRING不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。6框架SPRING可以将简单的组件配置、组合成为复杂的应用。在SPRING中,应用对象被声明式地组合,典型地是在一个XML文件里。SPRING也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有SPRING的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为SPRING中的各种模块提供了基础支持。3HIBERNATE简介HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。HIBERNATE的核心接口一共有5个,分别为SESSION、SESSIONFACTORY、TRANSACTION、QUERY和CONFIGURATION。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。1SESSION接口SESSION接口负责执行被持久化对象的CRUD操作CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。但需要注意的是SESSION对象是非线程安全的。同时,HIBERNATE的SESSION不同于JSP应用中的HTTPSESSION。这里当使用SESSION这个术语时,其实指的是HIBERNATE中的SESSION,而以后会将HTTPSESION对象称为用户SESSION。2SESSIONFACTORY接口SESSIONFACTORY接口负责初始化HIBERNATE。它充当数据存储源的代理,并负责创建SESSION对象。这里用到了工厂模式。需要注意的是SESSIONFACTORY并不是轻量级的,因为一般情况下,一个项目通常只需要一个SESSIONFACTORY就够,当需要操作多个数据库时,可以为每个数据库指定一个SESSIONFACTORY。3CONFIGURATION接口CONFIGURATION接口负责配置并启动HIBERNATE,创建SESSIONFACTORY对象。在HIBERNATE的启动的过程中,CONFIGURATION类的实例首先定位映射文档位置、读取配置,然后创建SESSIONFACTORY对象。4TRANSACTION接口TRANSACTION接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。5QUERY和CRITERIA接口QUERY和CRITERIA接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。第3章系统总体设计本部分主要对系统进行轮廓性设计,定义主要技术结构以及实现方案,旨在给出开发过程中的所有技术要点,是开发人员在下一阶段进行详细设计的指导性文件。本软件面对人群不单一,有计算机技术强的人群,也有刚刚接触计算机的人群,为了满足所有人的需求与使用,本系统将更加着眼于实用性而非技术性,旨在做出最适用的系统。31系统功能模块分析本系统为留言板系统,考虑到用户的适用需求及对系统的管理条件,将系统分为两个权限,管理员与用户。对各权限进行分析,用户拟实现注册、登录、查看、搜索、发布、回复帖子,修改个人信息等功能。管理员拟登录、查看、搜索、发布、回复、删除、置顶、修改帖子,并且实现对注册用户的审核功能。32实体及总体ER图ER图也称实体联系图ENTITYRELATIONSHIPDIAGRAM,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。ER方法是“实体联系方法”(ENTITYRELATIONSHIPAPPROACH)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(11,1N或MN)。ER图包含以下四个成分矩形框表示实体,在框中记入实体名。菱形框表示联系,在框中记入联系名。椭圆形框表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。连线实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1;对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。针对本系统特点,数据库设计采用的各个组成部分的数据项和数据结构如下所示321板块实体BODY板块实体如下图31所示图31BODY板块实体322HEAD留言列实体HEAD留言列实体如下图32所示图32HEAD留言列实体323USERINFO用户实体USERINFO用户实体如下图33所示图33USERINFO用户实体324总体ER图系统总体ER图如下图34所示图34总体ER图33数据库表设计数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。数据库技术是资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统软件,有效存储数据,满足用户资源要求和处理要求。根据实体设计,建表如下331BODY板块表板块表主要存储板块ID、作者姓名、创建时间、内容、附件信息,如表31所示表31BODY板块表名称数据类型备注BIDINT板块ID(主键)BNAMEVARCHAR20作者姓名BTIMEDATETIME创建时间BCONTENTSTEXT内容BUPLOADFILEVARCHAR200附件332HEAD留言列表留言列表主要存储标题、内容、附件、作者、创建时间、查看数量、读帖条件信息,如表32所示表32HEAD留言列表名称数据类型备注HIDINT留言编号(主键)HTITLEVARCHAR20标题HCONTENTTEXT内容HUPLOADFILEVARCHAR200附件HNAMEVARCHAR20作者HTIMEDATETIME创建时间HREADCOUNTNUMERIC18,0查看数量HCONDITIONINT读帖条件333USERINFO用户表用户表主要存储用户ID、密码、权限、用户名、审核、回复信息,具体如表33所示表33USERINFO用户表名称数据类型备注UIDINT用户编号(主键)IDVARCHAR20用户IDUPASSWDVARCHAR20密码UPERMISSIONSINT权限UNAMEVARCHAR20用户名UENABLEINT审核UREMARKVARCHAR200回复34数据流图分析数据流图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流图具有以下两个特性数据流图由以下四种基本元素组成,既外部实体、数据流、处理(功能)、数据存储等,数据流图中所用的符号如图34所示外部实体处理数据流数据存储图34符号图留言板系统的数据流程图如图35所示。用户查看帖子P2F1上传文件P3回复帖子P1发表帖子P4搜索帖子P5用户注册F2权限管理P6资料修改132455678910111213图35数据流程图第4章系统实现41系统概述本系统以JAVA为开发语言,在WEB环境下,基于B/S三层结构模式,以MYECLIPSE为开发工具结合开发的留言板WEB管理系统。这个系统具有伸缩性好,扩展性强,能兼容、易维护、界面美观,功能实用的功能。通过本系统,可以让人们实现实时在线留言交流,真正做到信息资料的共享,也可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法42系统页面实现本系统分为两个权限,即管理员权限与用户权限。管理员功能模块图如下图41所示管理员功能模块发表帖子查看回复搜索贴子置顶删除查看回复管理员登录修改资料单查看帖子浏览量上传附件审核用户单删除用户息图41管理员功能模块图用户功能模块图如下图所示用户功能模块发表帖子回复帖子查看帖子搜索帖子用户登录用户注册上传附件查看回复查看帖子浏览量修改资料单注销图42用户功能模块图421系统首页实现在系统首页里游客可以查看帖子标题,进行注册、登录。如图43所示图43系统首页代码如下PUBLICACTIONFORWARDSHOWVIEWACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSUNSUPPORTEDENCODINGEXCEPTIONINDEXLOGICLOGICNULLHASHMAPLOGICPARAMETERNULLINTCURPAGE0LOGICPARAMETERNEWHASHMAP/REQUESTSETCHARACTERENCODING“UTF8“REQUESTSETCHARACTERENCODING“UTF8“RESPONSESETCONTENTTYPE“TEXT/HTMLCHARSETUTF8“LOGICNEWINDEXLOGICSTRINGGJZREQUESTGETPARAMETER“GJZ“STRINGUSERREQUESTGETPARAMETER“USER“/SYSTEMOUTPRINTLNGJZ“IFGJZNULLGJZ“IFUSERNULLUSER“IFGJZNULLGJZNEWSTRINGGJZGETBYTES“ISO88591“,“GBK“IFUSERNULLUSERNEWSTRINGUSERGETBYTES“ISO88591“,“GBK“SYSTEMOUTPRINTLNGJZ“SYSTEMOUTPRINTLNUSER“/页码处理IFREQUESTGETPARAMETER“CUR_PAGE“NULL|“EQUALSREQUESTGETPARAMETER“CUR_PAGE“CURPAGE1ELSETRYCURPAGEINTEGERPARSEINTREQUESTGETPARAMETER“CUR_PAGE“CATCHNUMBERFORMATEXCEPTIONECURPAGE1422用户注册页面游客在首页无法实现更多功能,如果想要查看贴子,必须进行注册操作。如图44所示图44注册页面代码如下PUBLICACTIONFORWARDONSUBMITACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPOSESTRINGUSERNAMENULLSTRINGREALNAMENULLSTRINGPASSWORDNULLSTRINGCONFIRMPASSWORDNULLZHUCELOGICLOGICNULLHASHMAPHASHMAPNULLHASHMAPHASHMAPBACKNULLBOOLEANTEMPTRUESTRINGKEYNULLSTRINGNEWPASSWORDNULLZHUCEBEANZHUCEBEANNULLSTRINGREMAPKNULLTRYZHUCEBEANNEWZHUCEBEANHASHMAPNEWHASHMAPHASHMAPBACKNEWHASHMAPLOGICNEWZHUCELOGIC/KEYSTRINGREQUESTGETPARAMETER“ZHUCEID“KEYSTRINGREQUESTGETSESSIONGETATTRIBUTE“USERKEY“REQUESTSETATTRIBUTE“KEY“,KEYZHUCEFORMZHUCEFORMZHUCEFORMFORMIFKEYNULLELSEUSERNAMEZHUCEFORMGETUSERNAMEREALNAMEZHUCEFORMGETREALNAMEPASSWORDZHUCEFORMGETPASSWORDNEWPASSWORDZHUCEFORMGETNEWPASSWORDCONFIRMPASSWORDZHUCEFORMGETCONFIRMPASSWORDREMAPKZHUCEFORMGETREMAPKZHUCEBEANSETUSERNAMEUSERNAMEZHUCEBEANSETREALNAMEREALNAMEZHUCEBEANSETREMAPKREMAPKREQUESTSETATTRIBUTE“MSGBEAN“,ZHUCEBEANHASHMAPPUT“USERNAME“,USERNAMEHASHMAPPUT“PASSWORD“,PASSWORDHASHMAPPUT“KEY“,KEYHASHMAPPUT“REQUEST“,REQUESTIFKEYNULLZHUCEFORMSETUSERNAMEKEYREQUESTSETATTRIBUTE“SHOWTITLE“,DEFINEUPDATAELSEREQUESTSETATTRIBUTE“SHOWTITLE“,DEFINEREGISTERIFKEYNULL|“EQUALSKEYIFUSERNAMENULL|USERNAMEEQUALS“/用户名为空情况REQUESTSETATTRIBUTE“USERNAMEEMPTY“,DEFINEUSERNAME_EMPTYTEMPFALSEELSEIFLOGICCHECKSYMBOLUSERNAMEREQUESTSETATTRIBUTE“USERNAMEEMPTY“,DEFINEILLEGAL_TEXTELSEIFLOGICSBCCHECKUSERNAMEREQUESTSETATTRIBUTE“USERERROR“,DEFINEUSERERRORTEMPFALSEELSEIFLOGICUSERCHECKHASHMAP/用户名被占用情况REQUESTSETATTRIBUTE“USERERROR“,DEFINEUSER_ERRORTEMPFALSE423登录页面的实现管理员与普通用户都必须进行登录操作才能使用其对应权限。只要输入不同的用户名、密码即可完成不同权限的登陆,如图45所示图45登陆页面代码如下/登陆操作PUBLICACTIONFORWARDLOADINACTIONACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSELOGINFORMLOGINFORMLOGINFORMFORMSTRINGUSERIDLOGINFORMGETUSERNAMESTRINGUSERPASSLOGINFORMGETUSERPASSSTRINGAUTHLIMITNULLSTRINGREALNAMENULLSTRINGUSERSTATENULLSTRINGUSERKEYNULLLOGINLOGICIDLNULLSTRINGERROR“NULL“IDLNEWLOGINLOGICMAPMAPNULLMAPNEWHASHMAPREQUESTSETATTRIBUTE“SHOWTITLE“,DEFINELOGINMAPPUT“REQ“,REQUESTMAPPUT“USER_ID“,USERIDMAPPUT“USER_PASS“,USERPASSTRYMAPMAPRETURNIDLLOADINMETHMAPUSERSTATESTRINGMAPRETURNGET“USER_STATE“AUTHLIMITSTRINGMAPRETURNGET“AUTHLIMIT“REALNAMESTRINGMAPRETURNGET“REALNAME“USERKEYSTRINGMAPRETURNGET“USERKEY“IF“1“EQUALSUSERSTATEREQUESTGETSESSIONSETATTRIBUTE“AUTHLIMIT“,AUTHLIMITREQUESTGETSESSIONSETATTRIBUTE“REALNAME“,REALNAMEREQUESTGETSESSIONSETATTRIBUTE“USERSTATE“,USERSTATEREQUESTGETSESSIONSETATTRIBUTE“USERID“,USERIDREQUESTGETSESSIONSETATTRIBUTE“USERKEY“,USERKEYREQUESTSETATTRIBUTE“SUCCESS“,DEFINESUCCESSIF“0“EQUALSUSERSTATEREQUESTSETATTRIBUTE“ERRNAMEPASS“,“用户名密码不正确或审核未通过“REQUESTSETATTRIBUTE“ERROR“,“CATCHSQLEXCEPTIONEERRORDEFINEDBERRORREQUESTSETATTRIBUTE“ERROR“,ERRORCATCHCLASSNOTFOUNDEXCEPTIONEERRORDEFINEDBERRORREQUESTSETATTRIBUTE“ERROR“,ERRORCATCHEXCEPTIONEERRORDEFINEERRORREQUESTSETATTRIBUTE“ERROR“,ERRORRETURNMAPPINGFINDFORWARD“SUCCESS“424权限管理页面游客进行注册后必须等待管理员审核通过才能正常登陆。具有管理员权限的用户可在本界面对提出申请的用户进行审核并且可以删除其权限。如图46所示图46权限管理页面代码如下PUBLICACTIONFORWARDINITACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSEQUANXIANLOGICQUANXIANNULLMAPMAPQUANXIANNULLHTTPSESSIONSESSIONNULL/登陆者权限STRINGUSERAUTHNULLINTCURPAGE0STRINGJUMFLAG“INDEX“STRINGERROR“TRYSESSIONREQUESTGETSESSIONUSERAUTHSTRINGSESSIONGETATTRIBUTE“AUTHLIMIT“/判断用户已登陆,如果没登陆JAMFLAG“INDEX“,跳到首页IFUSERAUTHNULLIF“1“EQUALSUSERAUTHTRYCURPAGEINTEGERPARSEINTREQUESTGETPARAMETER“CUR_PAGE“CATCHNUMBERFORMATEXCEPTIONECURPAGE1MAPQUANXIANNEWHASHMAPMAPQUANXIANPUT“REQUEST“,REQUESTMAPQUANXIANPUT“CURPAGE“,CURPAGEQUANXIANNEWQUANXIANLOGICQUANXIANSEARQUANXIANMAPQUANXIANJUMFLAG“SUCCESS“CATCHSQLEXCEPTIONEERRORDEFINEDBERRORJUMFLAG“SUCCESS“CATCHCLASSNOTFOUNDEXCEPTIONEERRORDEFINEDBERRORJUMFLAG“SUCCESS“CATCHEXCEPTIONEERRORDEFINEERRORJUMFLAG“SUCCESS“REQUESTSETATTRIBUTE“ERRORS“,ERRORRETURNMAPPINGFINDFORWARDJUMFLAG425留言列表实现登陆后在留言列表中用户与管理员都可以进行关键字搜索,作者搜索。可以浏览留言的标题,作者,回复数与查看数以及最近回复日期可以及回复这ID。如图47所示图47留言列表页面代码如下LUNTANXIANGXILOGICLOGICNULLHASHMAPLOGICPARAMETERNULLINTBBSID0INTCURPAGE0STRINGUSERAUTHNULLSTRINGUSERIDNULLBOOLEANUSERCHECKFALSESTRINGPATHNULLBOOLEANFILEDOWNLOADFLAGFALSEBOOLEANBBSFILEDOWNFLAGFALSEBOOLEANCHECKFLAGFALSESTRINGRETURNFLAGNULLTRYLOGICPARAMETERNEWHA

温馨提示

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

评论

0/150

提交评论