湖南交通工程职业技术学院.docx
- 文档编号:9008762
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:60.59KB
湖南交通工程职业技术学院.docx
《湖南交通工程职业技术学院.docx》由会员分享,可在线阅读,更多相关《湖南交通工程职业技术学院.docx(16页珍藏版)》请在冰豆网上搜索。
湖南交通工程职业技术学院
湖南交通工程职业技术学院
毕业设计(论文)
(2008届)
题目:
《******************》
系(部):
计算机系
专业班级:
计应高0601
姓 名:
***
指导老师:
***
2010年6月20日
目录
第一章概述1
1.1开发背景1
1.2开发环境2
第二章系统分析7
2.1可行性分析7
2.2需求分析7
2.3系统用例图8
2.4系统主要类8
第三章数据库分析9
3.1数据库的选择9
3.2数据库的访问方法9
3.2数据库的建立11
第四章功能模块设计12
4.1登陆子系统12
4.2注册子系统13
4.3讨论子系统14
4.4发布新主题子系统14
4.5回复主题子系统15
第五章系统实现16
5.1登陆/注册:
模块16
5.2注册新用户:
模块23
5.3发布/回复主题:
模块26
5.4C/S和B/S模式的区别32
5.5MVC+ADO模式33
参考文献34
致谢35
湖南交通工程职业技术学院系
毕业设计任务书
设计题目
学生姓名
专业班级
联系电话
电子信箱/QQ
指导教师
教研室
联系电话
电子信箱/QQ
设计内容
和目标
设计要求
进度安排
教研室审核
室主任签名:
年月日
说明:
此表一式两份,指导教师和学生各留存一份
湖南交通工程职业技术学院系
毕业论文开题报告
论文题目
学生姓名
专业班级
联系电话
电子信箱/QQ
指导教师
教研室
联系电话
电子信箱/QQ
选题背景、意义
研究
内容
和方法
计划
进度
(根据系部毕业设计实施方案,结合本选题做出合理时间安排)
指导老师
意见
(对本选题的深度、广度及工作量的意见和对设计结果的预测)
指导教师签名:
年月日
教研室
意见
室主任签名:
年月日
说明:
此表一式两份,指导教师和学生各留存一份
中文摘要
随着计算机技术的不断发展与应用,Internet的高速发展,网上论坛已成为人们交流的主要场所。
它开辟了一块“公共”空间供所有用户读取和讨论其中信息,具有形式灵活,应用方便适用性非常强等特点.一方面它把人们想要的发表的信息以一种文件的形式展现出来,需要者还可以与发表者以一种交流研讨的方式,进行交流,拉近了人们的关系,使有用的信息得以快速的传达。
Java是Sun公司推出的一种编程语言。
它是一种通过解释方式来执行的语言,语法规则和C++类似。
同时,Java也是一种跨平台的程序设计语言。
Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。
Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。
Java可以运行与任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。
本系统基于C/S模式设计,利用JAVA作为程序开发语言,SQLSEVER2000作为数据库开发工具,实现具体的论坛系统操作。
从而创建一个更为稳定,高效,安全的运行环境。
本文简介了本系统的项目背景了意义,阐述了JSP的基础知识和技术、数据库基础知识。
并描述了本系统的需求分析、数据库设计、架构设计、功能模块设计和系统主界面设计、系统编码和系统的实现过程。
关键词:
论坛JAVAC/S数据库SQLSERVER
第一章概述
1.1开发背景
当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异。
由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展强大动力,其地位越来越重要。
目前,大多数论坛系统都是基于B/S模式,由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。
因此,本系统采用C/S结构。
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
同时采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
因此本系统主要适用于中小企业,学校,社区等局域网范围内使用,以便于网络维护与管理。
1.2开发环境
1.2.1SQLServer
SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。
在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。
非过程化语言、统一的语言、是所有关系数据库的公共语言。
SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。
1.2.2JAVA虚拟机(1.5)
1.2.2.1什么是Java虚拟机
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。
Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java语言的一个非常重要的特点就是与平台的无关性。
而使用Java虚拟机是实现这一特点的关键。
一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。
而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译.。
Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
1.2.2.2Java虚拟机体系结构
Java虚拟机由五个部分组成:
一组指令集、一组寄存器、一个栈、一个无用单元收集堆(Garbage-collected-heap)、一个方法区域。
这五部分是Java虚拟机的逻辑成份,不依赖任何实现技术或组织方式,但它们的功能必须在真实机器上以某种方式实现。
1、Java指令集
Java虚拟机支持大约248个字节码。
每个字节码执行一种基本C运算,例如,把一个整数加到寄存器,子程序转移等。
Java指令集相当于Java程序的汇编语言。
Java指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有0个或多个操作数,提供操作所需的参数或数据。
许多指令没有操作数,仅由一个单字节的操作符构成。
虚拟机的内层循环的执行过程如下:
do{取一个操作符字节;根据操作符的值执行一个动作;}while(程序未结束)
由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。
指令中操作数的数量和大小是由操作符决定的。
如果操作数比一个字节大,那么它存储的顺序是高位字节优先。
字节码指令流一般只是字节对齐的。
指令tableswitch和lookup是例外,在这两条指令内部要求强制的4字节边界对齐。
2、寄存器
Java虚拟机的寄存器用于保存机器的运行状态,与微处理器中的某些专用寄存器类似。
Java虚拟机的寄存器有四种:
(1)pc:
Java程序计数器;
(2)optop:
指向操作数栈顶端的指针;
(3)frame:
指向当前执行方法的执行环境的指针;
(4)vars:
指向当前执行方法的局部变量区第一个变量的指针。
Java虚拟机是栈式的,它不定义或使用寄存器来传递或接受参数,其目的是为了保证指令集的简洁性和实现时的高效性(特别是对于寄存器数目不多的处理器)。
所有寄存器都是32位的。
3、栈
Java虚拟机的栈有三个区域:
局部变量区、运行环境区、操作数区。
(1)局部变量区每个Java方法使用一个固定大小的局部变量集。
它们按照与vars寄存器的字偏移量来寻址。
局部变量都是32位的。
长整数和双精度浮点数占据了两个局部变量的空间,却按照第一个局部变量的索引来寻址,虚拟机提供了把局部变量中的值装载到操作数栈的指令,也提供把操作数栈中的值写入局部变量的令。
(2)运行环境区在运行环境中包含的信息用于动态链接,正常的方法返回以及异常传播。
①动态链接
运行环境包括对指向当前类和当前方法的解释器符号表的指针,用于支持方法代码的动态链接。
方法的class文件代码在引用要调用的方法和要访问的变量时使用符号。
动态链接把符号形式的方法调用翻译成实际方法调用,装载必要的类以解释还没有定义的符号,并把变量访问翻译成与这些变量运行时的存储结构相应的偏移地址。
动态链接方法和变量使得方法中使用的其它类的变化不会影响到本程序的代码。
②正常的方法返回
如果当前方法正常地结束了,在执行了一条具有正确类型的返回指令时,调用的方法会得到一个返回值。
执行环境在正常返回的情况下用于恢复调用者的寄存器,并把调用者的程序计数器增加一个恰当的数值,以跳过已执行过的方法调用指令,然后在调用者的执行环境中继续执行下去。
③异常和错误传播
异常情况在Java中被称作Error(错误)或Exception(异常),是Throwable类的子类,在程序中的原因是:
a.动态链接错,如无法找到所需的class文件。
b.运行时错,如对一个空指针的引用程序使用throw语句。
当异常发生时,Java虚拟机采取如下措施:
检查与当前方法相联系的catch子句表。
每个catch子句包含其有效指令范围,能够处理的异常类型,以及处理异常的代码块地址。
与异常相匹配的catch子句应该符合下面的条件:
造成异常的指令在其指令范围之内,发生的异常类型是其能处理的异常类型的子类型。
如果找到了匹配的catch子句,那么系统转移到指定的异常处理块处执行;如果没有找到异常处理块,重复寻找匹配的catch子句的过程,直到当前方法的所有嵌套的catch子句都被检查过。
由于虚拟机从第一个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的。
因为Java代码是结构化的,因此总可以把某个方法的所有的异常处理器都按序排列到一个表中,对任意可能的程序计数器的值,都可以用线性的顺序找到合适的异常处理块,以处理在该程序计数器值下发生的异常情况。
如果找不到匹配的catch子句,那么当前方法得到一个"未截获异常"的结果并返回到当前方法的调用者,好像异常刚刚在其调用者中发生一样。
如果在调用者中仍然没有找到相应的异常处理块,那么这种错误传播将被继续下去。
如果错误被传播到最顶层,那么系统将调用一个缺省的异常处理块。
(3)操作数栈区机器指令只从操作数栈中取操作数,对它们进行操作,并把结果返回到栈中。
选择栈结构的原因是:
在只有少量寄存器或非通用寄存器的机器(如Intel486)上,也能够高效地模拟虚拟机的行为。
操作数栈是32位的。
它用于给方法传递参数,并从方法接收结果,也用于支持操作的参数,并保存操作的结果。
例如,iadd指令将两个整数相加。
相加的两个整数应该是操作数栈顶的两个字。
这两个字是由先前的指令压进堆栈的。
这两个整数将从堆栈弹出、相加,并把结果压回到操作数栈中。
每个原始数据类型都有专门的指令对它们进行必须的操作。
每个操作数在栈中需要一个存储位置,除了long和double型,它们需要两个位置。
操作数只能被适用于其类型的操作符所操作。
例如,压入两个int类型的数,如果把它们当作是一个long类型的数则是非法的。
在Sun的虚拟机实现中,这个限制由字节码验证器强制实行。
但是,有少数操作(操作符dupe和swap),用于对运行时数据区进行操作时是不考虑类型的。
4、堆
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。
Java语言具有无用单元收集能力:
它不给程序员显式释放对象的能力。
Java不规定具体使用的无用单元收集算法,可以根据系统的需求使用各种各样的算法。
5、方法区
方法区与传统语言中的编译后代码或是Unix进程中的正文段类似。
它保存方法代码(编译后的java代码)和符号表。
每个类文件包含了一个Java类或一个Java界面的编译后的代码。
可以说类文件是Java语言的执行代码文件。
为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式也作了详细的说明。
其具体细节请参考Sun公司的Java虚拟机规范。
Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。
1.2.2.3Java类文件(.class文件)
每个类文件包含了一个Java类或一个Java界面的编译后的代码。
可以说类文件是Java语言的执行代码文件。
为了保证类文件的平台无关性,Java虚拟机规范中对类文件的格式作了详细的说明。
其具体细节请参考Sun公司的Java虚拟机规范。
第二章系统分析
2.1可行性分析
随着Internet技术的发展,论坛已成为网络上不可缺少的交流方式之一。
目前,大多数论坛系统都是基于B/S模式,其个性化特点明显降低,无法实现具有个性化的功能要求。
操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
页面动态刷新,响应速度明显降低。
应用服务器运行数据负荷较重。
给数据库访问造成较大的压力。
本系统采用C/S模式设计。
由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
软件功能设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的功能要求;操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
2.2需求分析
在网络技术逐渐渗入社会生活各个层面的今天,以前网站上的论坛管理统要用户登陆以后才能进行相关访问及互动。
而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。
论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。
网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。
目前,网上论坛已不是新事物,许许多多的别具特色的论坛在网络上随处可见。
为了体现论坛的特色,我们搜索各式各样的论坛版面,为了改变网上现存论坛的普遍风格,追加功能,更便于管理,于是开发出一套界面友好美观,易于使用的论坛管理系统。
系统包括主要的功能:
新用户的注册,会员密码取回,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户需要。
网上论坛系统是一个会员登录留言系统。
网上游客能够浏览论坛上的帖子,并且能够注册成为用户。
论坛注册会员能够修改自己的资料信息,申请版主,发表帖子,让大家积极参与讨论。
论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等。
2.3系统用例图
图2-1用例图
用户首先登录再注册或进入主界面,进入主界面后可以进行讨论、个人设置、发布新主题。
进入讨论时可以回复主题发送帖子。
2.4系统主要类
表2-1类
第三章数据库的设计
3.1数据库的选择
SQLServer2000能够满足今天的商业环境要求不同类型的数据库解决方案。
它一种应用广泛的数据库管理系统,具有许多显著的优点:
易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。
SQLServer2000还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。
3.2数据库的访问方法
3.2.1连接方式
java连接数据库有两种方式,一是通过jdbc/odbc桥(需要配置数据源),二是通过jdbc驱动.这里使用后者,因为前者涉及到jdbc到odbc转换的问题,执行效率很低.
1、jdbc驱动:
下载jdbc驱动包安装之后,打开那个文件夹,会看到三个jar包,只要把这三个jar包设置到环境变量(classpath)里就可以了。
2、假设驱动程序安装在d:
\sqldriver目录下,那么就在classpath中添d:
\sqldriver\msbase.jar;d:
\sqldriver\mssqlserver.jar;d:
\sqldriver\msutil.jar;或者在使用NetBeansJAVA开发环境中在项目面板中库添加JAR文档,加入三个jar。
3、如果使用的是windowsxp系统的sp2版本,就需要给SQLServer2000打一个sp3a或者sp4的补丁.打完之补丁之后才可以使用。
3.2.2安装时候的问题
1、补丁安装过程中常见问题
(1)安装过程中出现“以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动”,
(2)解决方法、步骤:
①重启机器,再进行安装,如果发现还有该错误,请按下面步骤;
②在开始->运行中输入regedit;
③到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager位置;
④选择文件->倒出,保存;
⑤在右边窗口右击PendingFileRenameOperations,选择删除,确认;
⑥重启安装,问题解决。
注意:
如果还有同样问题,检查其它注册表中是否有该值存在,如有请删掉。
(3)在安装SQLServerSP3,有时候会出现:
无论用windows认证还是混和认证,都出现密码错误的情况,这时查看临时目录下的sqlsp.out,会发现以下描述:
[TCP/IPSockets]SpecifiedSQLservernotfound.
[TCP/IPSockets]ConnectionOpen(Connect()).
其实这是SQLServerSP3的一个小bug,在安装sp3的时候,没有监听TCP/IP端口。
(4)解决方法、步骤:
①打开SQLserver客户器网络实用工具和服务器网络工具,确保启用的协议中包含namepipe,并且位置在第一位;
②HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\
ConnectTo]"DSQUERY"="DBNETLIB",如果没有,自己建立;
③停止mssql;
④进行安装即可。
3.3数据库的建立
建立DataBbs数据库。
UserInformation(用户信息表)和BbsContent(论坛表)
图3-1
BBS信息表图
图3-2用户信息表图
第四章************
略
(格式可参照前三章)
参考文献
1.赵池龙,《实用软件工程》[M],电子工业出版社,2006,8
2.(美)微软公司,《MicrosoftSQLServer2000数据库编程》[M],北京希望电子出版社,2001,5
3.赵池龙,《SQLSERVER2000开发和管理应用》[M],人民邮电出版社,2005,8
4.孙卫琴,《Java面向对象编程》[M],电子工业出版社,2006,7
5.阎宏,《Java与模式》[M],电子工业出版社,2002,10
6.(美)RogersCadenhead,《Java编程入门经典》[M],人民邮电出版社,2006,3
7.孙卫琴,《精通Struts:
基于MVC的Javaweb设计与开发》[M],电子工业出版社,2004,8
………(至少10篇以上文献)
致谢
经过两个月的忙碌和工作,本次毕业设计已经接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持。
本次设计很难完成。
在这里首先要感谢我的导师***老师。
*老师平日里工作繁多,但在我们的设计过程中,仍给予悉心的指导。
他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。
其次要感谢和我一起作毕业设计的成员,在本次设计中大家一起,克服困难来完成此次毕业设计,彼此互相学习。
如果没有他们的努力,此次设计的完成将变得非常困难。
再次还要感谢五年来所有的老师,为我们打下了专业知识基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。
此次毕业设计才会顺利完成。
最后更要感谢母校—交工院五年来对我的大力栽培。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南 交通 工程 职业技术学院