基于jsp(java)论坛的设计和实现_第1页
基于jsp(java)论坛的设计和实现_第2页
基于jsp(java)论坛的设计和实现_第3页
基于jsp(java)论坛的设计和实现_第4页
基于jsp(java)论坛的设计和实现_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

1、.论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222基于JSP论坛的设计和实现专 业:年 级:学 号:作 者:指导老师:;-大连东软信息技术职业学院毕业设计(论文) 摘要摘 要微型计算机的普及加速了计算机网络的广泛应用和飞速发展。BBS全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。用

2、户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。BBS (Bulletin Board System)系统以计算机系统、通信技术、数据库、网络技术等信息技术为支撑,在信息服务领域有着日益重要的应用。本文利用JSP+CSS,HTML+CSS,MYSQL,JAVABEAN,JDBC技术实现了一种基于B/S模式的论坛系统,阐述了BBS的相关理论和开发方法,并根据本项目的实际情况构造了论坛的基本架构。该论坛系统主要完成了基于JSP技术的信息交流论坛的设计和实现,主要实现了客户端和服务器端的动态交互。该系统包含五个模块:注册登录模块,浏览帖子模块,发帖回帖模块,论坛管理模块,用户管理

3、模块。论文详细的描述了模块的结构、功能以及具体的设计过程。该论坛经测试表明其性能稳定,可广泛应用于各种网络上,作为信息交流和人员沟通的园地。关键词:JSP, MYSQL, JAVABEAN,论坛系统。-Designing and Implementation of Forum Based on JSP TechniqueAbstractThe microcomputer popularization has accelerated the computer network widespread application and the rapid development. BBS(Bulleti

4、n Board System)system takes information technology like computer system, communication, database, network technology and so on as the strut ,it becomes more and more important in the information service domain.This article has realized one kind of pattern forum elaborated based on the B/S by using J

5、SP+CSS, HTML+CSS, MYSQL, JAVABEAN, JDBC technology and instructed the BBS related theory and developing methods and unifies this project the actual situation to produce the forum structure overhead construction. The forum(BBS) is mainly completed the design and realizations of information exchanges

6、forum based on the JSP technique. And it main carry out a dynamic state between the customer and the sever. There are five molds piece: register and login the mold piece, scan the article in the mold piece, article releases and restores the mold piece, announce management mold piece, user management

7、 mold piece. The thesis has described module structure、function detailed and has designed process concretely. This forum after teacher and schoolmates test indicated its performance is stable, but widely applies to each kind if network the field which links up as the information exchange and the per

8、sonnel.Key words: JSP,SQL,JAVABEAN,BBS -V-论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222目 录毕业设计(论文)任务书I摘 要IIABSTRACTIII第1章绪 论11.1课题的提出11.2 开发背景11.3研究的意义11.4论文研究主要内容2第2章关键技术介绍32.1MVC开发模式32.2系统分层结构中所用到的技术32.2.1表现层32.2.2控制层32.2.3业务逻辑层和数据持久层32.3系统中所用到的其它关键技术3第3章系统分析53.1系统功能分析53.1.1用户功能分析53.1.2管理员功能

9、分析53.2模块需求描述53.2.1 注册登录功能53.2.2用户浏览或修改个人信息功能63.2.3用户浏览帖子功能63.2.4用户发新帖子功能63.2.5用户回复帖子的功能73.2.6管理员管理用户功能73.2.7 管理员管理帖子功能73.3系统开发环境83.4可行性分析83.4.1技术可行性83.4.2系统安全性分析8第4章系统设计94.1设计指导思想和原则94.1.1指导思想94.1.2软件设计原则94.2系统功能总体设计94.3系统功能详细设计104.3.1注册登录模块104.3.2直接登录模块114.3.3浏览或修改个人信息模块124.3.4浏览帖子模块134.3.5用户发帖模块13

10、4.3.6用户回帖模块144.3.7管理员管理论坛模块154.3.8管路员管理用户模块154.4数据库设计164.4.1数据库设计介绍164.4.2数据库表格设计174.5系统界面设计184.5.1首页界面设计184.5.2用户注册登录界面设计194.5.3欢迎界面设计204.5.4用户查看个人信息界面设计204.5.5用户浏览帖子界面设计214.5.6管理员界面设计22第5章系统实现255.1基于JSP、JAVABEAN、SERVLET的MVC架构255.1.1编写控制器Servlet255.1.2编写模型层Javabean255.1.3编写JDBC265.1.4配置成功265.2系统逻辑功

11、能的实现265.3数据库的实现32第6章系统测试336.1 系统测试方法介绍336.2具体测试34第7章结论35参考文献36致 谢37论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222第1章绪 论1.1课题的提出我们学院是中国第一所“笔记本大学”拥有丰富的网络资源而且为每一位学生都配备一台笔记本,这些都极大的方便了我们的生活。这给了论坛系统一个极大的实现价值,希望这个系统能够方便同学们和老师们的工作和生活。1.2 开发背景近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深

12、入人心。人们迫切要求通过论坛系统在线上获得帮助,来提高工作的效率,于是许多基于JSP技术的论坛系统应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型的计算机论坛系统。有力地推动了我国网络论坛技术的发展,并积累了大量有价值的经验。1.3研究的意义现今的社会是一个信息飞速发达的社会,其中在信息的交流当中,互联网占据着一个非常重要的位置。人们可以通过在互联网桑收到最新的消息,也可以通过互联网进行信息的交流。而论坛就是大家进行信息交流的其中一个渠道。论坛是一种在Internet网上开放的信息服务系统,通过论坛用户可是方便的实现信息的交换和文件的共享。进入二十一

13、世界,随着计算机科学的发展,论坛网站和数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。网络与人们的工作、生活和学习的关系越来越密切,在人们的生活中起着不可替代的作用。网上论坛起源于20世纪80年代初。最初,论坛只是用户发布公告信息、讨论问题的在线交流平台,后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。同时,在线技术支持的在线服务也在论坛中开展起来。随着Web技术的发展,Web内容从一些静态页发展到内容丰富的动态页。JSP就是一种完全与平台无关的开发新技术,它集极高的运行效率,较短的开发周期,超强的开发周期,超强的扩展能力,完全开放的

14、技术标准,自由的开发方式等从多完美特性于一身。JSP的设计目的是使构造基于Web的应用程序更加容易和快捷。由于JSP实现了Web动态内容与现实分离,脱离了硬件平台的束缚,并且编译后极大的提高了运行速度,因此,JSP正逐渐形成为互联网上的主流开发工具。随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点已成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发簪,已经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界、还是娱乐

15、界,都有各种论坛。在这里,主要介绍了基于JSP技术的网上论坛。1.4论文研究主要内容 本论文第一章是绪论,主要介绍了网上论坛的研究意义;第二章是相关技术介绍,着重介绍了JSP技术、SQL语言、JAVASCRIPT,MVC模式。第三章是系统需求分析,着重分析该系统要完成的功能以及系统体系结构和系统的设计思想;第四章系统概要设计,主要是对要实现的功能做一个简单的说明,以及系统总体结构图的设计;第五章是系统的详细设计,其中包括了数据库的详细设计和功能实现的详细设计,是本论文的重点。系统使用JSP技术,作为表现层数据显示,用Struts2作为系统的控制层,用Spring作为业务逻辑层,来封装和管理系统

16、中的Service来管理业务逻辑,同时完成对数据持久层JDBC Template 操作的简单封装,整合系统的框架等。 以tomcat作为系统的应用服务器,来部署系统的WEB应用,以Oracle数据库来管理系统的数据资源。 -35-论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222第2章关键技术介绍2.1MVC开发模式MVC是一种软件架构模式。它把软件系统分为三个基本部分:模式 (Model),视图(View)和控制器(Controller)。MVC的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序的某一部分重复利用成为可

17、能。除此之外此模式通过对复杂度的简化使程序结构更加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组。2.2系统分层结构中所用到的技术下面分别阐述了在系统中MVC各层中所用到的关键技术。2.2.1表现层(1)HTML 控制页面的结构。(2)CSS 控制页面的表现样式。(3)JavaScript 控制页面的行为,常用作为数据验证和页面的生成。(4)JSP技术,使用EL表达式和JSTL实现简单的逻辑和数据的显示。2.2.2控制层(1)Servlet是MVC模式系统的控制器:(2)将用户的请求封装为一个数据对象。(3)根据请求的不同,调用相应的逻

18、辑处理单元,并将数据对象作为参数传入。(4)逻辑处理单元完成后,返回一个结果数据对象。(5)将结果数据对象中的数据与预先设计的表现层相融合并展现给用户。2.2.3业务逻辑层和数据持久层(1)Java Bean封装所有的数据。封装所有的数据的Get、Set方法。封装数据从MYSQL数据库的增、删、改、查方法的调用方法。(2)JDBCJDBC的简单封装了连接数据库的方法以及从MYSQL数据库的增、删、改、查方法,提高了开发效率。2.3系统中所用到的其它关键技术在WEB应用容器方面用J2EE作为系统的容器,它主要是针对企业应用的开发。J2EE主要包括 JSP、Servlet、Java Bean、XM

19、L 、EJB等。目前国内的J2EE应用主要集中在企业网络应用中,是目前Java 阵营中实际应用最活跃的一个。用tomcat作为WEB应用的服务器,为WEB应用提供支持和服务,在数据库方面用JDBC来进行数据库连接。它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,由一组用Java语言编写的类和接口组成。论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222第3章系统分析3.1系统功能分析系统中主要包括用户和管理员,如图3.1所示。图3.1 用户功能用例图3.1.1用户功能分析(1)用户能够注册登录。(2)注册登录之后

20、可以浏览帖子。(3)用户可以查看自己的信息。(4)用户可以修改自己的信息。3.1.2管理员功能分析(1)管理所有的用户信息,包括增删改查。(2)管理所有的帖子,包括增删改查和移动。3.2模块需求描述描述系统中各个模块的功能和需求。3.2.1 注册登录功能(1)注册功能说明用户进入首页,如果有账号可以直接登录,如果没有账号需要进行账号注册。(2)登录功能说明验证登录者的身份,为系统提供安全防护。在登录时对用户的账号密码进行验证,用户可以查看账号是否被占用。验证输入2次的密码是否相同,这些功能是通过JavaScript来验证的。(3)注册登录功能的需求系统中注册登录功能的需求见表3.1。表3.1

21、注册功能表功能编号功能名称功能描述优先级1注册用户进入论坛首页后,如果没有账号需要进行注册,点击账号注册链接进行账号注册,注册时可以验证输入的账号是否存在,点击注册按钮后如果账号已存在则提醒账号已存在,如果账号不存在则注册成功高2登录用户输入用户名和对应的密码,系统就会验证输入的用户名和密码是否对应和正确,如果通过验证则转到相应的页面,否则提示密码输入错误。高3.2.2用户浏览或修改个人信息功能()用户浏览或修改个人信息功能的说明用户登录之后,可以在首页查看或者修改自己注册过用户名,密码,昵称等信息。()用户浏览或修改个人信息功能的需求用户查看修改用户信息的功能需求见表3.2。表3.2 查看用

22、户信息功能表功能编号功能名称功能描述优先级1浏览个人信息登录成功后,点击用户信息可以浏览个人的信息。低2修改个人信息在显示个人信息的表单里可以点击修改按钮修改个人信息低3.2.3用户浏览帖子功能()用户可以浏览帖子用户可以在帖子列表区浏览帖子。()用户浏览帖子功能的需求系统中用户浏览帖子功能的需求见表3.3。表3.3 用户可以查看或者发新的帖子功能编号功能名称功能描述优先级1用户可以浏览相应版块的帖子用户登录后,可以选择版块,根据用户选择的版块区域来显示相对应的帖子列表,用户可以浏览帖子。高3.2.4用户发新帖子功能()用户发新帖子功能说明用户可以在帖子列表区域添加新的帖子。()用户发新帖子功

23、能的需求用户添加新帖子的功能需求见表3.4。表3.4 学生查看活动进行的状态功能表功能编号功能名称功能描述优先级1用户可以发新的帖子在帖子列表中,用户可以点击发新帖链接来发新的帖子。发表成功后新的帖子会被显示在相应版块的列表中中3.2.5用户回复帖子的功能()用户对发帖子的人回复功能的说明用户登浏览帖子信息的时候,可以对发帖子人提出的问题进行回复。()用户对发帖子的人回复功能的需求用户对发帖子的人回复功能需求见表3.5。表3.5 学生发布活动的功能表功能编号功能名称功能描述优先级1用户可以对发帖子的人回复用户点击帖子题目查看帖子信息,然后可以在回复框里给发帖子的人留言。低3.2.6管理员管理用

24、户功能(1)管理员管理用户功能的说明当管理员登陆的时候可以点击管理用户,之后看到一个显示所有用户信息的列表,管理员可以对用户信息进行更新和删除。(2)管理员管理用户功能的需求管理员管理试卷功能的需求见表3.6。表3.6 管理员管理用户功能表功能编号功能名称功能描述优先级1添加新用户管理员可以添加新用户高2修改用户信息管理员可以修改用户信息高3删除用户管理员可以删除用户,此操作会删除用户所有信息,请谨慎操作。高3.2.7 管理员管理帖子功能(1)管理员管理帖子功能的说明当管理员登陆的时候还可以点击管理帖子,之后看到一个显示所有帖子信息的列表,管理员可以对帖子信息进行更新和删除或者移到其他的版块中

25、。(2)管理员管理帖子功能的需求管理员添加考试题目功能的需求见表3.7。 表3.7 管理员添加考试题目功能表功能编号功能名称功能描述优先级1添加新帖子管理员可以添加新的帖子高2修改帖子信息管理员可以修改帖子信息高3删除帖子管理员可以删除帖子,此操作会删除帖子的所有信息,请谨慎操作。高4移动帖子通过修改帖子的版块ID属性将帖子移动到其他的版块中中3.3系统开发环境 硬件环境:450*2MHZ/40G/1024MB/40G/软件环境:Windows + Java JDK 1.5 + Tomcat6.0 + MyEclipse + Mysql3.4可行性分析3.4.1技术可行性 (1)本系统基于B/

26、S模式进行,并采用MVC的开发模式进行系统架构。并合理搭配WEB框架,易于开发。(2)应用成熟的WEB开发技术使系统易于实现。3.4.2系统安全性分析系统开发框架经过精心搭建使漏洞减少,采用接口编程,使系统各部分的相互依赖性降低,降低单元间的耦合程度。同时为系统维护带来方便。在编写各个模块时,合理的为用户分配访问权限,提高了系统的安全性。论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222第4章系统设计4.1设计指导思想和原则4.1.1指导思想(1)本系统的指导思想在于为用户提供一个信息共享的平台,和简单易用的界面系统。(2)系统中的逻辑处理以

27、MVC的三层设计模式分层调用,分层实现需要的功能,这样实现起来系统的耦合度降低,便于单元测试和维护。(3)数据操作和逻辑操作分开进行,加快程序的开发。4.1.2软件设计原则(1)问题界定,对于软件开发来说是至关重要的。因为任何一个软件都不是提供单纯的独立服务。必定是为了解决某些问题而开发软件,用来更好的解决问题。因此,问题的界定对于软件的成功开发和应用来说致关重要。(2)基本功能实现:就是软件系统的核心体现。(3)极端情况处理。(4)客户体验至上:软件的主要服务对象是人。(5)封装功能,松散变化。在面向对象的编程过程当中,我们经常会遇到“开放封闭”原则。其实,这个原则并不只是应用于面向对象的编

28、程。(6)可装卸,可配置。可配置,可装卸的软件,必将是未来软件更为理想的开发模式。这对于系统的维护,以及需求的变更适应性都是非常好的。(7)从用户角度审视和评价软件的可用性,易用性,以及界面的友好性。(8)软件的功能需求,与非功能需求。从功能和非功能需求两方面考虑和衡量软件。从而进一步提高软件质量,提高市场占有率,提高软件的价值。4.2系统功能总体设计系统设计以模块化的方法进行,这样使大的功能块细分为小的功能块,实现起来容易而且便于协调和维护,具体信息如图4.1所示。图4.1 系统功能结构图4.3系统功能详细设计将系统中的各个模块分别实现。4.3.1注册登录模块 模块描述:浏览者进入首页后,必

29、须先注册才可以登陆,选择用户注册后,跳转到用户注册页面,在注册表单中用户名和密码、昵称不能为空,输入用户信息后可以检查用户名是否被占用,信息填写之后点击注册按钮,如果用户名没有被占用,将用户填写的信息通过逻辑层发送到数据库层,储存在数据库中,然后跳转到注册成功页面,点击登录链接跳转到欢迎页面,否则跳转到用户名被占用请重新注册的页面。 输入:选择用户注册后显示。 输出:欢迎页面。 模块具体流程如图4.2所示。 图4.2 注册流程图4.3.2直接登录模块模块描述:如果是用户登录切已经有账号了,选择用户登陆,转到普通用户登录页面,处理从客户端发送过来的用户名和密码;由逻辑层进行逻辑转发后,发送到数据

30、库层,读取数据库数据来验证输入的用户名和密码是否正确,如果正确转到欢迎页面,如果错误转到登录失败页面,如果是管理员,则选择管理员登陆,转到管理员登陆页面,如果账号密码正确就转到系统管理页面,在页面用JavaScript验证限制用户输入空值。输入:选择用户登录或者管理员登录后显示。输出:欢迎页面或者管理员管理页面。模块具体流程如图4.3所示。图4.3 登录流程图4.3.3浏览或修改个人信息模块模块描述:浏览或修改用户个人的信息,包括用户名,密码,昵称等信息。输入:登陆成功后点击用户信息显示。 输出:用户信息表单。模块具体流程如图4.4所示。图4.4 浏览或修改个人信息流程图4.3.4浏览帖子模块

31、模块描述:用户登录以后,在首页可以选择版块,选择之后会显示相应版块的帖子列表。输入:选择版块后显示。输出:帖子列表。模块具体流程如图4.5所示。图4.5 浏览帖子流程图4.3.5用户发帖模块模块描述:用户浏览帖子的时候,可以点击发帖的链接发新的帖子,发表成功后新的帖子会被显示在帖子列表中。输入:点击发帖显示。输出:填写帖子标题和内容的表单。模块具体流程如图4.6所示。图4.6 用户发帖流程图4.3.6用户回帖模块模块描述:用户在显示帖子信息的页面中点击回复可以回帖。输入:点击回复显示。输出:填写回复信息的表单。模块具体流程如图4.7所示。 图4.7 用户回帖流程图4.3.7管理员管理论坛模块模

32、块描述:管理员登陆后可以点击管理帖子,然后出现版块链接,选择版块之后出现帖子列表,管理员可以进行修改、删除帖子以及将帖子转移到其他版块的相关操作。输入: 选择版块后显示。输出: 显示帖子列表。模块具体流程如图4.8所示。 图4.8 管理帖子模块4.3.8管路员管理用户模块模块描述:管理员可以添加用户,输入用户的信息,返回添加成功或者失败。管理员可以更改用户信息,输入修改的信息,返回修改成功。管理员可以删除用户,删除用户将会删除关于该用户的所有信息。输入:选择要维护的信息,对信息的维护。输出:维护信息的结果。模块具体流程如图4.9所示。 图4.9 管理用户模块4.4数据库设计4.4.1数据库设计

33、介绍 数据库设计是项目开发中系统设计的另一个基本环节,在这里之所以要特别强调数据库设计的重要性,是因为数据库设计就像高楼大厦的根基一样,如果设计不好,在后来的系统维护,变更和功能扩充时,甚至于在系统开发过程中,将会引起比较大的问题,大量的工作将会重新进行。数据库技术是信息资源管理最有效的手段,数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。系统规划阶段主要是确定系统的名称、范围。确定系统开发

34、的目标功能和性能,确定系统所需的资源,估计系统开发的成本,确定系统实施计划及进度,分析估算系统可能达到的效益,确定系统设计的原则和技术路线等。对分布式数据库系统,还应分析用户环境及网络条件,以选择和建立系统的网络结构。 需求分析阶段要在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。通过对组织、部门、企业等进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。 概念设计阶段要产生反映企业各组织信息需求的数据库概念结构,即概念模型。概念模型必须具备丰富的语义表达能力、易于交流和理解、易于变动、易于向各种

35、数据模型转换、易于从概念模型导出与DBMS有关的逻辑模型等特点。逻辑设计阶段除了要把ER图的实体和联系类型转换成选定的DBMS支持的数据类型,还要设计子模式并对其进行评价,最后为了使模式适应信息的不同表示,需要优化模式。物理设计阶段的主要任务是对数据库中数据在物理设备上的存放结构和存取方法进行设计。数据库物理结构依赖于给定的计算机系统,而且与具体选用的DBMS密切相关。物理设计常常包括某些操作约束,如响应时间与存储要求等。系统实施阶段主要分为建立实际的数据库结构,装入试验数据对应用程序进行测试,装入实际数据建立实际数据库三个步骤。另外,在数据库的设计过程中还包括一些其他设计,如数据库的安全性、

36、完整性、一致性和可恢复性等方面的设计,不过,这些设计总是以牺牲效率为代价的,设计人员的任务就是要在效率和尽可能多的功能之间进行合理的权衡。4.4.2数据库表格设计在系统的设计中因为要有用户所以有一个用户表,要有帖子所以有一个帖子表。用户回复帖子要将回复信息存入数据库中,所有还有一个回帖信息表用户表主要是记录用户的信息,详见表4.1。表4.1 用户表字段名数据类型键说明useridVARCHAR(10)主键用户IDusernameVARCHAR(10)用户账号passwordVARCHAR(10)用户密码nicknameVARCHAR(10)昵称sexVARCHAR(10) 性别帖子表主要是记录

37、帖子信息,详见表4.2。表4.2 帖子表字段名数据类型键说明idINT(10)主键帖子IDpartidVARCHAR(10) 帖子版块IDtitleVARCHAR(50)帖子标题contentVARCHAR(1000)帖子内容responseVARCHAR(10)回复次数looknumberVARCHAR(10)浏览次数addtimeVARCHAR(10)发布时间addpersonVARCHAR(10)发布者partnameVARCHAR(10)帖子所属版块 回帖信息表主要是记录回帖的内容,详见表4.3。表4.3 回帖信息表字段名数据类型键说明idINT(10)主键帖子IDrepersonVA

38、RCHAR(10) 回帖人recontentVARCHAR(1000)回复内容topicidVARCHAR(10)回复内容所属帖子的ID4.5系统界面设计一个友好的用户界面还应方便用户对系统的操作使用,并且应该符合用户以往的操作习惯或者大部分用户的操作习惯,只有这样才能使用户充分发挥主观能动性更快、更好的学习使用该系统。下面是人机界面设计的三个原则:户原则。人机界面设计首先要确立用户类型。划分类型可以从不同的角度,视实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应。这就要从多方面设计分析。信息最小量原则。人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。帮助和提示原则。

39、要对用户的*作命令作出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户。对于一个基于B/S架构的网站系统来说主页的设计很关键,整个系统我们注重的是:易导航性、易操作性、容错性和友好的交互界面。首先在页面的风格上应保持统一,这里采用CSS样式表将所有页面的字体、字号、颜色以及超级链接的样式做统一定义。考虑到网络速度对网页界面下载时间的影响,界面设计尽量不使用大量图片。4.5.1首页界面设计 当浏览者首次进入论坛时,会进入首页,如图4.10所示。图4.10 首页 4.5.2用户注册登录界面设计 浏览者进入论坛之后,如果没有账号则需要注册账号,

40、如果已经注册过账号了可直接登录,如图4.11、4.12所示。图4.11 用户注册图4.12 用户登录4.5.3欢迎界面设计 当浏览者登录成功后会进入欢迎界面,如图4.13所示。 图4.13 欢迎界面4.5.4用户查看个人信息界面设计 浏览者在欢迎界面可以查看自己的用户信息,如图4.14所示。图4.14 查看个人信息界面4.5.5用户浏览帖子界面设计浏览者在欢迎界面可以查看帖子列表,浏览帖子内容、回帖或发新帖子,如图4.15、4.16、4.17所示。图4.15 查看帖子列表界面图4.16 浏览帖子回帖界面图4.17 发帖界面4.5.6管理员界面设计如果是管理员登录,则跳转到管理员登录页面,和朋友

41、用户登录页面一样,登录成功后,则跳转到管理页面,如图4.18所示。图4.18 管理界面管理员可以对用户和帖子进行增删改查,还可以转移帖子所属版块,如图4.19、4.20所示。图4.19 管理用户界面图4.20 管理帖子界面 论文是本团队帮同学做过的案例,需要毕业论文设计(论文+源程序+答辩PPT)的同学联系799523222第5章系统实现5.1基于JSP、JAVABEAN、SERVLET的MVC架构由于系统使用了MVC模式,所以由Servlet作为控制器,JDBC连接数据库,Servlet接收JSP或HTML提交的action,对应到相应的action中,根据action调用的Javabean

42、中封装的方法来实现相应的功能。如果有增删改查的请求时,Javabean中的方法会调用JDBC封装的方法和数据库进行交互。5.1.1编写控制器Servlet配置控制器servlet,放入servlets包中,servlet部分代码如下: package servlets;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import userInfo.ForumInfo;import userInfo.UserInfo;import java.util.ArrayList; public class UserI

43、nfoController extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response); public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setChar

44、acterEncoding("GBK"); String actionUrl=request.getServletPath();5.1.2编写模型层JavabeanJavabean有两个,放入userInfo包中,两个Javabean分别封装了关于用户的属性和方以及关于帖子的属性和方法,部分代码如下:package userInfo;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import jdbc.JDBCBean;public class ForumI

45、nfo private String id=""private String partid=""private String title=""private String content=""private String response=""private String looknumber;private String addperson=""private String addtime=""public String getId() return i

46、d;5.1.3编写JDBC 部分代码如下:package jdbc;import java.sql.*;public class JDBCBean private String driverStr="com.mysql.jdbc.Driver"private String connStr="jdbc:MySQL:/localhost:3306/bbs?user=root&password=root&useUnicode=true&characterEncoding=gbk" private Connection connectio

47、n=null; private Statement stmt=null; private ResultSet rs=null; /加载驱动程序 public JDBCBean() try Class.forName(driverStr); catch(ClassNotFoundException e) e.printStackTrace(); /建立与数据库的连接 private Connection getConnection() try connection=DriverManager.getConnection(connStr); catch(SQLException e) e.prin

48、tStackTrace(); return connection;5.1.4配置成功经过以上配置MVC模式的整体架构就完成了,可以编写处理的类和方法进行测试是否成功。5.2系统逻辑功能的实现 当浏览者首次登陆的时候,要先进行注册,才可以查看帖子,在首页点击用户注册链接,<a href="http:/localhost:8080/BBS/register.html">用户注册</a>,直接跳转到注册页面,在注册页面用户可以查看输入的用户名是否被占用,当点击检查用户名是否被占用链接的时候,会调用一个Javascript方法,方法内容如下:function

49、 checkName() var username=form1.username.value; if(username="") alert("请输入用户名"); elsewindow.open("checkName.action?username="+username,"check","menubar=no,height=300,width=400,left=300,top=80"); 该方法会弹出一个窗口同时把用户名传给Servlet,调用相应的action,public boolean ch

50、eckName()boolean exist=false;String sql="select * from user where username='"+username+"'"JDBCBean jdbc=new JDBCBean();ResultSet rs=jdbc.executeQuery(sql);tryif(rs.next()exist=true;catch(SQLException e)e.printStackTrace();jdbc.close();return exist; action调用相应的Javabean的方法,

51、public boolean checkName()boolean exist=false;String sql="select * from user where username='"+username+"'"JDBCBean jdbc=new JDBCBean();ResultSet rs=jdbc.executeQuery(sql);tryif(rs.next()exist=true;catch(SQLException e)e.printStackTrace();jdbc.close();return exist;该方法会链接数

52、据库检查用户名是否已经存在,之后将结果返给actio你,action在根据结果控制弹出的窗口显示用户名可用或用户名已存在的页面。用户输入信息之后,如果用户名或昵称被占用这需要修改用户名或昵称,如果没被占用则将用户信息发送到servlet,servlet调用相应的action if(actionUrl.equals("/register.action") UserInfo ui=new UserInfo(); String userid="" ArrayList<UserInfo> list=ui.getUserID(); for(UserIn

53、fo id:list) userid=id.getUserid(); String username=request.getParameter("username"); String password=request.getParameter("password"); String nickname=request.getParameter("nickname"); String sex=request.getParameter("sex"); HttpSession session=request.getSession(); ui.setUsername(username); if(ui.checkName() request.getRequestDispatcher("/userExist.html").forward(request, response); else ui.setPassword(password); ui.setNickname(nickname); ui.setSex(sex); ui.setUserid(userid); int result=ui.registerUser(); if(result=1) session.setAttr

温馨提示

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

评论

0/150

提交评论