毕业设计(论文)基于JSP的bbs计算机论坛网站系统设计

上传人:仙*** 文档编号:34098534 上传时间:2021-10-20 格式:DOC 页数:78 大小:1.43MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于JSP的bbs计算机论坛网站系统设计_第1页
第1页 / 共78页
毕业设计(论文)基于JSP的bbs计算机论坛网站系统设计_第2页
第2页 / 共78页
毕业设计(论文)基于JSP的bbs计算机论坛网站系统设计_第3页
第3页 / 共78页
资源描述:

《毕业设计(论文)基于JSP的bbs计算机论坛网站系统设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JSP的bbs计算机论坛网站系统设计(78页珍藏版)》请在装配图网上搜索。

1、 摘 要本系统是采用jsp+servlet技术开发设计的计算机论坛网站系统,基于MVC的设计模式,结合JSTL+EL以及AJAX等的页面显示技术,使JSP页面中无JAVA代码的显示,保证了代码的安全,同时简化了JSP页面的编码。系统实现了论坛信息的动态发布,使得对信息的管理更加及时、高效,提高了工作效率。数据库采用了SQLServer2005数据库,操作简单、方便而且廉价易维护性高。软件采用的是B/S的设计结构,主要分为前台显示和后台管理两部分。前台是用户注册、密码修改、登录、浏览帖子、回复帖子、根据关键字搜索帖子等;后台主要实现对帖子的查看、对非法的帖子进行删除,对回复的帖子进行查看、删除等

2、管理操作以及公告的发布、添加、删除、修改等操作。本文通过对计算机论坛网站系统设计到实现流程的描述,目的是让人们了解计算机论坛网站的结构以及系统从设计到实现中各个部分的解决方案,让大家了解JAVA网络编程广泛采用的设计模式。关键词:计算机论坛,系统,JSP,公告AbstractThe hot-fish forum net system is designed in the paper, which employing the technology of jsp+servlet, basing on the mode of MVC. In order to ensure the security

3、of the design code, this paper adopts the display technology, such as JSTL+EL and AJAX. In the mean time, the page code is simplified by use of some relate ways. The dynamic issue system is finished in this paper, which made the management of information realize real-time renew and the efficiency ri

4、se. This paper employed the SQLServer2005 database, having many advanced characteristics, such as operate simple, the low price and the more convenient maintain procedure. The B/S design structure is used in this software, which divided into two parts, the state display and the backstage management.

5、 Consumer to register, the password modification, password retrieve, register, browse, reply an invitation card and search invitation card etc are operated in the former part; The later part mainly carries out the management operation, including establish and cancel to the essence of the invitation

6、card, look into to the invitation card and deletes to the illegal invitation card progress, research, delete to the invitation card progress of the recovery etc, and what is more ,the operation of issuing releasing, increasing, deleting, modifying the announce etc is realized in this part. This pape

7、r released the technology of the net structure and the method to solve the problem encountered in the design, basing on description to the process of forum net system. Let everyone understand JAVA network plait distance of the design mode of the extensive usage.Keywords: forum,system, JSP, announce3

8、目 录前言11 可行性分析31.1 技术可行性31.2 操作可行性31.3 分析结论42 需求分析42.1 系统的功能需求42.1.1 会员功能42.1.2 搜索功能52.1.3 版主功能52.1.4 论坛展区功能52.1.5 后台数据维护功能53 概要设计63.1 系统总体构概要设计63.2 数据模型73.2.1 数据流图73.2.2 系统设计E-R图93.3 数据库设计94 详细设计及实现124.1 前台页面的设计与实现124.1.1 首页的设计实现124.1.2 用户登录界面的制作144.1.3 用户注册界面的制作184.1.3 用户分区界面的制作224.2 后台页面的设计与实现274.

9、2.1 管理员登录界面的设计274.2.2 管理员管理的设计与实现285 测试395.1 测试的任务及目标395.1.1 测试的任务395.1.2 测试的目标395.2 测试方案395.3 测试用例395.3.1 会员登录测试405.3.2 发帖测试416 结论44参考文献45谢辞46II 基于JSP技术的计算机论坛网站的设计与实现前言网站论坛是一个以文化交流,学习知识,娱乐游戏为目的的,借助网络传输媒体和WEB共享实现的应用系统。所以定位要准确,什么样的目的就要体现什么样的特色!本网站是以热带鱼知识交流为主要的目的,所以在服务和内容方面要从知识交流这个方面考虑,体现互联网的优势,消息的实效快

10、,传播的速度广!为了能更好的服务于人,本论采用MVC设计模式即:Model+View+Controller的设计模式,以软件工程的思想从全局把握开发流程,增加了系统的可靠性和可维护性,从而降低了投入。 伴随着网络的出现,网页逐渐融入人们的生活。随着Internet的进一步发展,建站的技术日新月异。 就现在开发web技术来说,主要集中分为三大类:基于C/S结构的应用程序开发;结合C/S结构和Web技术的复合应用程序;基于B/S结构的动态网页技术。C/S结构系统:是传统开发模式,一般以数据库和客户端的两层结构实现,也有加入中间件的三层或多层结构,在web早期是标准的系统模式,但随着计算机技术的发展

11、和网络的发展, C/S结构的不足越发明显,B/S结构系统逐渐成为了时尚,而该结构的实现技术中最流行的就是.NET和JSP,而从安全性的角度将JSP又更胜一筹,因此采用JSP技术开发该计算机论坛系统。本系统能够让人们更加方便的在网上进行热带鱼知识交流,从而促进热带鱼文化知识的传播以及各类热带鱼信息技术的传播,同时达到人们网上交流、学习的目的。开发本系统用到了如下相关技术:(1)JSP技术 JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。(2)J

12、STL+EL技术 EL 全名为Expression Language,它原本是JSTL 1.0为方便存取数据所自定义的语言。JSTL是由JCP(Java Community Process)所指定的标准规格,它主要提供给Java Web 开发人员一个标准通用的标签函数库。Web 程序开发人员能够利用JSTL 和EL来开发Web 程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序可读性、维护性和方便性(3)AJAX技术Ajax(Asynchronous JavaScript and XML)是结合了XHTML技术、XML以及JavaScript等编程技术,可以让开

13、发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。系统采用Microsoft公司的SQLServer2005数据库,该数据库操作简单,可靠性较高,完全可以满足中小型网站的建设需求。1 可行性分析1.1 技术可行性技术上的可行性主要是根据系统分析得到的需要开发的软件,来分析利用现有技术是否能实现待开发的软件。本系统需要连接到互联网上,运用jsp+servlet技术开发,方便快捷,开发所需要的软件工具都是简单易操作的且开源,安全,可维护性强。如下所示:Web服务器:Apache-Tomcat-6.0.1版本.开发

14、技术:jsp+servlet技术.开发工具:Eclipse 3.2及其MyEclipse Enterprise Workbench 5.1.0版本以及网页开发工具Macromedia Dreamweaver 8.数据库:SQLServer2005服务器操作系统:由于JAVA语言的跨平台性,开发过程采用Windows 2000 Professional操作系统,也可以采用Windows XP操作系统。现有的硬件和软件在功能上是可以满足系统开发的需求,开发所需要的软件工具也都是简单易操作的,开发人员的技术水平完全可以胜任系统的开发。所以该系统在技术上是可行的。1.2 操作可行性该系统具有易用性,B

15、/S结构使得客户端不必安装任何软件,只要有浏览器并连接到Internet或企业内部的Intranet上即可使用,免除了非专业人员操作技术上的困难。服务器操作系统采用Windows XP,Web服务器为Apache-Tomcat- 6.0.1版本,数据库为SQLServer2005。该系统具有友好亲切的使用界面,功能丰富并且使用简单,一般用户无需培训即可使用,对运行的平台和机器配置要求不高,便于配置和应用。1.3 分析结论经以上分析,说明该系统在开发上是可行的, 在技术、操作上都有可行性,可以进行开发。2 需求分析2.1 系统的功能需求计算机论坛具有标准论坛系统所具有的分类管理,注册会员可发表文

16、章,浏览文章,文章回复,查询文章,后台管理维护界面,真正实现节约资源、提高效率、业务处理的同时真正实现计算机论坛的功能作用。2.1.1 会员功能为了使论坛有良好的秩序,在身份确定方面一定要作准确无误。在进入论坛之前每一个用户都要在网站注册一个会员的账号。当然,网站在用户资料的保密方面承诺不外泄。注册号账号之后,用户就可以用账号登录网站,进行发表文章、回复帖子等,对于没有注册的用户是不能回复帖子的,更不能发帖子。2.1.2 搜索功能用户可以根据自己的实际需求,搜索论坛里的全部文章。可按标题、类别以及关键字来查找各种需要的信息。2.1.3 版主功能版主功能主要是对帖子的管理,其中包括删除帖子、回复

17、帖子。删除帖子主要是有的帖子有不健康信息,对于这些信息给予删除。接收到需要回复的帖子时,提出意见、发表见解,给予适当的回复。2.1.4 论坛展区功能论坛展区是主要是各类信息的主题,其中包括用户自拟的主题,这样用户就可以用帖子进行交流。其中包括各种帖图、热带鱼养殖技术、时事等。在经过管理员的筛选,保留下来提供给大家的。在这里可以供用户浏览帖子,发送帖子以及对别人的帖子给予自己的意见,即回复帖子。2.1.5 后台数据维护功能后台管理主要是对用户的信息管理,其中包括用户管理、帖子管理、修改密码处理。主要是帖子管理,对用户发表的不健康信息给予删除,也包括对不同分区的信息管理,通过对数据库的更新来修改用

18、户密码和发布公告。综合上述分析进行概要设计。2.2 JSP技术简介JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用JSP作为网络应用程序的开发

19、工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。 2.3 JSP工作原理JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML

20、格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。2.4 JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面

21、设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判

22、断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。2.5 JSP的特点1. 简化的页面生成技术。JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。2. 与Java平台有机集成。JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥

23、出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。3. 硬件平台和服务器无关性。JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。4. 功能可扩展性。如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。JS

24、P可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。2.6 系统数据库连接JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。

25、通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。简单地说,JDBC能完成下列三件事:1. 同一个数据库建立连接;2. 向数据库建立连接;3. 处理数据库返回的结果。JDBC是一种通用低层的应用程序编程接口,它在不同的

26、数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)

27、让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图5.1 使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,

28、在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图5.2所示。图5.2 JDBC的三层模型因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许

29、多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入

30、驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将

31、表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。数据库连接如图5.3所示:图5.3 数据库的连接处理数据库的连接处理具体实现如下:/建立JDBCODBC桥sun.jdbc.odbc.JdbcOdbcDriver;/桥建立不成功时的错误处理catch(ClassNotFoundException event)/建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBCODBC桥Sql=SQL查询语句执行查询Rs=返回结果/SQL出错处理 catch(SQLException e1)2.7 SQLSERVER2005数据库SQLSe

32、rver2005名字的来历SQLServer2005最初的开发者的意图是用SQLServer2005和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:SQLServer2005并没有他们需要的那么快和灵活。这导致了一个使用几乎和SQLServer2005一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于SQLServer2005而写的第三方代码更容易移植到SQLServer2005。SQLServer2005的概述SQLServer2005是一个关系型数据库管理系统,开发者为美国Microsoft公司。目前SQ

33、LServer2005被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了SQLServer2005作为网站数据库。SQLServer2005的特性1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持Mac OS、Windows等多种操作系统 3.为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、Python、Ruby和Tcl等。 4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为

34、一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库 SQLServer2005的应用与其他的大型数据库例如Oracle、DB2等相比,SQLServer2005自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,SQLServer2005

35、提供的功能已经绰绰有余。SQLServer2005管理可以使用命令行工具管理SQLServer2005数据库,也可以使用sqlserver自带的企业管理器来进行管理,界面友好,操作简单。SQLServer2005存储引擎master SQLServer2005的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务InnoDB 事务型数据库的首选引擎,支持ACID事务,支持行级锁定BDB 源自Berkeley DB,事务型数据库的另一种选择,支持COMMI和ROLLBACK等其他事务特性Memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内

36、存空间。并且其内容会在SQLServer2005重新启动时丢失Merge 将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用Archive 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差Federated 将不同的SQLServer2005服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用Cluster/NDB 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用CSV 逻辑上由逗号分割数据的存储引擎BlackHole 黑洞引擎,写

37、入的任何数据都会消失另外,SQLServer2005的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。SQLServer2005最常见的应用架构单点(Single),适合小规模应用复制(Replication),适合中小规模应用集群(Cluster),适合大规模应用2.8 BS模式与C/S模式的比较分析C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时

38、,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。 B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。 第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的

39、Web服务器。 第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。 第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。 B/S模式的优势 首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室

40、的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对W

41、eb服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。 再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。 最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使

42、得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。 鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。 B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。2.9 JDBC介绍JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它

43、由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同

44、的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,

45、是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS

46、管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例: Connection con = DriverManager.get

47、Connection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代码对基于JDBC的数据库访问做了经典的总结3 概要设计3.1 系统总体构概要设计为了能把系统的结构介绍得明确,我

48、们采用示意图来加以辅助说明。计算机论坛系统计统管理员界面会员浏览帖子回复帖子管理用户管理帖子修改密码发布公告删除用户修改资料删除帖子修改帖子板块设置删除回复图3-1 系统总体构成示意图3.2 数据模型3.2.1 数据流图管理用户帖子p注册会员浏览帖子发帖子回帖子会员普通用户反馈信息管理员计算机论坛系统图3-2 整体数据流图登录会员资料用户名、密码存入数据库注册用户登录论坛 图3-3 会员登陆系统的数据流图调出的帖子信息息显示内容回帖发帖会员帖子内容论坛展区模块图3-4发帖的数据流图修改或删除信息管理员维护存入数据库调出用户界面维护指令修改后信息用户信息图3-5 会员维护系统数据流图3.2.2

49、系统设计E-R图为了让大家能对各个实体之间的对应关系有所了解,画实体关系图如下:图3-5 系统设计E-R图3.3 数据库设计计算机论坛中所有的主题,用户的注册信息,回复的帖子等等,都是通过数据的形式来进行管理和维护,他不同于实体的文字交流。数据库就形如一个仓库,他是用来存放数据的地方。我们在前台进行的每一步,都需要调用数据库中的数据。数据库设计的合理与否,安全性,稳定性这些方面都直接影响着计算机论坛的运作。一个好的数据库设计方案,往往能够让网站的效率事半功倍。所以在对数据库的设计要格外的悉心,考虑的要格外周全。确定数据库的物理结构,在关系数据库中主要指存取和存储结构。如果物理设计结果满足原设计

50、要求,即可进行实施,否则,就需要重新设计和修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。数据库系统是多用户共享的系统,对于同一关系要建立多条存取路径才能满足多用户的多种应用要求。现代技术的飞速发展是数据库存储变的简单、方便、易行。无论是索引法还是聚簌法都可以使物理设计顺利实现。在数据库中建立表。本系统共建立了5个数据表,具体数据表的情况如下:(1) 用户表。该表主要保存论坛管理员和用户的主要信息。该数据表的表结构如表所示:表3-6 用户表(2) 论坛板块信息表。保存论坛板块的基本信息。该数据表的结构如表所示表3-7 论坛板块信息表(3) 论坛帖子信息表。该数据表用来记录发帖子的相关信息

51、,该数据表的结构如表所示表3-8论坛帖子信息表(4) 在线表。记录用户在线信息相关数据,该数据表的结构如表所示表3-9在线表(5) 公告表。向所有区发布公告。该数据表的结构如表所示 表3-10 公告表4 详细设计及实现本计算机论坛系统的设计实现主要分两个方面:前台页面的的设计实现和后台管理界面的设计和实现。4.1 前台页面的设计与实现4.1.1 首页的设计实现通过Dreamweaver这个网页制作工具可以简单方便的画出前台页面(如下图)。在首页设置用户登录按钮、注册按钮、管理员登录按钮以及其他版块的链接等。没有登录的用户不能进出其他版块。在JSP与Servlet中这是怎么做到的呢?我们通过过滤

52、器的应用来实现我们的目的。图4-1 论坛首页图首先我们建个名为GLQ的类,代码如下:import java.io.IOException;/部分代码省略。import javax.servlet.http.HttpSession;public class GLQ implements Filter public GLQ() public void destroy() public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletExceptio

53、n HttpServletRequest request=(HttpServletRequest)req;HttpServletResponse response=(HttpServletResponse)res;HttpSession session=request.getSession();String login=(String)session.getAttribute(username);if(login=null)response.sendRedirect(/ni/index.htm);chain.doFilter(req, res); public void init(Filter

54、Config arg0) throws ServletException 因为没有登录的用户SESSION是空的,所以未登录的用户是无法登录我们想要过滤的页面的。光建过滤器类并不能实现页面的过滤我们还要在Myeclipse的.xml文件中加入以下代码,也就是把我们要过滤的网页放到过滤器中,代码如下:user db.GLQ /部分代码省略; user /br.jsp 4.1.2 用户登录界面的制作 当用户点电击“登录”时,页面会链接到login.jsp也就是我们的登录窗口本页面设计项目如图所示:图4-2 用户登录图我们把三个文本域name,password,yzm的值也就是用户提交的信息传给Se

55、rvlet让它来完成与数据库的信息交流。这种模式就是在前面说过的MVC设计模式。尽量减少*.jsp中的java代码,最好没有。由于本人技术有限还不能完全实现MVC的设计模式,但是做为java软件开发中最广泛的模式设计指导思想,MVC无疑是首屈一指的。我会在今后的学习中不断努力,使自己的程序设计更科学合理。接下来我们必须在Servlet中建立一个Check1.java来处理login.jsp传递过来的值。代码如下(其中部分无关紧要的代码已省略):public class Check1 extends HttpServlet public void doGet(HttpServletRequest

56、 request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(gb2312);String yzm = request.getParameter(yzm);String yz

57、m1 = (String) request.getSession().getAttribute(s62);if (yzm.equals(yzm1) Qing q = new Qing();q.setUsername(request.getParameter(name);q.setPassword(request.getParameter(password);int a = new DB().chk(q);if (a 0) HttpSession session1 = request.getSession();session1.setAttribute(username, q.getUserna

58、me();response.sendRedirect(/ni/chenggong.jsp); else response.sendRedirect(/ni/login1.jsp); else response.sendRedirect(/ni/yanzheng.jsp);那么,应用广泛的验证码又是怎样实现的呢?首先建一个ImageEnsure类,它的功能是用字符随机生成验证码图片,我们依据图片来填写验证码。然后再建立一个image.jsp页面用来输出要填的验证码,把它存到SESSION中,用来在Servlet对用户输入的验证码进行校对,验证码就这样实现了。 在验证码输入正确后servlet会调

59、用DB类中的chk()方法以验证数据库中是否存在该用户。DB类是我们在连接SQLSERVER2005数据库时建的连接池中的一个类。我们通过它把对SQLSERVER2005数据库的操作封装起来,提高系统的安全性。连接池的实现在此就不赘述了。这里只简略地给出chk()方法的代码,也就是登录的核心代码:public int chk(Qing t) int a=0;try stmt=conn.prepareStatement(select password from username where name=?);stmt.setString(1, t.getUsername();rs=stmt.exe

60、cuteQuery();if(rs.next()String rp=rs.getString(password);if (rp.equals(t.getPassword()a=1; catch (SQLException e) e.printStackTrace();return a;我们对用户表username进行查询,如果有就返回1,没有就返回0。如果返回的是1,那么Servlet会为用户设定个SESSION,这样用户就可以通过过滤器进入其他界面了。如果登录成功则跳转到下面的界面:图4-3登录成功图没有注册的用户是不能登录的,那么怎么实现注册呢?4.1.3 用户注册界面的制作用户注册界面的制作技术与登录界面的技术很相似,不同的就是这里增加了对脚本语言的使用以及AJAX技术的应用。为了能让用户注册符合我们的要求以便于管理,我们采用了脚本语言(这里主要是JAVA脚本即:javaScript)。在用户填写的时候如果该用户名已经有人注册了,那么在光标焦点离开用户名文本框的时候后,在右侧的文本框中会显示“该用户已经存在,请重新选择用户”

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!