JSP课程设计论文.docx
《JSP课程设计论文.docx》由会员分享,可在线阅读,更多相关《JSP课程设计论文.docx(49页珍藏版)》请在冰豆网上搜索。
JSP课程设计论文
2012届
分类号:
TP311
单位代码:
10452
专业课课程设计(论文)
基于JSP的班级论坛系统
姓名
学号
年级2008级
专业网络工程
系(院)信息学院
指导教师
年月日
摘要
为了方便信息的交流,在结合动态服务网页(JSP)和MYSQL技术之下开发了这个快截、界面友好的网上交流系统。
论坛使用动态服务网页(JSP)技术建设论坛的骨干框架,使用MYSQL制作系统的数据库,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。
该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。
该论坛还有一些特殊的功能,强大的搜索功能等。
本系统采用现在比较流行的MVC结构进行系统设计。
主要功能围绕如何更好地促进人与人的交流进行。
关键词:
班级论坛;管理信息系统;Mysql;Myeclipse
Abstract
Inordertofacilitatepeopleinformationtheexchange,inunifiedJSPandMYSQLundertheservertechnologyhasdevelopedthisquicktruncation,thecontactsurfacefriendlysystem.ThesystemusetheJSPtechnologyconstructionthemainframe,useMYSQLasthesystemsdatabase,realizedaforumsystemwhichfunctionrelativelycompletely,thenetfriendhasbeenpossiblefreelytoproposethequestionaswellashelpedotherpeopletosolvetheproblem,orexchangeexperience.
Thisforumfunctioniscomplete,everyonemayfreelyexpresshisviewpointinhereandexpresstheopiniontothesubject,wealsomaypromptlysolvetonetfriend'squestion,andgaintheusefulknowledgefromthere.Thisforumalsohassomespecialfunctions,forexamplethepowersearchfunction.The systemuses theMVC architecture isnowmorepopular forsystem design. Main features onhowto betterpromote theexchangesbetween people.
KeyWords:
ClassForum;MIS;;Mysql;Myeclipse
前言
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。
作为Internet上一种先进的,易于被人们所接受的信息检索手段,WorldWideWeb(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。
据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。
近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。
这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。
一些站点已经在这方面做出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。
这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。
于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一个页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户做出任何额外工作的情况下实现了为用户量身订做的个性化页面。
要实现这样的功能,离不开后台数据库的支持。
用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。
本文中数据库服务器端采用了MYSQL数据库并以先进的JDBC技术进行数据库存取等操作,使Web与数据库紧密联系起来。
本文作者主要完成Web服务器端的用户管理、帖子管理、数据库管理、浏览和查找功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。
第1章开发工具与应用技术简介
1.1.MyEclipse概述
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP, CSS, Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
1.2JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统统上运行。
JSP技术使用Java编程语言言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
1.3MYSQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
对于Mysql的前途,没有任何人抱乐观的态度。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
自身特性:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、Novell Netware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
1.4Tomcat及J2EE简介
Tomcat是Apache软件基金下的一个开源项目,是在SUN的JSWDK的基础上发展起来的另一个优秀的JSP服务器,它不但支持Servlet,而且还提供了Web服务器的功能。
Tomcat是一个基于HTTP协议的webappclcationserver,能够接收Http请求和返回Http应答。
Tomcat内置了一个web容器catalina,主要就是实例化web组件(servlet,jsp)和创建一些java对象(HttpServletResquest、HttpServletResponse),启动一个线程去调用web组件,并且将前面创建的这些对象传给servlet,HttpServletRequest里面包含了Browser这一端传过来的数据信息,我们在servlet里面就可以去获取到这些信息。
HttpServletResponse对象提供了一些方法,可以往Browser这一端发送数据。
J2EE技术
J2EE简介
在SUN公司制定的J2EE规范中,JSP,Servlet,EJB构成了整个J2EE的核心,但由于开源软件的发展,由许多商业性或者非商业性的厂商或组织对整个J2EE规范做了增强。
目前,整个J2EE框架的开发模型如下:
1).运行在客户端机器上的客户层组件。
2).运行在J2EE服务器上的Web层组件。
3).运行在J2EE服务器上的业务逻辑层组件。
4).运行在EIS服务器上的企业信息系统(Enterpriseinformationsystem)层软件。
图2.2J2EE框架的开发模型
其中在各层使用的主要技术如下:
1).客户层:
HTML,Javascript,Ajax
2).表现层:
JSP,Servlet,Struts
3).业务逻辑层:
JavaBean,EJB,Spring
4).集成层(持久化层):
JDBC,Hibernate,JCA
本系统采用的主要技术如下:
HTML+Javascript+JSP+Servlet+JavaBean
JSP技术介绍
1).JSP是由SUN公司倡导、许多公司参与一起建立的一种动态网页技术标准。
2).JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
3).JSP的本质就是Servlet,它是Servlet技术的扩展。
4).在整个J2EE体系中,JSP的主要技术优势在于显示数据。
Servlet技术介绍
1).Servlet由Sun公司倡导,许多公司参与一起建立的一种服务器端技术标准。
2).如果把HTML代码中嵌入Java代码称作为JSP,那么在Java代码中嵌入HTML代码就是Servlet。
3).在整个J2EE体系中,Servlet的主要技术优势在于流程控制。
JavaBean技术介绍
1).JavaBean也是一种开发标准,只是这个标准不要求严格的执行。
2).JavaBean是一种Java类,它遵从一定的设计模式,使它们易于和其他开发工具和组件一起使用。
3).主要特点包括:
提供一个无参构造器,一组setXxx和getXxx方法,还可能存在一些业务逻辑方法。
4).JavaBean的技术优势:
简单,与任何Web容器无耦合,善长于处理业务逻辑。
第2章系统需求分析
2.1系统的需求性分析
需求分析是软件设计的第一步,也是关系开发时间及质量的至关重要的一步。
它是整个软件成功实现的基础,只有真正做好需求分析,才能真正了解客户的要求,以指导下一步的工作,整个软件的设计是建立在需求分析出的各项功能上的。
为了更好地了班级论坛方面的需求,开发出一套实用性、针对性强的管理系统,在网络中当前流行论坛借鉴学习,分为以下几个功能:
(1)用户登录(login.jsp)。
(2)显示欢迎页面。
(3)用户发表新的留言(addNewPost.jsp)。
(4)留言回复(postReply.jsp)。
(5)留言搜索(postSearch.jsp)。
(6)留言删除(postDel.jsp)和修改(postUpdate.jsp)。
(7)查看在线人员(onlineList.jsp)。
(8)用户退出(logout.jsp)。
2.2可行性分析
并非任何问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。
如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。
可行性分析的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
下面将从技术可行性、经济可行性和操作可行性三方面来说明。
2.2.1经济可行性分析.
该管理系统的开发需要软件开发人员花费一定的时间精力,因此需要一定的运行资金。
依据系统的性能而定。
但是它给企业带来的利润却是不能用价格估量的。
除了开发人员费用外,实施该系统的主要费用还有如下几个方面:
1.设备购置费用:
包括服务器、工作站、外围相关设备的购置费用。
这些费用都是一个公司所必备的基本设施,现在公司在基本运行中都有这些设备的投入,因此不会产生另一部分的重复投入。
2.软件费:
本系统的费用,相关操作平台软件费。
3.运维费:
系统运行、维护的费用。
本系统没有额外的运行维护费用,企业网站只需要进行日常管理,没有另外开销。
4.效益分析
1)有效地降低成本、节省开支
2)提高工作效率,扩大服务范围
3)提高信息处理的及时性、准确性
2.2.2操作可行性分析
本系统在操作上也是可行的。
本系统运行在Windows平台上,环境稳定可靠,它所要求的软件配置:
1.它要求服务器上要安装MicrosoftSQLServer2000软件。
2.操作系统的选择:
使用WindowsXP操作系统。
所要求的硬件配置:
PentiumIII/256MB/20GB及以上的个人计算机即可。
另外该系统操作简单,有机算计基础的人无需培训即可使用,即使是没有计算机基础的人只需经过简单的培训就可以很熟练的使用本系统。
系统运行后,就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言,是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的选项卡或按钮就能执行相应的功能,就管理者而言,关心的是如何处理各种数据,只要把用户的信息输入计算机,管理者就可运行相应的后台程序进行处理。
而以上的这些功能都能在所选择的开发环境中用所选择的开发工具来实现。
所以说本系统在用户使用可行性上是没有问题的。
2.3系统配置分析
2.3.1软件配置
软件配置主要包括数据库的选择和操作系统的选择。
1.数据库选择
本系统主要是针对中小型企业设计开发的。
中小型企业,一方面物资类别不是很多,对数据库的吞吐量和稳定性的要求就不是很高,再由于其建设经费的限制,就要考虑选择较为便宜的数据库,采用MYSQL数据库系统是最佳的选择。
2.操作系统选择
可以根据用户量的大小选择不同的操作系统。
当然,一般情况下,我们对微软Windows界面比较熟悉,因此本系统选择WindowsXP操作系统。
2.4系统设计开发思想
2.4.1系统开发设计思想
1.尽量采用现有软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
2.系统应尽量满足班级论坛的需要,并达到在操作的过程中直观、方便、实用、安全等要求。
3.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
4.系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。
2.4.2系统开发设计遵循原则
1.可靠性原则
用高质量的设备;
在系统结构设计和硬件选型配置中,采用容错技术,以保证系统的可靠运行;
2.可维护性原则
系统运行后,维护工作将和是一个非常长期的工作。
因此,本系统要充分考虑维护工作的需求,设计采用面向对象、模块化的技术,提高软件的复用性,界面一致性,代码重用性,尽量降低维护的工作量及其维护的困难;
3.经济性原则
在满足系统性能要求的前提下,硬件配置尽量考虑利用已有设备,以降低系统成本。
第3章系统功能设计
3.1系统功能分析
3.1.1确定系统的功能
通过对用户提出的需求进行细致分析,形成系统功能需求的叙述文档,并逐步明确系统的各项功能,为后面的数据库设计和项目开发指明目标与方向。
功能:
(1)用户登录(login.jsp)。
(2)显示欢迎页面。
(3)用户发表新的留言(addNewPost.jsp)。
(4)留言回复(postReply.jsp)。
(5)留言搜索(postSearch.jsp)。
(6)留言删除(postDel.jsp)和修改(postUpdate.jsp)。
(7)查看在线人员(onlineList.jsp)。
(8)用户退出(logout.jsp)。
3.1.2主要功能流程
通过上两节对目标系统功能的分析,经过详细的设计工作以及对目标系统的精确描述得出操作界面的主要功能流程3-1:
3.2数据库设计
3.2.1数据库的选择
数据库系统DBS(DataBaseSystem,简称DBS)是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
它通常由软件、数据库和数据管理员组成。
其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据库管理员一般是由业务水平较高、资历较深的人员担任。
Web开发与数据库是密不可分的,数据库是信息管理系统的后台,在信息管理系统中有着很重要的地位。
数据库设计的好坏,直接影响到这个系统的运行效率。
良好的数据库设计,可以提高数据信息的存储效率保证数据信息的完整性和一致性。
基于对系统需求和功能的分析,我们决定选择Mysql数据库作为后台开发的数据库。
3.2.2数据库的结构设计
该系统的数据需求可以从三张信息表中体现。
用户信息表(用户登录名,用户密码,用户性别)
管理员信息表(管理员名,管理员密码)
帖子信息表(帖子序列号,帖子标题,帖子类容,帖子作者,帖子发布时间)
留言信息表(留言编号,留言内容,留言作者,留言时间)
回复信息表(回复内容,回复人,回复时间)
1.用户信息表:
字段名
类型(值)
说明
UserID(主键)
Int(10)
用户ID
UserName
Varchar(20)
用户名
UserPassword
Varchar(20)
用户密码
UserSex
Varchar(4)
用户性别
2.帖子信息表:
字段名
类型(值)
说明
postsID(主键)
Int(10)
帖子ID
Title
Varchar(128)
帖子标题
Content
Varchar(10000)
帖子内容
PostsDate
datetime
发表日期
UserName
Varchar(20)
发表者
3.留言信息表:
字段名
类型(值)
说明
MessageID(主键)
Int(10)
留言ID
MessageTitle
Varchar(128)
留言标题
MessageContent
Varchar(5000)
留言内容
MessageTime
Datetime
发布时间
4.回复信息表:
字段名
类型(值)
说明
ReplyID(主键)
Int(10)
ID
ReplyContent
Varchar(5000)
回复内容
PostsID
Int(10)
回复帖子ID
UserName
Varchar(20)
回复人
ReplyTime
Datetime
回复时间
5.管理员信息表:
字段名
类型(值)
说明
ID(主键)
Int(10)
管理员ID
AdminName
Varchar(20)
管理员名字
AdminPassword
Varchar(20)
管理员密码
第4章系统实现
概述
本文为了方便描述,以JSP页面设计为中介进行系统实现说明,一般的说明步骤为:
1).JSP页面所代表的功能描述
2).显示界面
3.显示相关核心代码
4.1数据库操作代码
本系统的几乎所有操作都是与数据库通信且交换数据,下面是数据库连接及操作代码:
//一下代码定义与数据库建立连接的方法
publicConnectiongetCon(){
Connectioncon=null;
try{
Class.forName("com.mysql.jdbc.Driver");//获取mysql驱动
}