版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、i理学院 bbs 平台开发摘 要在 internet 飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活、学习等各个方面发挥着重要的作用。因此网站建设在 internet 应用上的地位显而易见,它已成为政府、企事业单位、学校信息化建设中的重要组成部分,从而倍受人们的重视。这次我们所设计的课题正是互联网与社会生活之间的紧密关系的体现,现今的社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,他能够把事情的复杂化转为简单化。论坛 bbs 管理系统,可以更好的实现与用户的交互,通常需要搜集用户的有关信息,关对用户进行区别划分,本站点的对会员提供更
2、好的服务。现在在很多的企业站点都有 bbs,通过论坛更加快捷的了解企业员工的信息,而建立会员服务的基础是建系论坛管理系统。通过该系统可以进行用户与用户间的交流、企业与企业间的信息交互,利用网络经济而又快捷地与外界进行各种信息沟通,取得更有用的信息资源。这次我的课题是理学院 bbs 平台的开发,通过这个论坛,可以展示每一个同学的风采、优点,发布个人对一些事物的看法,增强同学们之间,团体与团体之间,同学与团体之间的交流联系。在 internet 上实现信息的传递,提高办事效率,它已成为同学们沟通和获取信息的重要组成部分。为了更方便同学们的沟通和获取信息,特构建此论坛。关键词:jsp,microso
3、ft sql server 2000,tomcat, eclipse,理学院 bbsiicollege of science bbs on development platformabstractthe rapid development of the internet today, internet access to become a fast release and an important channel for transmitting information, its political, economic, and life in all aspects of learning
4、to play an important role. therefore the construction site in the status of internet applications obviously, it has become the government, enterprises, institutions, schools of information technology an important part of so much attention. the issue we have designed the internet and social life is t
5、he close relationship between the embodiment of todays society, people have can not be separated from the network, the network between people has become a form of exchange, he was able to things to simplify the complicated. bbs forum management system that can better interact with users, users usual
6、ly need to collect relevant information related to the difference between the user division, members of the site to provide better services. in many enterprises now have a site bbs, through a more efficient forum for employees to understand the information, and to establish the basis of member servi
7、ces department is the forum management system. through the system users can exchange, business and information exchange between enterprises, the use of the internet economy with the outside world and to quickly communicate information to obtain more useful information resources. the issue is college
8、 of science bbs platform, through this forum, you can display the style of each student, benefits, release of personal views on some things, and enhance the students between the groups and between groups, students and groups contact between. in the internet, the transmission of information to improv
9、e efficiency, it has become the students access to information communication and an important part. students, to facilitate communication and access to information, special construction of this group.key words: jsp,microsoft sql server 2000,tomcat, eclipse,college of science bbsiii目 录摘 要 .iabstract
10、.ii1 设计本系统的意义和相关原理 .11.1 绪论.11.2 理学院 bbs 平台开发的目标和意义.11.3 语言的选择.21.3.1 jsp 简介.21.3.2 microsoft sql server 2000 数据库简介.21.4 运行环境的要求.31.4.1 软件环境 .31.4.2 硬件环境 .31.5 运行环境的配置.42 系统分析 .62.1 理学院 bbs 系统技术可行性分析.62.2 系统需求分析.72.2.1 系统的综合要求 .72.2.2 系统的数据要求 .72.2.3 数据结构的设计 .92.3 性能需求.102.4 系统的运行需求.103 系统设计 .113.1
11、系统设计思想.113.2 系统功能模块划分.113.3 系统流程图.134 数据库设计 .144.1 数据库需求分析.144.2 数据库概念结构设计.144.3 数据库逻辑结构设计.154.4 数据库的生成与配置.17iv5 模块设计与实现 .185.1 数据库的连接与访问实现.185.2 论坛首页的显示以及登陆功能的实现.205.3 用户注册界面的设计与实现.235.4 论坛发帖回复模块的设计和实现.265.5 论坛后台管理模块的设计与实现.27致 谢 .30参 考 文 献 .31附 录 .32理学院 bbs 平台开发11 设计本系统的意义和相关原理1.1 绪论进入二十一世纪,计算机技术迅速
12、向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的 c/s 结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的 b/s 结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于internet,而且投资小、见效快,
13、用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用 isp 的服务器资源,因而受到越来越多中小型单位的青睐1。本文讨论的是一个理学院 bbs 网站,它具有 bbs 网站应该具有的所有功能。1.2 理学院 bbs 平台开发的目标和意义目标:通过设计和实现 bbs 平台系统,该系统可以很好的帮助同学们进行各个方面的交流,而且还可以丰富同学们的课余生活,让大家了解和使用 bbs 平台,进行各种交流和学习,理学院 bbs 平台还可以方便学生与老师、教授进行交流学习和讨论,同时还可以在论坛上发布通知,各种信息等,方便辅导员对同学进行管理。通过开发此课题,还可以增强我对所学知识的应用,所学的知识
14、也会得到巩固,提高我的编程能力,进一步了解和掌握各个程序语言,提高编程的熟练程度,同时还能拓宽我知识面,增强我的工程意识,培养我的分析和解决实际问题的能力。意义:现在在大学期间总会有很多专业课程,在以往的专业课程中我们主要是通过当面进行交流。这种方法虽然直接,但是只能是少数人之间的交流,具有一定的局限性。使用了论坛系统以后,可以网上对所学课程的及时交流,随时可以解决每个学生在课程中遇到的问题,不用浪费体力,还可以使教学资源合理利用随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让学生通过计算机交流信息及解决问题是现在各个高校都在积极进行的工作之一,也是高校教
15、学工作的重要内容之一。使用论坛系统更加节约资源,增加了学生学习的积极性,同时减少老师的工作量。 该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对发布的问题及时地解决,获取对自己有用的知识。这个论坛完全可以成陕西科技大学毕设计说明书2为一个很好的师生交流平台,充分利用有限的教育资源,提高资源利用率,同时又能活跃学习氛围,使学习、工作更加方便。1.3 语言的选择1.3.1 jsp 简介jsp(javaserver pages)是由 sun microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。jsp 技术有点类似 asp 技术,它是在传
16、统的网页 html 文件(*.htm,*.html)中插入 java 程序段(scriptlet)和 jsp 标记(tag),从而形成 jsp 文件(*.jsp)1。 用 jsp 开发的 web 应用是跨平台的,即能在 linux 下运行,也能在其他操作系统上运行。jsp 技术使用 java 编程语言编写类 xml 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。jsp 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web 的应用程序的开发变得迅速和容易1。 web 服
17、务器在遇到访问 jsp 网页的请求时,首先执行其中的程序段,然后将执行结果连同 jsp 文件中的 html 代码一起返回给客户。插入的 java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp 页面由 html 代码和嵌入其中的 java 代码所组成。服务器在页面被客户端请求以后对这些 java 代码进行处理,然后将生成的 html 页面返回给客户端的浏览器。java servlet 是 jsp 的技术基础,而且大型的 web 应用程序的开发需要 java servlet和 jsp 配合才能完成。jsp 具备了 java 技术的简单易用,完全的面向对象,具有平台
18、无关性且安全可靠,主要面向因特网的所有特点2。 1.3.2 microsoft sql server 2000 数据库简介sql server 是一个关系数据库管理系统它最初是由 microsoft sybase 和ashton-tate 三家公司共同开发的于 1988 年推出了第一个 os/2 版本在 windows nt 推出后 microsoft 与 sybase 在 sql server 的开发上就分道扬镳了 microsoft 将 sql server 移植到 windows ntsql server 2000 是 microsoft 公司推出的 sql server 数据库管理系统
19、的更新版本该版本继承了 sql server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行 microsoft windows 98 的膝上型电脑到运行 microsoft windows 2000 的大型多处理器的服务器等多种平台使用3。理学院 bbs 平台开发3sql server 2000 的特性 microsoft sql server 2000 的特性包括: internet 集成。 sql server 2000 数据库引擎提供完整的 xml 支持。它还具有构成最大的 web 站点的数据存储组件所需的可伸缩性、可用性
20、和安全功能3。sql server 2000 程序设计模型与 windows dna 构架集成,用以开发 web 应用程序,并且 sql server 2000 支持 english query 和 microsoft 搜索服务等功能,在 web 应用程序中包含了用户友好的查询和强大的搜索功能。可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 microsoft windows 98 的便携式电脑,到运行 microsoft windows 2000 数据中心版的大型多处理器服务器。sql server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级
21、到最大 web 站点所需的性能级别。企业级数据库功能。sql server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。sql server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 sql server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。易于安装、部署和使用
22、。 sql server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 sql server 的过程。sql server 2000 还支持基于标准的、与 windows dna 集成的程序设计模型,使 sql server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分3。这些功能使您得以快速交付 sql server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。数据仓库。 sql server 2000 中包括析取和分析汇总数据以进行联机分析处理(olap) 的工具。sql server 中还包括一些工具,可用来直观地设
23、计数据库并通english query 来分析数据3。1.4 运行环境的要求1.4.1 软件环境客户端:windowsxp;服务器端:windowsxp, microsoft sql server 2000,jsp, tomcat 环境。1.4.2 硬件环境奔腾 4、内存 1g 以上、160gb 以上硬盘空间的 pc 机满足输入端条件。陕西科技大学毕设计说明书41.5 运行环境的配置1)启动内存参数的配置 tomcat/bin/catalina.bat 如果是 linux 就是 catalina.sh 在 rem 的后面增加如下参数set java_opts= -xms256m -xmx256
24、m -xx:maxpermsize=64m 2)修改 tomcat 的 jdk 目录打开 tomcat/bin/catalina.bat在最后一个 rem 后面增加set java_home=c:program filesjavajdk1.6.03)增加虚拟目录/tomcat/conf/server.xml第一行是以前默认存在的,第二行是新增的 4)get 方式 url 乱码问题解决打开 tomcat/conf/server.xml查找下面这部分,在最后增加一段代码就可以了。其中的 utf-8 请根据你的需要自己修改,比如 gbk5)虚拟主机配置文件tomcat/conf/server.xml
25、.理学院 bbs 平台开发5 陕西科技大学毕设计说明书62 系统分析2.1 理学院 bbs 系统技术可行性分析bbs 系统就是提供给注册用户一个平台,会员用户可以通过 internet 接入,登录本系统,在这个平台上发表文章、阅读文章、回复文章等等。此类系统通常有以下四种类型的操作用户:游客、普通用户、版主、超级管理员。每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。与之相应,此类系统通常应具有以下功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、标题查找、作者查找、个人资料维护、版面管理、版主管理、用户管理等等
26、,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给 web 服务器,再由 web 服务器处理成 html 文件后发送到客户端浏览器。这就是所谓的 b/s 结构应用系统,b/s 结构即 browser/server(浏览器/服务器)结构4。将应用程序分成好几个离散逻辑组件,就是多层式结构 (n-tier) 应用程序。最常见的选择是分成三个部分:表示层、事务逻辑层和数据层(3-tier),不过也有其它的组合4。下面就是 3-tier 结构各层功能以及经常采用的技术作个简介:表示层主要运行于客户端浏览器,采用 script (脚本)语言编写。
27、html、javascript、jsp 是此类应用系统中展示层最常用的脚本编制语言,结合 ccs 以及 activex 技术,能设计出交互相当灵活功能又相当强大的客户端网页2。事务逻辑层设计通常有个选择: com 或 com+组件、dbms 中所执行的预存程序。将程序代码的一部分,建立成执行于数据库管理系统 (dbms) 中的预存程序,使数据与程序代码储存在相同的位置,有助于最佳化执行效率7。以 com 对象的方式,编写中间层事务逻辑,可以使用全功能的语言,来产生经过编译的执行程序,执行效率也相当高,此外,在 com 对象中包装事务逻辑,还可以清楚地将此程序代码与网页内含的展示程序代码分隔,这
28、样可以使应用程序更易于维护,但是,com 对象的部署也有一定的麻烦,新编写的组件对象,只有在服务器重新启动后才能被应用程序调用。用 jsp网页设计事务逻辑相对来说比较简单,但是,jsp 网页中的程序代码也是难以维护的,因为事务逻辑程序代码与建立使用者接口的展示程序代码彼此混杂在一起3。综上所述,结合本系统实际需要,本 bbs 系统采用 b/s 结构,mvc 解决方案,mvc中文翻译为模式-视图-控制器。mvc 应用程序总是由这三个部分组成。event(事件)导致 controller 改变 model 或 view,或者同时改变两者。因此,本系统事务逻辑层设计采用 jsp 网页;至于数据层,本
29、系统采用最基本的理学院 bbs 平台开发7sql server 数据库系统。本系统要求客户端支持 ie5.0 以上或与之兼容的浏览器软件,客户端硬件最低要求对应于 ie4.0 的硬件平台要求。服务器端要求支持 jsp 以及 sql server 数据库。本系统的开发环境和开发工具为:windowsxp,jsp,microsoft sql server 2000,tomcat, eclipse。2.2 系统需求分析2.2.1 系统的综合要求1)系统界面要求系统的初始界面假定用户是匿名登录,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面。2)系统功能要求本系统应具有通常 bb
30、s 网站应该具有的功能,包括用户注册、用户登录、匿名登录、发表文章、阅读文章、回复别人的文章、分页查找、标题查找、作者查找、版面管理、版面公告、版主管理、用户管理等,此外,用户在发表贴子时,能输入带格式文本。本系统操作用户按级别由低到高依次可分为:游客用户、普通会员用户、版主用户、超级管理员用户。高级别的用户可以继承低级别用户的公用功能。1)游客用户功能要求通用功能:查看各版面文章、查看系统版主列表。私有功能:注册为系统正式会员、登录为正式会员。2)普通会员用户功能要求通用功能:发表或回复贴子、退出或重新以匿名身分登录。3)版主用户功能要求通用功能:贴子管理、张贴公告。4)超级管理员用户功能要
31、求通用功能:论坛基本设定、版面管理、版主管理、用户管理。2.2.2 系统的数据要求根据系统的功能需求,本系统管理和维护以下几种数据元素(实体 entity):会员、版主、超级管理员、论坛、论坛版面、贴子。1)会员实体会员用户包含这样一些基本属性:用户 id、用户图像、用户名、用户密码、用户性别、联系电话、oicq、e-mall、地址。其中,用户名为用户唯一标志,不允许重名。陕西科技大学毕设计说明书8其中用户图像提供多种选择,使论坛更加生动。2)版主版主实际上派生于会员用户,意味着只有会员用户才有资格拥有本论坛各版面的管理权限,一个版主是有超级管理员任命的。一个版主可以管理几个版面,一个版面可以
32、由几个版主管理。版主的权限在会员基础上增加了管理与某版面相关的数据信息。3)超级管理员超级管理员具有管理和维护本论坛所有数据信息的权限,论坛初始设置一个超级管理员,即 test,超级管理员可以任命论坛会员以及版主为超级管理员,超级管理员还具有进入论坛后台界面的权限,可以修改论坛的数据信息的全部权限。4)论坛论坛基本信息比较稳定,只能为超级管理员所维护,此实体包括以下一些基本属性:论坛 ip 地址,论坛域名,论坛名称、论坛版面、论坛版权信息。5)版面论坛版面包含这样一些基本属性:版面名称、版面简介、版面公告、版主。此外,论坛版面实体与版主以及超级管理员实体有联系,与贴子实体也有联系。6)贴子贴子
33、包含以下一些基本属性:所属版面,作者,主题,表情,发表时间,贴子内容,回复数量,当前页码,最后一次更新贴子时间。贴子包括两种类型:主贴和回复。几个基本实体-联系图(e-r 图)如下:理学院 bbs 平台开发9用户 id用户名密码性别图像email其他用户管理版面管理版面 id版面名称版面介绍是否被任命管理员mn图 2-1 用户与论坛版面的 e-r 图图 2-2 用户与帖子之间的 e-r 图陕西科技大学毕设计说明书102.2.3 数据结构的设计参照用户与版面之间管理关系 e-r 图,可以将用户、版面转换成三个关系模式,设计如下:论坛版面关系模式(版面 id#,版面名称,版面简介,版面公告,版主)
34、用户关系模式(用户 id#,用户图像,用户名,用户密码,用户性别,联系电话,oicq,e-mall,地址)版主员关系模式(版主用户名#,管理版面,是否被任命)参照用户与贴子之间 e-r 图,可以将其转换成二个关系模式,设计如下:用户关系模式(用户 id#,用户图像,用户名,用户密码,用户性别,联系电话,oicq,e-mall,地址)贴子关系模式(帖子 id#,所属版面,作者,主题,表情,发表时间,贴子内容,回复数量,当前页码,最后一次更新贴子时间)按照上述转换方法,再结合系统一些功能以及性能方面的需要,系统所有关系模式设计如下:论坛基本信息(论坛 ip 地址,论坛域名,论坛名称、论坛版面、论坛
35、版权信息)论坛版面信息(版面 id#,版面中文名,版面简介,版面公告,版主)用户基本信息(用户 id#,用户图像,用户名,用户密码,用户性别,联系电话、oicq,e-mall,地址)贴子基本信息(帖子 id#,所属版面,作者,主题,表情,发表时间,贴子内容,回复数量,当前页码,最后一次更新贴子时间)*注:第一个带“#”标志的属性为本关系模式的主键,其它为外键。2.3 性能需求考虑到目前的设计阶段,但该网络平台今后可能会被陕西科技大学理学院采用,故该系统的总体性能和运行速度应有一定的严格要求,具体如下,联机系统对用户请求的响应时间不应超过 20 秒,以免用户产生等待感;内存不应少于 128mb;
36、作为服务器,cpu 最好为 p- 3.0 或以上。2.4 系统的运行需求 1)操作系统操作系统对使用 jsp 开发网络平台(网站)的影响不是很大,windows2000、windows xp、 windows nt 都可以,但好的操作系统可以使网页的浏览更流畅,减少系统崩溃的可能性。因此,我们选用了比较流行的 windows xp。2)数据库理学院 bbs 平台开发11由于本系统存储数据并不是很多,考虑到简单易用方面,我采用了 microsoft sql server 2000 数据库。 3 系统设计3.1 系统设计思想本 bbs 系统采用模式-视图-控制器三层结构架构设计。如图 3-1 所示
37、。模式 视图 控制器 图 3-1 三层架构的工作原理图采用三层架构以后,用户界面通过统一的接口向功能处理层发送请求,功能处理层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据安全性,同时也降理学院bbs 操作界面jsp;sql server给出需要处理的 id一 事实idiiididid返回处理结果数据库操作语句处理数据库返回处理结果数据库陕西科技大学毕设计说明书12低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作6。上面
38、的数据读取及写入文件通过返回对象的形式来返回数据,在类是内部可以规定哪些数据可以访问,哪些数据是只读的等,从而通过封装数据达到再一次提高数据安全性的目的7。3.2 系统功能模块划分本论坛平台包括的模块有:1)论坛管理员a)删除主题(bbsaction.java / deleterootbbs):管理员可以删除任何人的主题贴;版主只能删除本版内任何人发表的主题贴。b)回复主题(bbsaction.java / answerbbs):回复已经发表的主题(记录回复人信息:注册用户的用户名、图像、性别、oicq、地址、回复时间)包括:回复标题、表情,发表时间,回复内容。c)论坛可以分版块(boardf
39、orm.java):每一版块可以有若干个版主,版主负责管理本版块内的帖子(删除,设为置顶,设为精华贴,版面公告等) 。d)版主的设定(adminaccess.java):有超级管理员来负责任命每个版块版主。e)显示(bbsusersingle.jsp):用户登录系统后,可以查看个人信息,如用户名,电话,e-mail,地址等。2)用户a)用户注册(logxaction.java / userreg):用户可以注册为该系统成员,注册信息要求有登陆的用户图像、用户名、用户密码、用户性别、联系电话、oicq、e-mall、地址等,在发表主题贴和跟贴时,记录其登陆信息(用户名、图像、性别、oicq、地址
40、) 。b)用户登录(logxaction.java / login):对于注册用户,可以凭其注册用户名和密码进入论坛;另外论坛支持“游客”用户, “游客”只可以看贴。c)发表主题(bbsaction.java / addbbs):用户发表一个讨论的主题,包括标题、表情、正文等,同时可以选择正文的字体,颜色以及大小。d)查看主题列表以及详细信息(bbsaction.java / rootlistshow):在详细信息页面中,显示主题贴的标题和正文以及该主题的所有回复。e)删除主题(bbsaction.java / deleterootbbs):用户只能删除自己撰写的主题。通过以上系统功能分析,可
41、以画系统的功能模块图,本论坛从论坛主页界面、论坛后台管理界面、帖子管理界面分别对模块加以描述。资源权限管理员界面的系统功能模块如图 3-2 所示:理学院 bbs 平台开发13图 3-2 管理员功能模块图普通用户界面的系统功能模块图如图 3-3 所示:图 3-3 普通用户功能模块图3.3 系统流程图开始系统首页登录成功?进入功能界面结束陕西科技大学毕设计说明书14 n y 图 3-4 系统登录处理流程4 数据库设计4.1 数据库需求分析通过上述系统功能分析,针对系统平台的需求,总结出如下的需求信息:1)用户分为游客用户、会员用户(包括:普通会员用户、版主和超级管理员) 。2)每个会员用户都有自己
42、的基本信息,以及会员权限。3)每个版主都有自己的信息,并且有版主的相关权限。4)每个超级管理员都有自己的信息,并拥有超级管理员的权限。经过上述系统功能分析和需求总结,因为这是普通的网站数据库,不存在什么隶属关系,考虑到将来功能上的扩展,设计如下面所示的数据项和数据结构:1)超级管理员信息,包括数据项:用户名、密码、权限、基本资料。2)版主用户,包括数据项:用户名、密码、权限、基本资料。3)会员用户,包括数据项:用户名、密码、权限、基本资料。4)帖子,包括数据项:标题、新闻内容、发表时间,发表用户。理学院 bbs 平台开发154.2 数据库概念结构设计 得到上面的数据项和数据结构以后,就可以设计
43、出能够满足用户需求的各种实体(管理员,会员用户,帖子等实体) ,以及他们之间的关系。大学生就业系统平台因为输入对外的实体类型不是很多,关系也不是很复杂。下图为大学生就业系统平台实体 e-r 图: 1 n 1 n n m n 图4-1 实体之间关系的e-r图图4-2 会员用户信息实体的e-r图帖子版面 id标题发表时间发表人会员用户 id用户名相关资料密码会员发表帖子用户管理员版面浏览管理所属权限帖子 id被执行的操作陕西科技大学毕设计说明书16、 、 、 、 、 、图4-3 帖子实体的e-r图其他实体与基本信息表间的对应关系都是类似的,这里就只列出这些。系统数据表清单如表 4-1 所示:表4-
44、1 系统数据表清单数据表数据表名称数据表用途tb_bbs发表帖子的基本信息记录帖子的基本信息、发帖人资料和是否被管理操作tb_bbsanswer回复帖子的基本信息记录回复帖子的基本信息及回复人的资料tb_board版面的基本信息记录版面发帖信息及版主tb_class版块的基本信息记录版块信息及简介tb_user用户的基本信息记录用户信息及权限 4.3 数据库逻辑结构设计数据库的概念结构设计完后,现在将上面的数据库概念结果转化为数据库所支持的实际数据模型,也就是数据库的逻辑结构6。系统的数据库中各个表的设计结果如下面表格所示(每个表格表示在数据库中的一个表) 。1)用户基本信息表表4-2用户信息
45、表(tb_user)字段名类型长度是否可以为空说明idsmallint2否关键字user_namevarchar20是用户名user_passwordvarchar20是密码user_facevarchar11是图像user_sexvarchar2是性别user_phonevarchar12是联系电话user_oicqvarchar14是oicq 号码user_emailvarchar100是e_mailuser_fromvarchar200是来自user_ablevarchar1是权限内容理学院 bbs 平台开发172)版块的基本信息表表4-3版块的基本信息表(tb_class)字段名类型长
46、度是否可以为空说明class_idsmallint2否关键字class_namevarchar40是版块名称class_introvarchar200是版块介绍3)版面的基本信息表表4-4版面的基本信息表(tb_board)字段名类型长度是否可以为空说明board_idint4否关键字board_classidsmallint2是版块 id 号board_namevarchar40是版面名称board_mastervarchar20是版主board_pcardvarchar300是版面公告4)发表帖子的基本信息表表4-5发表帖子的基本信息表(tb_bbs)字段名类型长度是否可以为空说明bbs_
47、idint4否帖子 id 号bbs_boardidint4是版面 id 号bbs_titlevarchar70是帖子标题bbs_contentvarchar2000是帖子内容bbs_sendervarchar20是发帖人bbs_sendtimedatetime8是发帖时间bbs_facevarchar10是表情bbs_optimedatetime8是将帖子提前时间bbs_istopvarchar1是置顶帖子bbs_totoptimedatetime8是置顶时间bbs_isgoodvarchar1是设置精华帖bbs_togoodtimedatetime8是设精华帖时间5)回复帖子的基本信息表陕西
48、科技大学毕设计说明书18表4-6回复帖子的基本信息表(tb_bbsanswer)字段名类型长度是否可以为空说明bbsanswer_idint4否回复 id 号bbsanswer_rootidint4是发表 id 号bbsanswer_titlevarchar70是回复标题bbsanswer_contentvarchar2000是回复内容bbsanswer_sendervarchar200是回复人bbsanswer_sendtimedatetime8是回复时间bbsanswer_facevarchar10是回复表情4.4 数据库的生成与配置经过前面的需求分析和概念设计以后,得到数据库的逻辑结构。
49、现在就可以在 sql server 2000 数据库中创建数据表了。打开 microsoft sql server 2000,新建一个数据库,名称为“db_luntan.mdb” 。通过表的创建器创建我们需要的表以及查询。5 模块设计与实现5.1 数据库的连接与访问实现本系统数据库的连接是用以下 db.java 文件实现的,其代码如下:package com.yxq.dao;public class db private string classname;private string url;private string username;private string password;pri
50、vate connection con;private preparedstatement pstm;public db()理学院 bbs 平台开发19url=jdbc:jtds:sqlserver:/localhost:1433;instancename=dbo;databasename=db_luntan;url=jdbc:odbc:db_luntan;username=sa;password=;tryclass.forname(classname);catch(classnotfoundexception e)system.out.println(加载数据库驱动程序失败!);e.prin
51、tstacktrace();public void getcon()try con=drivermanager.getconnection(url,username,password); catch (sqlexception e) system.out.println(获取数据库连接失败!);e.printstacktrace();public void dopstm(string sql,object params)if(sql!=null&!sql.equals()system.out.println(sql);getcon();try pstm=con.preparestate
52、ment(sql,resultset.type_scroll_insensitive,resultset.concur_read_only);if(params=null)params=new object0;for(int i=0;iparams.length;i+)pstm.setobject(i+1,paramsi);陕西科技大学毕设计说明书20pstm.execute(); catch (sqlexception e) system.out.println(调用 db 类中 dopstm 方法时出错!);e.printstacktrace();public resultset getr
53、s()try return pstm.getresultset(); catch (sqlexception e) system.out.println(db 类中的 getrs()方法出错!);e.printstacktrace();return null;public int getupdate()try return pstm.getupdatecount(); catch (sqlexception e) e.printstacktrace();return -1;public void closed()tryif(pstm!=null)pstm.close();catch(excep
54、tion e)system.out.println(关闭 pstm 对象失败!);理学院 bbs 平台开发21tryif(con!=null)con.close();catch(exception e)system.out.println(关闭 con 对象失败!);public static void main(string args) db db = new db();db.getcon();5.2 论坛首页的显示以及登陆功能的实现首页界面如图 5-1 所示(用户未登录):图5-1 论坛首页界面本页为游客用户第一次打开论坛页面时可以看到的界面,页面最上方为论坛的名称,其下是日期和时间以及导
55、航栏,其下方为各个版块的名称和板块版主的列表,同时可以看到各个板块的发帖总数、精华帖数和未回复的帖子数。用户登陆界面如图 5-2 所示:陕西科技大学毕设计说明书22图5-2 论坛用户登陆界面上图为论坛会员用户登陆的界面,页面提供会员用户登录功能之外,还有用户注册和返回首页的链接,提供游客用户方便注册成本论坛的会员和返回论坛首页。当用户正确输入用户名和密码时并登陆到论坛首页,用户显示已登录状态,并在上图的登录装态位置显示登录用户的用户名;若用户名和密码输入错误,页面进入错误提示页面,并设置返回按钮。用户登录时数据的处理源方法如下:public actionforward login(action
56、mapping mapping, actionform form, httpservletrequest request, httpservletresponse response)httpsession session=request.getsession();userform logoner=(userform)form;string username=change.htmlchange(logoner.getusername();string userpassword=change.htmlchange(logoner.getuserpassword();string sql=selec
57、t * from tb_user where user_name=? and user_password=?;object params=username,userpassword;actionmessages messages=new actionmessages();opdb myop=new opdb();理学院 bbs 平台开发23logoner=myop.opusersingleshow(sql, params);if(logoner!=null)session.setattribute(logoner,logoner);return (mapping.findforward(suc
58、cess);elsemessages.add(loginr,new actionmessage(luntan.bbs.login.e);saveerrors(request,messages);return mapping.findforward(fault);5.3 用户注册界面的设计与实现用户注册界面图,如图 5-3 所示:图5-3 用户注册图用户注册页面提供游客用户注册成本论坛的会员,其内容包括用户名、用户密码、确认密码、用户性别、用户图像、联系电话、oicq 等,当用户完整填写这些内容,则注册成功,并转入用户已登陆的论坛首页;若用户资料错误或不完整,则进行错误提示帮助用户完成注册。陕西
59、科技大学毕设计说明书24用户注册时数据的处理的方法如下:public actionforward userreg(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response)actionmessages messages=new actionmessages();httpsession session=request.getsession();session.setattribute(mainpage,./pages/userreg.jsp);string va
60、lidate=request.getparameter(validate);if(validate=null|validate.equals()|!validate.equals(yes)return mapping.findforward(result);elseuserform regform=(userform)form;string pass1=regform.getuserpassword();string pass2=regform.getaginpassword();if(!pass1.equals(pass2)system.out.println(两次输入的密码不一致!);messag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北第二师范学院《田径Ⅱ》2021-2022学年第一学期期末试卷
- 2024室外综合管网合同
- 《基金运营报告》课件
- 川崎病的健康教育及护理
- 2024中外合资企业劳动合同书
- 2024企业管理资料范本集团公司合同管理制度
- 湖北大学知行学院《论文写作》2022-2023学年第一学期期末试卷
- 湖北大学知行学院《广播电视采访与写作》2022-2023学年第一学期期末试卷
- 妇科常用的检查方法及护理
- 呼吸系统科普健康教育
- 中国航天发展历史
- 临床常用血液成分与输血适应症
- 《燃烧性能测试》课件-第二节 氧指数测试
- DB32/T 4446-2023 公共机构能源托管规程
- 初中英语名词单复数专项训练题目
- 面神经微血管减压术护理
- 2.贵州省地方标准项目申报书
- “读思达”教学法在整本书阅读教学中的实践
- 盐酸右美托咪定鼻喷雾剂-临床用药解读
- HSK 2标准教程(完整版)
- 新HSK1-6词汇大纲文档
评论
0/150
提交评论