随着社会一步步向前发展,报告不再是罕见的东西,多数报告都是在事情做完或发生后撰写的。那么报告应该怎么制定才合适呢?下面是小编为大家带来的报告优秀范文,希望大家可以喜欢。
jsp实训报告篇一
记得在第一节课上,老师您就跟我们讲了“为什么学jsp ?”、“ jsp 学什么?”、“学jsp 有什么用?”,还有“ 如何学jsp ?”从老师对这些问题的讲解中我确实体会到了jsp 在当今社会起到的重要作用和如何去学。在课上还了解了这门课程老师要讲述的主要内容以及需要具备的相关知识。
学到了什么
我想简单的谈谈我在jsp 网站开发这门课中都学到了什么,jsp 的全称是java server pages,它是一种动态网页技术。我们需要配置的坏境有jdk, tomcat,还要用到dreamweaver。jsp是由sunmicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页html文件(*.htm,*.html)中加入java程序片段(scriptlet)和jsp标签,就构成了jsp网页java程序片段可以操纵数据库、重新定向网页以及发送e-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持java,也可以访问jsp网页。
jsp在根本上是一个简化的servlet设计,他实现了html语法中的java扩张(以 <%, %>形式)。jsp与servlet一样,是在服务器端执行的,通常返回给客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户端。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
相比较其他主流动态网页技术,jsp具有很多独特的优势,如 1.适用于任何平台、支持者众多 2.程序的执行效率高 3.拥有java优势 4.强大的服务器组件 5.强大的数据库支持 下面是jsp与主流动态网页技术比较
最开始我们学习了html 这种文本标记语言,学习起来感觉很轻松,用html可以做一些静态网站,在我第一次用html做出第一个网页时,我真的觉得好有成就感,好神奇啊!后面我们学到做动态网站,其中就涉及到jsp 内部对象及内部对象所对应的一些方法。再就是jsp与数据库的联系,怎么样引用数据库。通过以上所学到的知识我们可以基本上上做出一个比较实用的小网站,比如一个班级网站,在上面可以上传下载一些学习资料,以及存储班上同学的一些基本信息,给班上同学提供一个交流平台等等。但是由于学习过程中没有很认真的去学,而且是第一次接触,所以技术还没有那么成熟,而且身边的同学大多貌似对这不感兴趣,没有志同道合的人,所以更让我想做一个动态网站的决心减弱,哎,静态网站实在有点拿不出手,所以只有写这篇感想了。
学习反思
从这九个周的学习中,我觉得自己在这门课的学习上还存在很多不足,比如觉得学习基础时很枯燥,虽然老师讲的满风趣的。其实我并没有很认真的去学,基本上就是老师上课讲了我就听,下课并没有去巩固老师所讲的内容。记得老师在第一节课的时候就说我们这门课要多操作,可是我并没有按照老师的要求做。也许对于大多数人来说他就是一门选修课,也许他们就是为了混一下学分;也许他们也不知道他们要选哪一门课,看着这门课的名字比较牛,然后就选了;也许,从此以后他们就不会再碰他了;但是在这之中我更看重的是一种学习的态度,既然选了就要把他学好,即使不能学得很好,那也不能懈怠,因为我觉得自己选择的路,跪着也要走完,所以在很多人都没有去上课的情况下我还是基本上都去了,还有一个原因就是想在大学里多学一点知识,因为就像乔布斯在斯坦福大学的演讲中讲到:“你在向前展望的时候不可能将这些片断串连起来,你只能在回顾的时候将点点滴滴串连起来。所以你必须相信这些片断会在你未来的某一天串连起来。你必须要相信某些东西:你的勇气、目的、生命、因缘。这个过程从来没有令我失望,只是让我的生命更加地与众不同而已”然后我也觉得这门课程会在我以后的人生中起到一定的作用。
以上就是我通过这次jsp网站开发课程学习所得到的一些心得体会,虽然自只有九个周的学习时间但是我真的学到了很多知识,在这里真诚的谢谢老师了!
汤佳伟
计科2班 学号:1204211063
jsp实训报告篇二
《jsp网站》实践报告
专业:信息与计算科学
班级:信息
姓名:牟林
指导教师:
**网页开发(就业信息网)0802
200x年xx月----
摘要
在internet飞速发展的今天,互联网已成为人们快速获取、发布和传递信息的重要渠道,正以一种前所未有的冲击力影响着人类的活动。它在人们政治、经济、生活等各个方面发挥着重要的作用。因此网站建设在internet应用上的地位显而易见,它已成为政府。企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
这次所设计的课题正是互联网与社会生活之间的紧密关系的体现,现金的社会,人们已经离开不了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单化,拜托了时间和空间的限制。本文是为消费者提供一个网络生活空间。通过该网页展示了企业介绍、招聘信息、留言等一系列内容的介绍。浏览者可以直接在网上申请应聘。本文还介绍了网页的结构分析和具体功能实现,网页的界面和运作方式。
关键词: javabean、jsp、sqlserver2000、目录
一.1.1 **的目标和意义..............................1 二级标题(标题2)..........................1
1.1.1
二.2.1 三级标题(标题3)...........................1 目前国内外相关工作情况............................1 二级标题(标题2)..........................1
2.1.1
三.3.1 三级标题(标题3)...........................1 **网页的总体设计.................................1 二级标题(标题2)..........................2
3.1.1
四.4.1 三级标题(标题3)...........................2 xx网页的详细规划..............................2 二级标题(标题2)..........................2
4.1.1
五.5.1 三级标题(标题3)...........................2 测试....................................2 二级标题(标题2)..........................2
5.1.1 三级标题(标题3)...........................2
参考文献.................................3一.**的目标和意义
本章内容提示:
给出课题背景与意义
课题要研究什么?解决什么问题?
你所分担工作的描述
对社会经济、科学(或学科)发展、技术进步等有什么意义?
1.1 二级标题(标题2)
1.1.1 三级标题(标题3)
最多三级标题,其它为正文。
二.目前国内外相关工作情况
本章内容提示:
现在有那些人在做与题目相关的研究工作?
运用(采用)了什么样的方法?
你对现有的开发工具(如html 等)有什么样的评价?
分析你所选用的开发工具的特点和优势。
目前的发展趋势是什么?
2.1 二级标题(标题2)
2.1.1 三级标题(标题3)
最多三级标题,其它为正文。
三.**网页的总体设计
本章内容提示:
整体方案设计
分析你所使用的技术。
画出系统的功能图等并进行文字说明。
3.1 二级标题(标题2)
3.1.1 三级标题(标题3)
最多三级标题,其它为正文。
网页的详细规划
结合你所实现的功能,使用文字和代码说明开发过程、开发的流程图、界面等
4.1 二级标题(标题2)
4.1.1 三级标题(标题3)
最多三级标题,其它为正文。
五.测试
本章内容提示:
结果运行界面说明测试结果。
5.1 二级标题(标题2)
5.1.1 三级标题(标题3)
最多三级标题,其它为正文。
沈阳化工大学计算机学院实践报告
jsp网站实践参考文献
在论文中引用其它文献的内容,都要列于此。
注意:论文内容决不允许抄袭,但允许小部分(几句话)的引用。
按引用文献的顺序,列于论文末。文献是期刊时,书写格式为:“作者,文章题目,期刊名,年份,卷号,期数,页码。文献是图书时,书写格式为:作者,书名,出版单位,年月。
例:毛海军,唐焕文.基于agent的决策支持系统[j].计算机工程与应用,2001.37(15):12~13黄梯云.智能决策支持系统[m].北京:电子工业出版社,2001[美]bruce eckel著.京京工作室 编程思想[m].北京:机械工业出版社,1999,4corry, mayfield, /dcom programming guide[m].beijing, tshinghua university press,2000
jsp实训报告篇三
基于jsp校友录系统的设计与实现 关键字:: 校友录,信息,管理
计算机技术的快速发展,特别是计算机网络的发展,它影响了人们生活的方方面面.各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯.过去的种种陈旧的联系方式,已经不能满足现代生活的需要.校友录作为一种方便校友之间联系的实用系统便应运而生.校友录为校友之间进行交流和联系提供了一个平台.通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的.本文主要介绍了数据库管理网站的方案论证、结构特性设计及行为特性设计的实现过程,详细论述了总体设计思想、数据库设计和功能模块设计.实现了班级留言、班级相册、班级共享、纸条传情、个人信息管理、管理员信息管理等功能.整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问 第一章概述 1.1 题目背景
计算机技术的快速发展,特别是计算机网络的发展,越来越深刻的改变了人们生活的方方面面.使得人们能以更低廉的价格,开发出更方便、更实用的网络工具.各种在线服务系统,更是深刻的影响了人们的联系方式,使得人们可以在远隔千里之遥随时通讯.过去的种种陈旧的联系方式,已经不能满足现代生活的需要.校友录作为一种方便校友之间联系的实用系统便应运而生.校友录为校友之间进行交流和联系提供了一个平台.通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的.目前网络上已经存在很多校友录,像chinaren、网易、新浪、5460等,它们都有各自的特色,当然也有一不足.比如: chinaren的校友录,速度快,但功能单一,突出留言功能;5640的 ,则功能比较新颖,界面朴素,但速度慢;新浪的功能较全,但界面很花哨,不易适应.所以我将设计一个校友录管理网站,以友好的界面,快捷的操作完成强大的功能 1.2 项目内容
校友录管理网站是基于sql server 2000数据库系统开发的应用系统,它充分利用计算机及网络的数据处理、数据协同、数据分析的能力,也从根本上加强并促进了同学间的信息交流、资源共享及有效的管理等,进而增强了交流和管理.项目的内容主要包括: 1)班级留言:普通文本留言 多彩html留言留言修改 2)班级:相片上传相片评论 自动缩略图 3)班级共享:共享文件上传
4)纸条传情:给具体某人的小纸条
5)班级管理和班级参数的设置更加方便 6)成员地址簿和班级留言的导出 7)个人信息管理、管理员信息管理 1.3 系统的设计与实现目标
1)操作界面友好、功能多、操作简单,查询功能强大 2)数据库设计合理,减少冗余数据,提高系统效率
3)应用jsp技术,前台采用jbuilder作为编译环境,后台数据库使用sql server 2000.第二章方案论证 2.1 总体设计思想
一个校友录所应具备的基本功能,主要包括学校搜索、班级搜索、校友/同学搜索、班级留言、成员地址列表、班级相册、班级共享、成员来访记录、个人信息、班级管理等功能.我采用jsp技术,封装数据库操作,所有的数据通过bean来处理,jsp实现页面的表现,这样就把页面的表现和页面的逻辑相分离.(如下图:)第三章结构特性设计 3.1 结构设计
这一章主要向大家介绍本系统所涉及的具体的数据库结构,本系统后台数据库采用的是sql server 2000企业版,下面将做一下简要的介绍.本系统主要涉及到的数据库中的表有: 省份信息表:用于记录省份的名称和id号.城市信息表:用于记录城市名称,城市和省份的id号.省份信息表和城市信息表的关系是一对多的关系.安全信息表:用于记录与安全信息相关的内容,安全码是除有效证件之外最高级别的帐号保护措施.利用安全码不仅可以修复登录密码,还可以修改密码提示问题及答案、重新设置保密邮箱等.用户注册信息表:用于记录用户名,密码等内容.用户个人信息表:用于记录用户的个人详细资料.纸条信息表:用于记录用户与用户之间所传递的站内短消息内容,包括消息发送时间,内容及传递双方的用户名等.班级信息表:包括班级的创始人,创办日期,班级宣言等班级相关信息.班级留言信息表:用于记录班级的留言信息.成员信息表:包括成员名称,所属班级等相关信息.学校信息表:包括学校名称,级别等相关信息.3.2 数据库设计
数据库指长期存储在计算机内的、有组织的、可共享的数据集合.数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享.本系统的设计与实现了多个表用于信息存储.下面将本系统数据库设计中建立的表列出,运用这些表基本上能存储系统运行涉及的数据.4.2 功能概要设计 4.2.1系统总体模块
在校友录管理网站中,用户可以实现多种操作,像学校管理,班级管理和用户管理.在学校管理中,用户可以通过选择所提供的城市和省份对学校进行创建和搜索等操作.在班级管理中,用户除了可以创建、搜索班级之外,还可以对班级成员进行管理,并且还可以在班级管理中进行班级留言和班级相册的操作.在用户管理中,对于用户的注册、登录、安全设置等方面做了详细的操作.4.2.2学校管理模块 l 创建学校
在该功能中用户可以通过选择学校类型,学校所在城市和地区,填写学校全称来建立一个新的学校.为了使同学和其他用户能准确方便地找到自己所属的学校,创建学校之前应该确认在校友录中没有自己所要创建的学校,对于不清楚的用户可以先进行搜索.在选择学校类型时,可以在下拉列表中选择所要创建的学校是大学,大专,中学还是小学;在选择学校所在城市和地区中,用户可以先选择所在的省份,再选择所对应的城市,其中每个省份对应不同的城市;在填写学校全称时,界面会提示用户在为学校命名时尽量注意规范.其中为学校命名时尽量使用全称而不是简称,学校名在四到三十个汉字之间.搜索学校 如果用户想搜索某个学校,则可以在该页中选择学校所在地区,城市,类别及名称.在点击搜索按钮后,系统会根据所输入的搜索条件列出全部满足条件的学校,当符合条件的学校多于15个时,则可以利用翻页功能上下查找,也可以精确定位到第几页.在选择学校所在地区中,用户通过下拉列表选择学校所在在省份;在选择学校所在城市中,用户通过下拉列表确定所选省份中的某一城市;在选择学校类别时,用户可以在下拉列表中选择所要创建的学校是大学,大专,中学还是小学;最后填写学校名称进行搜索.再搜索完成之后,如果显示的学校列表中没有自己所在的班级,则可以通过学校名称进行查找或创建班级的操作.如果搜索的学校不在列表中,就应该检查搜索选项以及学校名称是否有误,如果有误应返回首页重新搜索,如果确认搜索信息无误且所需学校没有出现在列表中,则可以进行创建学校的工作.l 搜索校友
用户可以通过一定条件的查寻来搜索校友,在查寻时可以选择学校所在的城市、省份来确定学校所在的地区,在确定学校之后,可以通过对班级的查寻来寻找校友所在的班级.这样便完成了对校友逐级向下的查找过程.4.2.3班级管理模块 l 创建班级
用户在创建班级之前应该确认所要创始的班级不存在,在确认之后用户可以在班级名称文本框中输入所需创建班级的名称,在入学年份中用户可以通过下拉列表框进行选择.然后点击注册按钮完成新班级的创建.l 搜索班级
搜索班级的功能和搜索学校的功能相似,用户在入学年份中输入入学时间,在班级名称文本框中输入所要搜索的班级名称之后点击搜索按钮,则在下面的表格中出现符合条件的班级名称,如果符合条件的班级数目超过15个,则可以使用分页功能,上下查询,也可以精确定位到某一页进行查询.如果所要搜索的班级没有出现在列表中,则可以进行创建班级的工作.1课题来源
本课题为用jsp开发校友录系统,本课题要用jsp技术并结合基于mvc模型的struts框架来完成一个具有通用功能的校友录系统,其中包括班级管理、留言板管理、班级成员管理。
2研究的目的和意义 2.1校友录系统发展现状
internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模、各种形式的网络连接成一个整体。这样一个网络文化氛围对人类的活动产生了重大和深远的影响。据估计,目前internet上已有上百万个web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的web站点对于一个机构的发展十分重要。
校友录系统就是在这样的情况下应运而生。基于网络的校友录系统一改传统的纸质校友录的消息陈旧、更新困难、不便于实时联系等种种弊端,它让我们可以随时随地的更方便的跟同学、校友、朋友联系。目前网络上校友录系统的基本功能都大同小异,比如班级管理、成员管理、留言功能等都能基本满足用户的需要,差别最大的还是各校友录系统所运用的技术。目前用asp、php、jsp等技术开发的校友录系统都有,他们各有各的优势所在。但从网络技术的发展来看,jsp技术是目前运用到的主流开发技术。它具有更明显的优势,这在后续的毕业设计论文中将会向您展示。
目前国内的校友录系统众多,主要的有5460、搜狐的chinaren、qq校友录以及各高校自己的校友录系统。这些校友录系统虽然运用技术不尽相同,但是他们的功能、目的都有着一些共同点。5460、chinaren、网易等校友录系统运用的是jsp技术,这些服务对象比较广泛、针对性较弱的校友录系统提供的服务都是最普通的,他们能满足绝大多数人的需求,使得分散于全国各地的校友们能找到这样一个虚拟的集体组织,使得大家不用再为如何联系自己长久未见的同学、朋友而发愁,校友录提供的就是这样一个方便联系的平台。某些高校校友录系统可能创建时间比较早,他们运用的技术也相对较早一些,比如武汉大学和华中科技大学,他们的校友录系统就是运用asp技术来开发的。用php开发的系统有中国同事录,还有大家比较熟悉的qq校友录,它是运用shtml开发的。以上这些校友录系统运用到了很多不同的技术,但是他们对社会的影响、给人们带来的方便是一样的。
2.2基于网络的校友录技术的发展带来的影响
近年来计算机技术特别是计算机网络技术的飞速发展,越来越深刻的改变了我们生活的方方面面。我们正在向信息时代迈进,对于应用者而言,网络技术的发展带给我们更多、更广阔的信息资讯,它让我们在足不出户的时候也能及时的、准确的知道各种信息,对于开发者而言,它也使得我们能以更低廉的价格,开发出更方便、更实用的网络工具。比如各种在线信息服务,更是深深的改变了我们传统的联系方式,使得我们可以在相隔千里的情况下随时随地通讯。过去的种种陈旧的联系方式,已经不能满足现代生活的需要,现在生活的节奏越来越快,信息更新也快,传统的面对面的交流以及通过纸张来获取信息的方法已经完全满足不了我们联系世界的需要,我们迫切需要的是能适应各种使用环境的多元化的功能丰富的通讯应用系统,这让我们能在当今社会以更高的效率来面对人与人之间的联系关系,校友录系统就是这样一个实现上述诸多功能的网络系统。2.3校友录系统的实用价值
校友录作为一种方便校友之间联系的实用系统便在这样的情况下产生与发展起来的。目前internet上的校友录系统众多,他们提供的功能与服务都大同小异,在技术上也日趋成熟。校友录是为校友之间进行交流和联系提供的一个平台。通过提供完善的校友录服务和规范校友录的管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。基于现在网络上校友录系统越来越多、所用技术各异的特点,我参考了一些校友录系统(比如chinaren,qq校友录等),运用当前比较流行的jsp技术并配合struts框架技术来编写一个适合毕业设计课题任务功能需求的校友录系统,使其具有比较通用的校友录系统功能,在此基础上添加具有实用性的其他附加功能。
3国内外校友录系统的研究现状和发展趋势
当今信息技术的飞速发展使得人与人之间的联系更加密切、更加频繁,联系方式也越来越多样化。此时,一个良好的联系方式,能从很大一个程度上提高工作效率,避免不必要的人力、财力、物力上的浪费。因此一个良好的在线系统能从多方面改变这个难题,校友录系统便是其中一个。经过近年来的发展,国内外校友录系统已经慢慢的趋于成熟,它根据当今人们对于校友之间联系的需求开发了一系列的实用功能,基本上满足了人们的需要。现在所要考虑的就是在增加功能的基础上大大发展技术,使得系统在安全性、保密性、稳定性等方面更加完善。
4研究的主要内容及设计成果的应用价值 4.1 jsp校友录系统目标
jsp校友录是具有普通校友录功能、为校友之间进行交流和联系提供的一个平台。利用当前广泛运用的java技术和jsp技术的优势,加之internet的飞速发展,我们编写一个基于网络的校友录系统,通过提供完善的校友录服务和规范校友录的管理,以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。
4.2系统功能简介
jsp校友录系统是以用户为中心的人性化设计,总体来看,系统可以看作是用户模块和管理模块两大模块的协调运作。(1)普通用户功能包括:
●用户登陆:用户通过提交用户id和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户的身份权限,根据用户是否合法和合法用户的权限级别,为不同级别的用户提供个性化的用户界面。
●用户资料的修改:成功登陆的合法用户有权限修改自己的个人资料。这些资料包括用户的昵称,真实姓名,性别、年龄,联系电话,电子邮箱,工作地点、单位,通信地址,生日等一系列相关信息。●用户的信息发布功能: ①资料查看功能:
用户可以查看其他用户的个人资料,包括用户id,昵称,真实姓名,性别,年龄,用户联系电话,用户邮箱地址等。②留言板功能:
通过留言板,用户可以在班级页面上留言,以此作为用户间联系的一种手段。留言板有字数限制,留言超过一定的时间,系统会自动删除留言。留言板中将标示如下内容:留言用户的id,留言用户联系信息,留言日期,留言内容。(2)班级管理员功能:
班级管理员拥有相对普通用户更多的操作权限,登陆之后,系统自动识别出管理员身份,并提供个性化的管理员操作页面。班级管理员除了拥有以上普通用户的相关功能、权限之外,还拥有班级管理的权限,他可以修改班级信息,班级公告,可以将班级中其他成员设定成管理员,可以添加/删除班级成员,可以删除留言板中的留言消息。4.3应用价值
通过该校友录系统的开发,我们将会拥有一个随时随地联系校友、同学、朋友的网络平台,它改变了我们传统的校友录的形式,使得校友录由有形的实体转变成为网络中虚拟的集体组织,使得校友录中的信息能够不断的更新、完善,使得不会因为信息的改变而失去与某人的联系。基于网络的校友录让大家在学习生活的同时与人保持联系,他带给我们最大的好处就是方便与快捷。
jsp实训报告篇四
jsp博客网站系统(论文)
摘 要
博客信息管理系统致力于为广大用户提供优质的互动交流平台,提高网站的知名度和访问量,从而获得为企业提供更多产品介绍及展示的机会,提升自己网站的价值。为了满足博客信息管理系统的要求,实现系统静态与动态页面的相互分离,系统采用jsp+javabean+servlet和sql server2000数据库相结合的开发模式。
论文首先论述了系统的开发背景和设计目标,并对系统开发所采用的技术进行相应的简单介绍。在系统分析中,对系统的模型进行简单分析,明确系统的操作流程,并对系统进行可行性分析,确定在目前的条件下,开发博客信息管理系统是可行的。在需求分析结果的基础上,对系统的功能模块进行划分。接着对系统中的数据库进行模型设计,包括数据流图、实体联系图及数据表结构。在系统的设计与实现中,确定系统的开发思想以及开发环境,并对系统中的javabean和servlet代码进行设计。最后给出了系统中模块的详细设计与实现,并对系统模块涉及到的关键源代码进行了详细的分析。
经过调试运行后表明,系统可以满足用户创建个人博客的各项要求。关键词:mvc,设计模式,知识共享,博客信息管理系统
abstract
the blog information management system is concentrates on high-quality interactive exchanges platform for a large number of users, increasing the visits and making the website more and more famous, thereby can acquiring for the opportunity that business enterprise providing more introductions and shows of products, promoting the value of the y for the functions of blog information management system, achieving the system's static page separate with dynamic page mutually, using jsp+ javabean+ servlet with the mode of development that the database of sql server2000 combine paper discusses the background of development of the system and the design of the target first, and introduces the tecknique which used to develop the analyse of system, proceeded the simple analysis to the model of the system, made sure the operation process of the system, proceed the analyse to the system, ensure that under the current term, developing blog
information management system is the foundation of requirement with the analyse result, proceeding the providing of the function module of the , designing the database model, including the data flow diagram, entity relation diagram and data the design and realization of the system, making sure the development thought of the system and install the environment of development,at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system debugging and running ,it shows that the system can satisfy with users to create personal ds: mvc,design patterns,knowledge sharing,the blog information management system
目 录
第1章 绪论 1 1.1 博客信息系统概述 1 1.2 博客发展趋势 2 1.3 系统开发的背景 2 1.4 技术路线 3 1.5 系统设计目标分析 3 第2章 基本技术方案 4 2.1 jsp中的各种技术 4 2.1.1 jsp概述 4 2.1.2 servlet概述 4 2.1.3 javabean概述 5 2.2 基于b/s的web应用体系结构 5 2.2.1 传统的两层体系结构 5 2.2.2 三层体系结构 6 2.2.3 jsp网站开发模式 6 2.3 eclipse简介 7 2.4 tomcat简介 7 2.5 sql server简介 8 2.6 mvc设计模式 8
第3章 系统分析与总体设计 10 3.1 系统需求分析 10 3.1.1 用户需求分析 10 3.2 数据分析 11 3.3 系统流程 11 3.4 功能模块划分 14 3.5 功能模块介绍 15 3.5.1 博客注册登录管理模块 15 3.5.2 博客及文章检索查询模块 15 3.5.3 博客页面显示模块 16 3.5.4 博客个人维护管理模块 16 第4章 系统详细设计 17 4.1 数据库分析 17 4.1.1 数据库设计e-r图 17 4.2 系统数据表设计 20 4.3 数据连接 23 第5章 系统功能的具体实现 24 5.1 系统的主窗口 24 5.2 公共核心类的设计 26 5.2.1 数据库相关 26 5.2.2 编写javabean类 28 5.2.3 管理类设计 29 5.3 系统主要功能模块详述 31 5.3.1 博客管理员登陆模块 31 5.3.2 日志管理显示模块 32 5.3.3 撰写日志模块 35 5.3.4 删除日志模块 36 5.3.5 修改日志模块 38 5.3.6 日志搜索模块 39 结 论 40 参考文献 41 致 谢 42
第1章 绪论
1.1 博客信息系统概述
“博客”(blog或weblog)一词源于“web log(网络日志)”的缩写,是一种十
分简易的傻瓜化个人信息发布方式。任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等及时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通[1]。
“博客”当然是个大家都陌生的名词,博客的英文名词就是“blog或weblog”(指人时对应于blogger),是一个典型的网络新事物,查阅最新的英文词典也不可能查到。该词来源于“web log(网络日志)”的缩写,特指一种特别的网络个人出版形式,内容按照时间顺序排列,并且不断更新。
博客是一种零编辑、零技术、零成本、零形式的网上个人出版方式。博客概念一般包含了三个要素(当然,也不需要局限这些定义):(1)网页主体内容由不断更新的、个性化的众多日志组成。
(2)按时间顺序排列,而且是倒序方式,也就是最新的放在最上面,最旧的放在最下面。
(3)内容可以是各种主题、各种外观布局和各种写作风格,但是文章内容以“超链接”作为重要的表达方式。
因此,博客是个人性和公共性的结合体,其精髓不是主要表达个人思想,不是主要记录个人日常经历;而是以个人的视角,以整个互联网为视野,精选和记录自己在互联网上看到的精彩内容,为他人提供帮助,使其具有更高的共享价值。博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。个人日记和个人网站主要表现的还是“小我”,而博客表现的是“大我”。也许形式上很接近,但内在有着本质的差异。所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心。1.2 博客发展趋势
趋势一:博客现在正在形成个人的信誉机制,有了博客之后就确立了一个个人虚拟身份,简单的来讲就是个人在互联网上是有名有姓的,而不再是一种匿名的行为,网民从流浪汉变成了一个定居者。以前在互联网上的各种行为都是在匿名状态中,相互之间是不认识的,但有了博客之后可以天天关注,而别的人也可以通过博客找到这个人。这样随着时间的积累就会产生一个新的东西,概括叫做“个人的信誉”,个人的信誉就是博客和博客之间发展各种关系的组合,这种信誉对每个人来讲可能是不同的,但对每个博客来讲就产生了新的评价机制,这个机制将是博客商业化的一个前提条件。
趋势二:博客越来越呈现出富媒体化,早期的博客是以文字为主,但随着多媒体发展博客相册、博客图片已经成为博客的基本配置,而现在许多博客网站已经提供了博客音频和博客视频。
趋势三:博客现在正在形成并完善精选机制,博客作为自媒体和个人媒体,产生的信息非常巨大。其中难免产生信息垃圾,随着博客的发展,博客通过精选机制精选出大家喜闻乐见的信息,像国内网摘、博客的评价系统等[2,3]。1.3 系统开发的背景
博客的精神是:自由表达,开放宽容,个性张扬,专业精神。
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。
不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:(1)记录生活,在自己的每一天上留下思考的划痕。
(2)整理思路,固化知识,获得更多更好的想法。
(3)分享,将自己的想法、经验与人分享。
(4)交流、提高,通过交流产生更多的思维火花,相互提高。
(5)交友,互相鼓励,一路同行。
如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通; 如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享。1.4 技术路线
本系统的开发采用的是jsp+javabean+servlet模式,在该模式中,结合了jsp和servlet技术,充分利用了jsp和servlet两种技术原有的优点。在此模式中,javabean作为模型的角色,充当jsp和servlet通信的中间工具,servlet处理完后设置javabean的属性,jsp读取此javabean的属性,然后进行显示。该模式更加明显地把显示和逻辑分离,使得代码更容易管理,适合大型项目的开发[4]。
1.5 系统设计目标分析
本系统是用jsp实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:
(1)登录博客系统的后台管理平台。
(2)更改博客账号的基本信息。(3)撰写日志。(4)日志管理。(5)评论管理。(6)留言管理。
博客访问者具有以下功能:
(1)浏览博客系统中的日志、留言、评论。(2)发表评论及留言。(3)检索日志。
第2章 基本技术方案
2.1 jsp中的各种技术 2.1.1 jsp概述
jsp即java server pages,是由sun microsystem公司于1996年6月推出的新技术,是基于java servlet以及整个java体系的web开发技术。jsp已经成为开发web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。jsp充分利用了java的强大功能,是一种优秀的服务器端技术。随着java技术的日益成熟和流行,jsp在网络编程中也变得越来越重要。jsp基于强大的java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,jsp有着其他技术所不具备的优势。其优势在于:可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。jsp能提供所有servlet的功能[5]。2.1.2 servlet概述
servlet是java编写的服务器端程序,是由服务器端执行和调用的java类。servlet是采用java技术来实现cgi功能的一种技术,能够像cgi一样动态地扩展web服务器的功能,并采用请求——响应模式提供web服务。servlet和cgi一样都是运行在web服务器上,用来生成web页面。servlet的主要功能在于交互式地浏览和修改数据,生成动态web内容。其工作流程图如图2.1所示。
图2.1 servlet工作流程图 servlet工作流程:
(1)客户端发送请求信息至服务器。(2)服务器将请求信息发送至servlet。
(3)servlet生成响应内容并将其传给servlet。响应内容动态生成,通常取决于客户端的请求。
(4)服务器将响应信息返回至客户端。2.1.3 javabean概述
javabean是sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。按照sun公司的定义,javabean是一个可重复使用的软件部件。javabean体系结构是第一个全面地基于组件的标准模型之一,该组件是java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的javabean组件的方式进行构造[7]。
在java模型中,通过javabean可以无限扩充java程序的功能,通过javabean的组合可以快速生成新的应用程序。javabean具有以下特点:(1)可以实现代码的重复利用。(2)易维护性、易使用性、易编写性。
(3)可以在java的任何平台上工作,不需要重新编译。(4)可以在内部网或者网络之间进行传输。(5)可以以其它部件的模式进行工作。
javabean在jsp程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。2.2 基于b/s的web应用体系结构 2.2.1 传统的两层体系结构
在web发展的初期,web应用主要是通过静态页面在internet上发布信息。用户通过浏览器向服务器发送请求,服务器接收用户端的请求,向客户端浏览器发送所请求的页面。在这种结构下,网站上的页面是静态的,无法根据用户的实际使用情况做动态的变化。网站的信息提供者通过更新服务器上的网页来向用户提供最新的信息。用户和浏览器之间只有有限的交互,而网站和用户之间几乎没有交互。
2.2.2 三层体系结构
三层体系结构图如图2.2所示。
图2.2 三层体系结构图
cgi,asp,php等技术的出现,使得开发动态交互式的web应用得以实现。用户通过浏览器向服务器发送请求,web服务器接收客户端发送来的请求,对请求进行分析,如果请求是静态页面,那么就将所请求的页面发送到客户端;如果请求的是动态页面,那么就执行此动态页面,并将执行结果发送给客户端。动态页面中的脚本程序可以和数据库服务器进行交互。
web服务器可以根据用户的请求动态更新页面上的信息,web信息提供者可以通过改变数据库中的数据向用户提供最新信息,而不需要逐个更改页面。用户可以通过这些动态页面向数据库中输入信息,从而增强了用户和服务器之间的交互性。
2.2.3 jsp网站开发模式
目前,jsp技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开
发技术。越来越多的技术人员也逐步成为jsp技术的推崇者。jsp技术正是利用了java的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。当然,jsp技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。
jsp网站开发技术标准提供了两种开发模式:一种是jsp+javabean开发模式;一种是jsp+servlet+javabean开发模式[8,9]。jsp+javabean模型图如图2.3所示。
图2.3 jsp+javabean模型图
在这种模型中,jsp页面独自响应请求并将处理结果返回给客户,所有的数据通过javabean来处理,jsp实现页面的显示。此模型常常会导致页面被嵌入大量的脚本语言或者java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。
jsp+servlet+javabean模型图如图2.4所示。
图2.4 jsp+servlet+javabean模型图
servlet技术是一种采用java技术来实现cgi功能的一种技术。servlet是运行在web服务器上,用来生成web页面。servlet技术非常适于服务器端的处理和编程。
在此种开发模式中,jsp技术用来显示页面,该页面中没有任何的商业处理逻辑,通过servlet技术来完成大量的事物处理工作。servlet用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建jsp需要的bean和对象,根据用户的请求行为,决定将哪个jsp页面发送给用户。
从上面两种开发模式来说:第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高[6]。2.3 eclipse简介
eclipse最初由oti和ibm两家公司的ide产品开发组创建,起始于1999年4月。ibm提供了最初的eclipse代码基础,包括platform、jdt和pde。eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。由eclipse项目、eclipse工具项目和eclipse技术项目三个项目组成[10]。2.4 tomcat简介
如今,基于web的应用越来越多,传统的html已经满足不了如今的需求。因此需要一个交互式的web,于是便诞生了各种web语言。如asp,jsp,php等。当然,这些语言与传统的语言有着密切的联系,如php基于c和c++语言,jsp基于java语言。tomcat即是一个jsp和servlet的运行平台。
tomcat是一个免费的开源的serlvet容器,是apache基金会的jakarta项目中 的一个核心项目,由apache,sun和其它一些公司及个人共同开发而成[11]。2.5 sql server简介
microsoft sql server 2000是微软所推出的一套在windows平台上执行的功能强大的关系型数据库管理系统,用以作为应用程序的数据来源,存放各种数据,并可以让用户很容易地达成所要进行的数据存取操作。同时,也提供了一些可视化的管理工具,协助数据库系统管理者更方便快速地管理及设计数据库的内容,以及对数据库进行维护。sql server 2000不仅可以实现个人数据库的管理,更适合企业级数据库的应用[12,13]。2.6 mvc设计模式
mvc模式的基本形式图如图2.5所示。图2.5 mvc模式的基本形式图
mvc(model-view-controller)模式并不是j2ee行业人士标新立异的。mvc的核心就是要做到三级甚至多级的松散耦合,mvc模式将系统分为三个部分,分别是数据模型、视图和控制器,并定义了这三个部分之间实现通信的一种模式,使每个部分不必卷入到其他部分的状态表示和方法实现的细节中去。每个部分有自己的数据管理规则,各个对象之间的通信只能使用自己定义的一个受限连接集合进行。保持这种分离性通常是面向对象编程和设计要追求的目标,让各个对象只需专注于自己的事务。
模型部分代表了商业数据的访问及修改数据的操作。当数据发生改变时,要负责通知视图部分,并且提供视图查询状态的能力。另外,还向控制部分提供应用功能。
视图部分以自己的方式显示模型的内容。访问模型的数据,并且当模型的数据发生变化时更新模型的显示。视图还把从用户那里得到的信息传给控制部分。控制部分定义了应用的行为。分发用户请求和选择表现视图,还负责解释用户输入,进而调用模型的功能。在web应用中,用户输入包括对web级资源的http、get和post请求。控制部分根据用户交互和模型的状态选择要显示的视图。一个应用程序一般为相关的功能选择一个控制部分[14,15]。
第3章 系统分析与总体设计
博客信息系统包括:前台信息显示系统、后台信息管理系统。前者是面向公众的一个窗口,通过前台信息显示系统方便访问者浏览日志、评论和留言;发表评论和留言。后者是后台信息管理系统,方便博客管理员发表日志;回复评论和留言;管理日志、评论、留言及个人信息 [12]。3.1 系统需求分析 3.1.1 用户需求分析
用例图用来描述系统与参与者之间的相互作用,与用例图相关的几个概念:(1)角色:代表了某一事件发生的参与者,用一个小人表示。
(2)用例:代表系统可以实现的功能,通常一个用例代表一组功能,实质上规定了系统实现功能的范围。
(3)用例图:当角色和用例发生某种关系时,就可以用一个图将它们关联起来,这就是用例图。
博客信息管理系统用例图如图3.1所示。
图3.1 博客信息管理系统用例图
博客信息管理系统允许用户有三种身份:博客访问者、博客管理员及系统管理员。博客系统参与者中每种身份操作起来都很方便、快捷。博客访问者无需登陆就可以浏览信息、发表评论或留言;博客管理员注册后再登陆,就可以发布日志、管理个人主页;而博客管理员的基本信息都由系统管理员对其统一管理。3.2 数据分析
本系统的用户主要是博客访问者和博客管理员,下面以博客前台展示系统中的用户查询日志为例进行说明。该过程的数据流程图如图3.2所示。
图3.2 用户查询日志的数据流程图
用户查询日志的数据流程:首先,用户输入需查找的关键字,然后提交表单数据,服务器接收到关键字后,根据关键字对日志标题进行模糊查询,处理后将结果以日志标题链接的形式显示给该用户,用户点击相应的链接就可以浏览日志内容。3.3 系统流程
根据博客信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要用于用户浏览日志信息;后台用户管理模块主要用于博客管理员对个人博客网站的管理,如日志管理、留言管理及评论管理等。
博客系统平台的前台用户浏览模块流程图如图3.3所示。
图3.3 前台用户浏览模块流程图
前台用户浏览模块主要用于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击日志标题链接进入日志显示页面浏览日志;二是点击博客主题链接进入该个人博客的首页,然后在该首页中选择所需的日志标题链接进入日志显示页面浏览日志;三是通过首页提供的搜索功能,搜索所需要的日志,然后在结果列表中选择所需的日志标题链接进入日志显示页面浏览日志。浏览日志的同时用户可以查看别人对该日志的评论,然后用户也可以对该日志发表自已的评论。
博客系统平台的后台用户管理模块流程图如图3.4所示。
图3.4 后台用户管理模块流程图
用户进入后台管理平台,首先必需进行权限验证,防止未授权的用户非法登录。若未通过验证,则显示出错提示,并跳转到登录界面。若通过验证,则进入个人博客后台管理平台。用户可以浏览已发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论信息并对其进行回复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人博客的留言信息并对其进行相应的操作如回复留言和删除留言;还可以对个人信息进行修改。
3.4 功能模块划分
前台模块功能结构如图3.5所示。
图3.5 博客信息系统前台功能结构图 后台模块功能结构如图3.6所示。
图3.6 博客信息系统后台功能结构图 3.5 功能模块介绍
博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实现。用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。3.5.1 博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了以下几个子功能。(1)新博客在线注册。(2)博客登录管理。(3)跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的
注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。3.5.2 博客及文章检索查询模块
博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。(1)热门博客页面推荐。(2)最新博客日志推荐。(3)日志信息关键字搜索。
该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。
为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。3.5.3 博客页面显示模块
当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。该功能模块实现了如下几个子功能。
(1)用户可以分页查看对应的日志内容及评论信息。(2)用户可以针对日志内容发表评论。(3)用户可以针对博客进行留言。(4)用户可以分类查看日志内容。
在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。
3.5.4 博客个人维护管理模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:(1)日志及日志分类管理。(2)评论及留言管理。(3)个人基本信息维护管理。
借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。
第4章 系统详细设计 4.1 数据库分析
数据库是当前应用软件系统的重要组成部分,如何使基于数据库的应用系统安全、可靠、高效的运行一直是软件开发技术研究的难题。所以本系统的数据库设计基于以下几点来考虑:
(1)数据库规范化与非规范化的考虑。(2)数据查询优化与索引的建立。(3)存储过程与视图。4.1.1 数据库设计e-r图
为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。描述了从用户角度看到的数据,反映了用户的现实环境。
最常用的表示概念性数据模型的方法,是实体—联系方法(entity—relationship approach)。这种方法用er图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为er模型。er模型中包含“实体”,“联系”和“属性”。博客信息管理系统涉及的实体包括:
(1)用户:用户id、用户名称、用户密码、博客主题、说明、e-mail、注册日期、发表日志数。
(2)类别:类别编号、类别名、类别描述、用户id。
(3)日志:日志编号、日志标题、日志内容、类别编号、发表日期、最后修改日期、用户id、浏览次数、评论数。
(4)评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。
(5)留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户id。
综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、类别表、日志表、日志评论表、留言表的数据库概念模型(e-r图)。用户e-r图如图4.1所示。
图4.1 用户e-r图
日志类别e-r图如图4.2所示。
图4.2 日志类别e-r图 日志e-r图如图4.3所示。
图4.3 日志e-r图
日志评论e-r图如图4.4所示。
图4.4 日志评论e-r图 留言e-r图如图4.5所示。
图4.5 留言e-r图
4.2 系统数据表设计
(1)用户表,此表主要用于保存用户的基本信息。其结构如表4.1所示。表4.1 用户表
列名 含义 类型 长度 缺省值 允许空 blogid 用户编号 int 4 无 否 username 用户名 varchar 20 无 否 password 用户密码 varchar 20 无 否 nickname 博客主题 varchar 50 无 否 description 博客描述 varchar 100 无 是 email 电子邮件 email 50 无 否
registertime 注册日期 datetime 8 无 否 articlenum 发表的日志数 int 4 0 否
(2)日志表,此表主要用于保存日志的基本信息。其结构如表4.2所示。
表4.2 日志表
列名 含义 类型 长度 缺省值 允许空 articleid 日志编号 int 4 无 否 title 日志标题 varchar 50 无 否 content 日志内容 text 8 无 否 categoryid 类别id int 4 无 否
publishtime 日志发表时间 datetime 8 无 否 lastmodifytime 日志最后修改时间 datetime 8 无 否
blogid 用户id int 4 无 否
readtimes 日志浏览次数 int 4 0 否 feedbacknum 日志评论数 int 4 0 否
(3)日志评论表,此表主要用于保存日志评论的基本信息。其结构如表4.3所示。
表4.3 日志评论表
列名 含义 类型 长度 缺省值 允许空 feedbackid 评论编号 int 4 无 否 title 评论标题 varchar 20 无 否 content 评论内容 text 8 无 否
publishtime 发表时间 datetime 8 无 否 username 用户名 varchar 20 无 否 articleid 日志id int 4 无 否
(4)留言表,此表主要用于保存留言的基本信息。其结构如表4.4所示。
表4.4 留言表
列名 含义 类型 长度 缺省值 允许空 messageid 留言编号 int 4 无 否 title 留言标题 varchar 20 无 否 content 留言内容 text 8 无 否
publishtime 发表时间 datetime 8 无 否 lastmodifytime 最后回复时间 datetime 8 无 否 username 用户名 varchar 20 无 否 blogid 用户id int 4 无 否
(5)类别表,此表用于保存日志类别的基本信息。其结构如表4.5所示。表4.5 类别表
列名 含义 类型 长度 缺省值 允许空 categoryid 类别编号 int 4 无 否 name 类别名 varchar 20 无 否 description 类别描述 varchar 100 无 是 blogid 用户编号 int 4 无 否
数据表在设计完成后,指定好各数据表主键、外键,通过sql server 2000企业管理器中提供的新建数据库关系统图即可自动生成表与表之间的关系图。各个关联表之间通过设置好的外键连接在一起。本系统具体的数据表之间关系图如图4.6所示:
图4.6 数据表之间关系图 4.3 数据连接
目前流行的数据库连接技术主要有:jdbc-odbc桥、jdbc和数据连接池技术。该系统采用数据连接池技术,使用连接池的优点主要体现在两个方面:对数据库的连接统一进行配置、管理、监控,以及对数据库连接池的参数进行优化调整,同时对应用程序中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理。便于程序的移植和后端数据库的切换,因为在应用中通过统一的jndi获得数据库的连接,而具体连接的是哪一台机器上的数据库与程序无关。数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接。这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。
数据库连接池的主要操作如下:
(1)建立数据库连接池对象(服务器启动)。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
第5章 系统功能的具体实现 5.1 系统的主窗口
系统的界面按照常规的web界面进行设计,设计的原则是界面友好,易于操作,容易上手,尽可能的贴切用户实际。
博客信息管理系统首页图如图5.1所示。
图5.1 博客信息管理系统首页图
所有的网络用户都可以进入该首页进行登录、注册、浏览等相关的操作。在页面的上方是博客信息管理系统的导航列表,图中显示的导航条包括登录、注册、博客列表、博文全览以及站务公告。在页面的左侧是热点博客,包括博客主题及其用户名;新入博客,包括博客主题;站内搜索条,用户可以根据日志标题进行搜索;最新评论列表,包括评论标题;最新留言列表,包括留言标题;站点的统计信息,包括博客总数,日志总数。在页面的中间则是精华日志和最新日志列表,包括用户名、日志标题、浏览次数和发表时间;页面的底部是版权说明信息。个人博客主页界面图如图5.2所示。
图5.2 个人博客主页界面图
所有的网络用户都可以进入某个人的博客主页进行浏览、留言等相关的操作。在页面的上方是个人博客日志的分类名列表,包括分类名及其该分类下的日志数量。在页面的左侧分别是登录表单,提供博客管理员进入后台管理页面;个人博客精华日志列表,包括日志标题;最新评论,包括评论标题;最新留言,包括留言标题;站点信息,包括个人日志总数、评论总数和留言总数。在页面的中间则分别是最新日志的列表,包括日志标题、所属分类名、发表时间、作者、部分日志内容及其查看日志和发表评论链接;发表留言表单,包括昵称、留言标题和留言内容。
5.2 公共核心类的设计 5.2.1 数据库相关 访问数据库相关类如下:(1)获取数据源,其代码如下: public static connection getconnection(){ try { context ctx =(context)new initialcontext().lookup();datasource ds=(datasource)();getconnection()方法:该方法通过context类提供的lookup()方法查找数据源,从而获得jdbc/blog数据源的引用,得到datasource对象的引用后,就可以通过datasource的getconnection()方法获得数据库连接对象。(2)连接数据库和操作数据库;代码如下:
// 构造数据库的连接和访问类 public dbconnect()throws exception { // 获得数据库连接对象
conn=nection();
// 创建一个jdbc声明
stmt = statement();// 预设sql语句
public void preparestatement(string sql)throws sqlexception { prepstmt = estatement(sql);} // 设置索引值位置的对应值
public void setstring(int index, string value)throws sqlexception { ing(index, value);} public void setint(int index, int value)throws sqlexception { prep(index, value);} // 执行sql语句并返回字段集
public resultset executequery()throws sqlexception { if(prepstmt!= null){ return equery();} else return null;} dbconnect()方法:该方法主要负责获得数据库连接对象。
preparestatement(string sql)方法:该方法主要完成预设sql语句,只有一个用来接收sql语句的参数,如果sql语句有误将抛出异常。
setstring(int index, string value)方法:该方法用于设置预设sql语句中的相应字段值,index表示索引位置,value表示需设置字符串类型的值。
setint(int index, int value)方法:该方法用于预设sql语句中的相应字段值,index表示索引位置,value表示需设置整型类型的值。executequery()方法:该方法用于执行预设的sql语句。5.2.2 编写javabean类
为每一个数据库表建一个javabean类,完成对该表字段的获取和设置。博客信息管理系统所用的javabean类列表如表5.1所示。表5.1 javabean类列表 javabean类 说明
blog类 博客管理员表对应的javabean类 article类 日志表对应的javabean类 category类 类别表对应的javabean类 feedback类 评论表对应的javabean类
message类 留言表对应的javabean类 feedback类的代码如下: public class feedback { // 属性,对应数据表中的字段名 private int feedbackid;private string title;// 字段的访问和设置方法 public int getfeedbackid(){ return feedbackid;} public void setfeedbackid(int feedbackid){ ckid = feedbackid;} feedback类:通过getfeedbackid()方法获取feedbackid属性的值,通过setfeedbackid(int feedbackid)方法设置feedbackid属性的值。5.2.3 管理类设计
上面每一个javabean类都有一个相对应的管理类,是在javabean类及数据库相关类的基础上完成对数据库表的访问、更新、统计操作。博客信息管理系统所用的管理类列表如表5.2所示。表5.2 管理类列表 管理类 说明
blogmgr类 完成对博客管理员表的查询、更新及统计 article类 完成对日志表的查询、更新及统计 feedback类 完成对评论表的查询、更新及统计 message类 完成对留言表的查询、更新及统计 feedbackmgr类的部分代码如下: public class feedbackmgr { /* * 添加评论
*/ public void add(feedback feedback){ dbconnect dbc = null;resultset rs = null;try { // 新建数据库连接和访问对象
dbc = new dbconnect();// 预设sql语句
estatement(“insert into
feedback(title,content,publishtime,lastmodifytime,username,articleid)values(?,?,?,?,?,?)”);// 设置对应值
ing(1, le());ing(2, tent());e(3, new (new ().gettime()));e(4, new (new ().gettime()));ing(5, rname());(6, icleid());// 执行该更新语句
eupdate();/* * 查询所有评论(按最后修改时间)*/ public collection getallbylastmodifytime(){ dbconnect dbc = null;collection c = new arraylist();resultset rs = null;try { // 新建数据库连接和访问对象
dbc = new dbconnect();// 执行sql语句,返回字段集
rs=equery(“select * from feedback order by lastmodifytime desc”);feedback feedback = null;while(()){ // 新建评论对象
feedback = new feedback();// 设置评论对象相关的属性
dbackid((“feedbackid”));le(ing(“title”));tent(ing(“content”));publishtime(ing(“publishtime”));lastmodifytime(ing(“lastmodifytime”));rname(ing(“username”));icleid((“articleid”));
// 将该评论对象存入集合对象中
(feedback);// 将该评论对象置为null feedback = null;// 如果结果集不会空,则循环添加该评论对象
} feedbackmgr类:封装了对评论表的所有操作,包括添加评论、回复评论、删除评论、查询某日志的所有评论(按最后修改时间排序)和查询某用户的所有评论(按最后修改时间排序)等。5.3 系统主要功能模块详述 5.3.1 博客管理员登陆模块
当用户需发表新日志或者是对博客进行管理时,就必须先进行登陆验证操作,然后进入博客信息管理系统后台。用户登陆界面图如图5.3所示。
图5.3 用户登陆界面图
登陆模块的客户端验证代码如下:
validatelogin()方法,用来验证是否填写了用户名和密码。一般地,在将用户提交的数据提交到数据库进行数据库操作之前,需要对数据的有效性进行验证,确保这些数据是安全的,一般是不能为空或空格,这样系统不会产生错误。另外,对于有实际意义的数据,一般有特定的形式,也可以进行有效性验证。5.3.2 日志管理显示模块
日志管理显示界面图如图5.4所示。
图5.4 日志管理显示界面图
日志管理显示模块列出了日志编号、日志标题以及相应的操作:编辑日志和删除日志。根据选择的分类显示当前分类下的日志列表。当然,对日志进行操作的前提条件是当前登录用户具备相应的管理权限。日志管理显示模块核心代码如下: // 新建日志管理对象
articlemgr articlemgr=new articlemgr();// 根据博客id,获得该博客所有日志的总数
int maxrowcount=albyblogid(blogid);// 新建分页处理对象,并完成相应的初始化 page webpage=new page();// 为分页对象设置所有的记录数
rowcount(maxrowcount);
// 根据默认的每页显示行数和所有记录数计算出总页数 page();// 获取当前页码
string curpagestr=ameter(“curpage”);// 设置当前页码
page(curpagestr);// 根据博客id和当前页码,获得当前页的所有日志对象集合 collection c=pagebyblogidlastmodifytimedesc(blogid,webpage);// 新建类别管理对象
categorymgr categorymgr=new categorymgr();iterator iterator = or();// 循环获取日志对象集合中的每一个日志对象 while(t()){ // 获取日志对象集合中的一个日志对象
article article =(article)();%> // 显示日志的id
// 显示日志的标题
// 显示日志的最后修改时间
// 显示日志的浏览次数和评论数 / // 日志修改和删除的链接
修改
删除
// 日志分页信息
// 获得该博客的所有发表的日志总数 共篇日志
// 返回首页链接,如果当前页就是第一页则首页链接不可用 首页
// 返回上一页链接,如果当前页就是第一页则上一页链接不可用 上一页
首页 上一页
// 返回下一页链接,如果当前页就是尾页则下一页链接不可用 下一页
// 返回尾页链接,如果当前页就是尾页则尾页链接不可用 尾页
下一页 尾页
// 显示当前页码和总页数 页次:/页
// 显示每页显示多少条记录 篇日志/页
在上述实现代码中,通过博客用户名来获得该用户id。通过用户id获得该用户的所有日志信息,并分页显示出来,显示该用户可以进行的所有操作,如修改和删除日志。5.3.3 撰写日志模块
撰写日志界面图如图5.5所示。
图5.5 撰写日志界面图
当用户需要添加新的日志时,可单击日志管理显示界面中的添加日志链接,进入添加新日志的界面。在日志标题、内容输入域内输入相应的文字,以及选择分类后,单击“确定”按钮进行表单提交,完成添加新日志的操作[14]。其关键代码如下:
// 从当前会话中获得用户名
string username=(string)sion(true).getattribute(“username”);// 获得日志标题
string title = ameter(“title”);// 获得日志内容
string content = ameter(“content”);// 获得日志分类号,并转换为整型
int categoryid = nt(ameter(“categoryid”));// 新建日志对象
article article=new article();// 为该日志对象设置相应的属性,如标题、内容和日志类别号 le(title);tent(content);
egoryid(categoryid);// 新建博客管理对象
blogmgr blogmrg=new blogmgr();// 根据用户名,得到该用户的id int blogid=gidbyusername(username);// 为该日志对象设置所属的用户id属性 gid(blogid);// 新建日志管理对象
articlemgr articlemgr=new articlemgr();// 通过日志管理对象添加该日志对象,返回日志id
int articleid=(article);在上述实现代码中,首先从当前会话中获得该用户的用户名,从提交的表单中获得日志标题、日志分类和日志内容信息;然后通过日志对象来封装日志的相关属性,最后通过日志管理对象以日志对象为参数来完成对日志的添加操作。5.3.4 删除日志模块
如果需要删除已发表的日志,可单击日志管理显示界面中的删除日志链接,将弹出删除日志确认对话框图如图5.7所示。
图5.7 删除日志确认对话框图
再次确认用户是否真的要进行该日志的删除操作,而不是误操作。点击确定按钮完成日志删除操作,点击取消按钮取消该删除操作。完成日志删除操作的核心代码如下: try{ conn=netion();//禁止自动提交,设置回滚点 ocommit(false);stmt=statement();//删除该日志的所有评论
estatement(“delete from feedback where articleid=?”);(1,articleid);eupdate();//删除该日志
estatement(“delete from article where articleid=?”);(1,articleid);eupdate();();//事务提交
}catch(exception ex){ tacktrace();try{ ck();//操作不成功则回滚 }catrch(exception e){ tacktrace();} }finally{ try{ ();();}catch(exception e){ tacktrace();} } 由于每一篇日志允许用户进行评论,日志可能有相应的日志评论,在进行日志删除操作时,得先删除该日志的所有评论,然后删除该日志。为了保持数据库中的数据一致性,本系统采用事务来完成该删除操作。在数据库操作中,一项事务是指由一条或多条数据库更新的sql语句所组成的一个不可分割的工作单元。只有当事务中所有操作都正常完成,整个事务才能被提交到数据库;如果有一项操作没有完成,就必须撤销整个事务。5.3.5 修改日志模块
修改日志界面图如图5.6所示。
图5.6 修改日志界面图
当用户需要修改已发表的日志,可单击日志管理显示界面中的修改日志链接,进入修改日志界面。该模块与添加日志模块相似,不同的是先从数据库中获得该日志的信息,显示在修改表单中,然后用户在日志标题、内容输入域内修改相应的文字,以及选择分类后,单击“修改”按钮进行表单提交,完成对该日志的修改操作。
5.3.6 日志搜索模块
当发布的日志越来越多时,想要很快找到需要的日志,如果仅仅是通过浏览日志标题列表来定位,将是一件非常困难的事情。因此,提供一种快速查询的方法将是非常有必要的。该模块具有快速搜索功能,搜索的结果是根据输入的关键字,到数据库中对日志标题或日志内容项进行模糊查询。日志搜索结果显示的核心代码如下:
日志标题:” target=”_blank”> 发表时间:
页面获取查询到的日志列表信息,然后再控制动态显示输出。当用户在该页面中单击日志标题的超级链接后,将提交附有日志编号属性的请求,以显示指定日志的详细信息。
结 论
论文研究了关于博客信息管理系统的需求分析,并完成了系统的设计与实现。归纳起来,主要完成了以下的工作:
(1)阐述了博客信息系统及其发展趋势,分析了目前我国博客信息系统的发展趋势和存在问题。确定了开发博客信息管理系统的基本技术路线。
(2)从用户需求的角度说明开发博客信息系统的可行性,并针对所收集的资料整理出系统的业务流程图、功能模块图、实体联系图和整体框架图。
(3)确定系统开发所需要的技术,结合现有的数据和编程思想,生成需要的数据库。明确各项工作的分工,数据的维护和使用权限的设定。
(4)在详细设计和编码阶段,运用了jsp最基本的开发技术,代码简单易懂,系统里网页间跳转比较清晰。完成了普通用户和系统管理员两者的功能分离,而且各自的功能操作都能得到正确数据并存入数据库中保存。
系统的开发以及论文的研究由于时间的关系,有一些地方做的还不是很完美。对mvc设计模式的研究时间不长,所以在写代码的时候还没有做到真正的得心应手,是在查询一些帮助文档的情况下才完成的。还存在着一些不足和不完善的地方。归纳起来主要体现在以下三个方面:
(1)系统功能趋于简单。真正的博客信息系统包括很多方面的信息,如可以在博客之间发送即时短消息,可以定制博客个人主页等。
(2)系统图形显示功能缺乏。目前系统中对数据的添加、删除和修改功能都没有图形快捷操作,而且整个系统的界面显得过于单调,缺乏动态图形显示效果。如果能结合其它界面美化工具,界面就能更人性化。
(3)还有就是整个系统采用jsp+javabean+servlet的网页构建技术,能很好地把逻辑处理和界面显示分开来,也便于网页的维护,但如果使用当前经典的框架结构struts框架结构,将能更好地实现逻辑代码与数据之间的分离。
参考文献
[1] 俞传正.基于博客的个人知识管理平台研究[d].天津:天津师范大学,2006.
[2] 陈明.blog、wiki在协作学习中的应用研究[d].武汉:华中师范大学,2006.
[3] 郭华伟.基于内容聚合blog学习的平台的辅助教学研究与实践[d].北京:首都师范大学,2006.
[4] 柳永坡,刘雪梅,赵长海.jsp应用开发技术[m].北京:人民邮电出版社,2005:30-32.
[5] 耿祥义.jsp基础教程[m].北京:清华大学出版社,2004:101-103. [6] 孙卫琴、李洪成.tomcat与java web开发技术详解[m].北京:电子工业出版社,2004:73-78.
[7] 李海峰.基于j2ee技术开发高性能bbs论坛[d].上海:华东师范大学,2006.
[8] 王夕宁,王晓平.jsp通用模块及典型系统开发实例导航[m].北京:人民邮电出版社,2006: 288-296.
[9] 赛奎春.jsp信息系统开发实例精选[m].北京:机械工业出版社,2006: 66-72.
[10] 陈刚.eclipse从入门到精通[m].北京:清华大学出版社, 2005:416-417.[11] 孙卫琴.精通struts:基于mvc的java web设计与开发[m].北京:电子工业出版社,2004: 1-9.
[12] 胡百敬,姚巧玫.sql server 2005 数据库开发详解[m].北京:电子工业出版社,2006:9-13,123-125.
[13](美)格罗夫 著,章小莉 完全手册(第二版)[m].北京:电子工业出版社,2006:12-14.
[14] 毕建信.基于mvc设计模式的web应用研究与实现[d].武汉:武汉理工大学,2006.
[15] 贺松平.基于mvc模式的b/s架构的研究及应用[d].武汉:华中科技大学,2005.
jsp实训报告篇五
目 录
(要求自动生成目录,内容仅供参考)
一、项目实训的目的与要求.......................1
1.1项目实训目的.......................1
1.1项目实训要求.......................1
二、题目说明..........................1
2.1 政府管理网站的背景介绍...................1
2.2 开发工具与技术介绍.....................错误!未定义书签。
2.2.1开发及运行环境...............错误!未定义书签。
2.2.2jsp简介.....................错误!未定义书签。
2.2.3mysql简介.................错误!未定义书签。
三、总体设计....................错误!未定义书签。
3.1系统项目规划.................错误!未定义书签。
3.2系统功能结构图....................错误!未定义书签。
3.3 数据库设计................错误!未定义书签。
四、后台系统部分模块的实现..................错误!未定义书签。
4.1管理员登录页面文件...................错误!未定义书签。
4.2管理员登录验证页面...................错误!未定义书签。
4.3栏目分类管理页面................错误!未定义书签。
4.4栏目新闻管理.................错误!未定义书签。
4.5添加栏目新闻.................错误!未定义书签。
4.6删除栏目新闻.................错误!未定义书签。
4.7投票统计管理.................错误!未定义书签。
4.8用户咨询管理.................错误!未定义书签。
五、开发技巧与实现方法.....................错误!未定义书签。
5.1 用服务器端包含技术实现数据库的打开操作.........错误!未定义书签。
5.2 用session保存用户信息...............错误!未定义书签。
六、项目实训总结...................错误!未定义书签。
七、参考文献..........................4
附录(部分源代码)(可以不写附录)...................4一、概述(一级标题,宋体,四号,加粗)
1.1开发背景(二级标题,宋体,小四号,加粗)
随着社会的进步,经济的发展,计算机技术在日益成熟。internet普及,人们利用网络来实现相互协调工作以及资源共享越来越成为不可扭转的趋势,学校信息化的发展也成了必然方向。伴随着学生人数每年都在增加,传统的方法用来管理学生信息已跟不上了时代的发展,还带来了很多的弊端,让学校的信息化很难推进,制约了学校的进一步发展。因此,学生管理系统的开发对于学校而言是必要的,学生管理系统能够促进学校信息化的发展,利于学校的长运计划。并且学生信息管理系统还为学校管理学生一些必要的相关信息带来了方便,免除了传统管理方法的繁杂和花费大量的人类、物力资源,减轻了学校的负担。(正文,宋体,5号,段落行距单倍行距,首行缩进2个字符)
1.2开发目的本次实训围绕以下三个方面展开:
(1)网站概论部分:力图使学生对建立动态网站有一个基本概念,了解什么是动态网站,它与别的网站有什么不同,以及了解建站相关的基础知识。
(2)外观设计部分:从网页制作技术上让学生利用网页的静态页面元素来完成网站页面的视觉效果。
(3)web应用程序开发部分:掌握动态网站的核心部分的知识,以及开发网站应用的各个关键部分的方法和技巧。
1.3 开发目标
建立学生管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:
(1)系统应具有实用性、可靠性和适用性,同时注意到先进性。
(2)对各个数据库进行动态管理,防止混乱。
(3)能够对查询结果进行分类汇总,实现报表打印和下载。
(4)方便用户的操作,尽量减少用户的操作
二、题目说明
2.1 开发工具与技术介绍
(1).技术可行性:需要用到java基本技术、基于jsp的web程序设计、tsql语言、图片处理、数据库服务等技术。
(2)
1.4.1 数据库技术的现状与发展
数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经趋于成熟,使我们能够方便的使用。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。
mysql作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,mysql虽然是免费的,但同oracle, sybase, informix, db2等商业数据库一样,具有数据库系统的通用性:
(1)数据库管理系统。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(dbms),mysql完全具有这方面的功能。
(2)关系型数据库管理系统。在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统(rdbms)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。同样,mysql也是关系型的数据库系统,支持标准的结构化查询语言(structured query language)。
(3)开放源码数据库。同商业性的数据库相比,这是mysql最大的特点。mysql的源码是公开的,这就意味着任何人,只要遵守gpl的规则都可以对mysql的源码使用、修改以符合自己特殊的需求。
(4)技术特点。mysql服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如c、c++、java、perl、php、tcl等,也提供了简单的管理工具,如mysqladmin,mysql等。
正因为mysql的源码是公开的,使得我们有机会从源码级,更深入的了解mysql。从这一层面上可以探求、了解mysql数据库的特性:良好的内存管理机制,尤其是内存泄漏的管理,通过了purify的严格测试;支持多种平台; 提供多种形式的api,为我们开发工具的选择提供了便利; 使用多线程的技术,可充分发挥系统的特点,避免在smp系统中出现仅使用单cpu的现象;对磁盘表的管理采用b树加密及索引的技术,为我们快速访问数据提供了可能; 高性能的内存申请技术;临时表采用在内存中以哈希表实现;提供多种数据类型;支持定长的和变长的纪录;所有的列都有缺省值,为我们的某些“粗心”提供了方便;灵活、安全的权限和密码系统,密码在传输中加密传送,允许主机端验证密码;
13)客户端可以通过tcp/ip、unix套接字、命名管道(nt)连接到mysql数据库服务器;对多种字符集的完全支持等等许多优点。mysql有如此多的特点,又由于其免费的特点,这就给许多的中小应用提供了不错的选择。尤其是对一些中小企业,无论是从降低成本,还是从性能方面,采用mysql作为其数据支撑系统,都是一种可行的方案。但也应当注意,采用mysql作为应用数据库,就意味着所有的问题都需要自己解决,要承担一定的风险。
1.4.3 编码
程序设计语言是人和计算机通信的最基本的工具,它的特点必然会影响人的思维和解决问题的方式,会影响人和计算机通信的方式和质量,也会影响其他人阅读和理解程序的难易程度。因此在编码时所选择的编码语言是很重要的。
本系统主要使用了基于java语言的jsp技术servlet技术,hibernate开源框架技术,struts开源框架技术,以及html、css、xml等等语言和技术。因此该系统据有java的所有优点,移植性能比较好,数据库移植也比较容易。本系统使用了许多的框架技术扩展也比较容易。
在编码实现过程中,使用了基本的控制结构,每行只写一行代码,在必要的地方加了许多的注释,结构清晰,代码容易阅读。对所有的输入数据都进行了检验,并且对组合输入也进行了级联验证,输入的格式也比较简单。对于验证出错的,给出详细的错误信息,使用户可以很清楚的知道自己在哪里出错了,方便用户的使用。
2.2运行环境(三级标题,宋体,五号,加粗)
.开发环境:课题在jdk+sql server平台下进行设计开发,所使用到的硬件设备有普通pc机一台(现在市场上主流的pc配置已足够),软件有jdk、tomcat、sql、myeclipse、deramwvaer8.0、freawork8.0等。
(3).运行平台:借助学院现有的www服务平台及数据库服务平台即可实现。
三、需求分析
四、总体设计
五、遇到的问题和解决方法
六、心得体会
七、参考文献(下面是参考格式,不少于3本)
[1].龙马工作室 编:《asp+sql server 网站开发实例精讲》,人民邮电出版社,2007.2
[2].宋昆、李严等:《sql server数据库开发实例解析》,机械工业出版社,2006.1
[3].李严、于亚芳、王国辉:《asp数据库开发实例解析》, 机械工业出版社,2004.12附录(部分源代码)
代码如下。<%
=true
dim conn
dim admin
dim connstr
set conn = object(“tion”)
connstr =“provider=sqloledb;” & “data source=znsqlexpress;initial catalog=gov_1;user id=sa;password=1234;”
connstr
%>
页面代码分析。
<% toptitle=“民政机构简介...” %> //判断标题和内容是否为空
<%
%>