您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页个人博客网站设计大学课程

个人博客网站设计大学课程

来源:叨叨游戏网


毕业设计报告(论文)

课题名称 个人博客网站设计 专 业计算机信息管理 学生姓名袁宁康

学号 5321609312163121 指导教师王作启钱明修

起讫日期 2013年10月--2014年4月 设

摘 要

随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学习和交流的工具。博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思,还有新闻日志、照片、诗歌和散文等。博客具有自主性、开放性、互动性和共享性的特点,是一个很好的交流的渠道,思想展现的舞台和学术探讨的园地。

本系统是一个实用的个人博客网站,集博客、留言板、链接于一身。未注册用户(访客)可以浏览文章,发表评论及留言。也可以通过注册成为该系统的注册用户,注册用户可以管理自己的博客、留言板、友情链接等,同时还可以发表新日志,上传附件等。 关

目录

1 绪论 ……………………………………………………………………………………1 1.1 开发背景及意义……………………………………………………………………1 1.2 系统开发软件简介……………………………………………………………………2 1.2.1J2EE…………………………………………………………………………………2 1.2.2 JSP……………………………………………………………………………………3 1.2.3 SQL Server 2005……………………………………………………………………6 2 系统分析……………………………………………………………………………8 2.1系统功能需求…………………………………………………………………………8 2.1.1访客…………………………………………………………………………………8 2.1.2 注册用户……………………………………………………………………………8 2.1.3 管理员………………………………………………………………………………9 2.2 系统流程…………………………………………………………………………10 3 系统设计……………………………………………………………………………12 3.1 系统B/S结构…………………………………………………………………………11 3.2 数据库设计…………………………………………………………………………12 3.2.1 数据库概念结构设计………………………………………………………………12 3.2.2 数据库逻辑结构设计………………………………………………………………13 3.3 存储过程……………………………………………………………………………14 4 系统实现 ……………………………………………………………………………15 4.1 系统主界面…………………………………………………………………………15 4.2 注册模块……………………………………………………………………………15 4.3 发表评论模块………………………………………………………………………17 4.4 日志管理模块………………………………………………………………………20 5运行测试………………………………………………………………………………23 5.1 兼容性测试…………………………………………………………………………23 5.2 用户测试……………………………………………………………………………23 5.3 安全测试……………………………………………………………………………23 结论………………………………………………………………………………………25

参考文献…………………………………………………………………………………26 致谢……………………………………………………………………………………27

1 绪论

互联网技术的发展使得博客及博客文化成为热点。博客以其自主性、开放性、共享性的特点,是满足了人们个人自由表达和出版,知识过滤与积累,深度交流沟通的网络新方式。本章主要介绍该系统的开发背景及意义、系统的开发软件。

1.1 开发背景及意义

近几年来,博客及博客文化正成为互联网的热点,并被视为继e-mail、bbs和icq

在网络上发表Blog的构想始于1998年,但到了2000年才真正开始流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。 博客正在改变社会交流方式。目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。

很多记者、律师、教授、学者、专家,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化。美国总统候选人乐于开设博客站点,作为竞选的重要手段。企业界也正在把博客方式引入企业内部网和公司网站,用于非正式的知识管理和网络营销等。部门和教育领域都在尝试利用博客构建内部知识管理和沟通交流的新体系,可以让职员发表评论,积累知识,链接有意思的网络资源,促进彼此的交流沟通。

显然,博客的发展对应了全球范围内知识社会来临的背景。对于中国,这样一个组织机构信息化仍处于初级阶段的国家,博客这种充分发挥个人主导性和积极性的非正式知识管理工具和其深度沟通交流的功能,对于我们国家的知识传播、知识

扩散和有效提升组织的学习和创新能力,具有更特殊的意义。博客用户的快速增长以及组织机构对它的广泛应用,有助于推动中国向学习型社会演进。

本系统根据现实的情况以及博客互动性的特点进行设计开发,旨在为用户提供一个交流的平台,促进用户间的深度沟通;并根据博客共享性的特点,促进用户之间的知识交流,使其成为一个学习的园地。

1.2 系统开发软件简介

1.2.1 J2EE

本系统主要运用 J2EE 技术开发。 J2EE 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难

这种基于组件,具有平台无关性的J2EE结构使得J2EE程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE服务器以容器的形式为所有的组件类型提供后台服务. 因为你不用自己开发这种服务, 所以你可以集中精力解决手头的业务问题。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的

:

保留现存的IT资产: 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的 BEA Tuxedo 、 IBM CICS , IBM Encina , Inprise VisiBroker以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的’企业计算’领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 高效的开发: J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时

间。高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务—让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。持续性服务—让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象CACHE服务—让开发人员编制高性能的系统,极大提高整体部署的伸缩性。 支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。 可伸缩性: 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。 稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是实时性很强商业系统理想的选择。 1.2.2 JSP

本系统主要用JSP开发的。JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。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

文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以

JSP

迅速成为商业应用的服务器端语言。

为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。 1.

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑

使

JSP

,而不

内容的

在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML

(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于 2.

可HTML

Web重

浏览器的完全可用性。

绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和

果采的

努用

得标到

。 识

3.

Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。4.适应平台 几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字

都数是

准据

平库

无连

。 接

5.

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平

台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。 1.2.3 SQL Server 2005

本系统的数据库采用SQL server 2005。SQL Server 2005的失败转移集群和数据库镜像技术确保企业向员工、客户和合作伙伴提交高度可靠和可用的应用系统。 SQL Server 2005引进了一套集成的管理工具和管理应用编程接口(APIs),以提供易用性、可管理性、及对大型SQL Server配置的支持。SQL Server 2005旨在通过数据库加密、更加安全的默认设置、加强的密码和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。SQL Server 2005可伸缩性的先进性包括表格分区、复制能力的增强和位支持。SQL Server 2005引入了使用

Microsoft .NET

语言来开发数据库目标的性能。

SQL Server 2005提供一种新的XML数据类型,使在SQL Server数据库中存储XML片段或文件成为可能。新的查询类型和在交易过程中使用错误处理的功能,为开发人员在SQL Server查询开发方面提供了更高的灵活性和控制力。SQL服务代理为各个级别的可伸缩性提供一种创新的、分发的、异步的应用系统体系结构。分析服务对数据仓库、商务智能和line-of-business解决方案的可伸缩性、可管理性、可靠性、可用性和可规划性提供扩展。对DTS结构合工具的全部重新设计为开发人员和数据库管理员提供了增强的灵活性和可管理性。 报表服务是一种新的报表服务器和工具箱,用于创建、管理和配置企业报告。数据挖掘的功能得以增强,主要归功于四种新的运算法则、改进的数据模型和处理工具。通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可

使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在

恢复的数据库。SQL Server 2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码、缜密的许可控制、以及一个增强型的安全模式。SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器

这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题。我们将在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。数据分割,将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。 对于分布式数据库而言,SQL Server 2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQL Server的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。

2 系统分析

本章将详细介绍该系统的分析过程,包括系统的各类用户的功能需求以及系统流程。

2.1 系统功能需求

系统涉及到的用户角色分三种:访客、注册用户和管理员。下面分别介绍各类用户角色的主要功能。

2.1.1 访客

访客无须注册,即可浏览注册用户发表的日志、上传的附件,并且还可对自己感兴趣的日志发表评论,给注册用户留言。其功能结构如图2-1所示:

博客访问者浏览日志发表评论浏览图片发表留言图2-1 访客功能图

2.1.2 注册用户

注册用户可以通过登录,对自己的博客空间进行管理。主要包括以下几个模块:

日志管理模块:包括日志分类管理(添加新分类、删除分类),个人日志管理(个人日志的添加、删除、编辑),日志评论管理(查看评论、删除评论)。

留言板管理模块:包括查看所有留言,删除留言。 相册管理模块:此模块包括上传新照片,删除照片。

友情链接管理模块:包括添加新的友情链接,编辑友情链接,删除友情链接。 功能结构如图2-2所示:

注册用户日志管理分类管理评论管理留言管理相册管理友情链接 添加日志编辑日志删除日志添加分类删除分类查看评论删除评论查看留言删除留言上传照片删除照片添加链接编辑链接删除链接 图2-2 注册用户功能图 2.1.3 管理员

管理员要对系统的注册用户的基本资料进行维护,并管理注册用户的日志以及留言。另外,管理员还可以修改该系统的常规设置,如:修改系统公告,修改用户注册条款等。功能结构如图2-3所示:

管理员 常规设置留言 管理用户 日志管理用户管理修改系统公告修改注册条款 查询用户信息添加新用户图2-3 管理员功能图

2.2 系统流程

根据以上的需求分析,以及各类用户的功能要求,得到系统的流程如图2-4所

示:

访客注册 注册用户登录浏览日志发表留言留言留言管理后台管理 评论管理发表评论日志分类管理个人日志相册管理友情链接链接照片图2-4 系统流程图 3 系统设计

本章主要介绍该系统采用的结构以及数据库的详细设计过程。

3.1 系统B/S结构

B/S结构为三层结构,建立在广域网的基础之上,客户端只需要安装浏览器,通过http协议向Web Server提出请求,Web Server站点收到请求后,通过CGI(ISAPI)得到相关数据,然后以HTML文档的形式返回给浏览器。结构如图3-1所示:

Web浏览器httphtmlCGI/ISPAWeb服务器数据库服务器图3-1 B/S结构原理

B/S建立在广域网之上,不必是专门的网络硬件环境,有比C/S更强的适应范围,一般只要有操作系统和浏览器即可。在B/S结构的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。B/S结构极大地简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。B/S体系的优点是:系统安装维护简便、数据集中管理;便于分散用户使用,适应互联网时代软件的发展趋势。根据B/S结构的特点和本系统的性能特点,采用B/S结构进行开发更合适。

3.2 数据库设计

本系统采用微软公司的大型数据库MS SQL Server 2005,数据库结构设计如下:

3.2.1 数据库概念结构设计

概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。在这里采用E-R模型。概念结构的E-R模型设计如图3-2所示:

图3-2 E-R模型

3.2.2 数据库逻辑结构设计

概念结构设计阶段得到的E-R模型是用户的模型,它于任何一种数据模型,于任何一种具体的DBMS。为了建立用户所需求的数据库,需要把上述概念模型转换为某个具体的DBMS所支持的数据模型。数据库逻辑结构设计的任务就是将概念结构转换为特定DBMS的所支持的数据模型的过程。该系统数据库的逻辑结构设计如图3-3所示:

blog_logblog_commentPK comm_IDlog_IDcomm_titlecomm_contentauthorpost_timeblog_guestbookPK gb_IDauthorauthor_IPgb_contentpost_timeblog_IDPK blog_pictureimage_IDblog_IDimage_subjectimage_urlPK log_IDblog_IDlog_titlecate_namelog_contnetpost_timeblog_categoryPK cate_IDcate_nameblog_IDblog_userPK usernameuser_pwdblog_IDuser_sexuser_emailblog_linkPK link_IDling_nameblog_IDlink_url图3-3 数据库逻辑关系图 3.3 存储过程

简单的说,存储过程是由一些SQL语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。

根据返回值类型的不同,我们可以将存储过程分为三类:返回记录集的存储过程, 返回数值的存储过程(也可以称为标量存储过程),以及行为存储过程。相对于直接使用SQL语句,在应用程序中直接调用存储过程有以下好处:

(1)减少网络通信量 (2)执行速度更快 (3)更强的适应性 (4)可用于增强安全性。

由于存储过程具有以上的优点,该系统也多次使用。例如:在发表日志时,存储过程InsertLog用于保存新发表的日志的信息。在日志管理时,存储过程

updateLog用于及时更新日志信息。在用户注册时,存储过程checkUser用于验证数据库中是否已经存在该用户名,以保证用户名不能重复。

4 系统实现

本章主要介绍该系统主要部分的具体实现。

4.1 系统主界面

该界面为该系统的首页,显示出最新日志,最热日志等。访客只要一进入该网站,就可以看到该页面。并通过该页面进入留言板、日志、发表评论等其他感兴趣的页面。系统主界面如图4-1所示:

图4-1 系统主界面

4.2 注册模块

访客可以通过该界面注册成为该系统的注册用户,拥有自己的博客空间。界面如图4-2所示:

图4-2 用户注册界面

protected void Button1_Click (object sender, EventArgs e) {

//连接数据库,使用存储过程CheckUser,查看该用户名是否已经存在 SqlCommand command =

new SqlCommand(“CheckUser”, conn)。 SqlDataReader dr=command.ExecuteReader()。

if (CheckBox1.Checked) //如果同意注册条款,则可以进行注册 {

if (dr.Read()) //如果用户名已经存在,则注册失败

Response.Write(“”)。

else //如果用户名不存在,则在数据库中保存新注册用户的信息 {

command = new SqlCommand(“InsertUser”, conn)。 SqlParameter RegisterName =

command.Parameters.Add(“@name”, SqlDbType.NVarChar, 30)。 //传递各个参数的值

RegisterName.Value = TextBoxName.Text。

Session[”username”] = TextBoxName.Text.Trim()。

}

else //如果不同意注册条款,则不能进行注册

Response.Write(“”)。

4.3 发表评论模块

在该模块中主要使用了存储过程。SQL存储过程执行起来比SQL命令快得多,当一个SQL语句包含在存储过程中时,服务器不必每次都要分析和编译它。而且存储过程使程序易于维护。如果程序需要做某些修改,只要改动存储过程即可。数据库建立表之后,根据系统的功能,也多次用到存储过程。创建存储过程如下:

Creat Procedure InsertComment (@log_ID int, //日志编号

@comm_subject varchar(30), //评论主题 @comm_content ntext, //评论内容 @comm_author varchar(30), //评论作者 @post_time datetime //评论时间 ) AS

Insert into blog_comment

(log_ID,comm._subject,comm._content,comm._author,post_time) Values(@log_ID,@comm_subject,@comm_content,@comm_author,@post_time) RETURN

发表评论的界面如图4-3所示:

图4-3 发表评论界面

以下为点击提交按钮时触发的事件: protected void ButtonOk_Click (object sender, EventArgs e) {

if (TextBox1.Text==””)

author = “匿名”。 //如果作者没填,则默认为匿名 else

author = TextBox1.Text。 //获取评论的作者

SqlCommand command = new SqlCommand(“insertComment”, conn)。 //添加参数 SqlParameter

log_ID

command.Parameters.Add(“@log_ID”,SqlDbType.Int)。

//传递参数的值

log_ID.Value =Session[”log_ID”]。 SqlParameter comm_subject =

command.Parameters.Add(“@comm_subject”, SqlDbType.VarChar, 30)。comm_subject.Value=this.labSubject.Text。 SqlParameter comm_content =

=

command.Parameters.Add(“@comm_content”, SqlDbType.NText)。 comm_content.Value =TextBox2.Text。 SqlParameter comm_author =

command.Parameters.Add(“@comm_author”, SqlDbType.VarChar,30)。 comm_author.Value = author。

int number = command.ExecuteNonQuery()。 if (number < 1)

Response.Write(“”)。

else

Response.Write(“”)。

}

4.4 日志管理模块

该模块用到的控件是DataList以及用户自定义控件。DataList控件是一种以自定义格式显示绑定数据源信息的控件,使数据的显示外观更加多样化,操作更加简单。

(1) DataList任务菜单中选择[编辑模板]命令,DataList控件进入模板编辑状态,在下拉列表框中选择”ItemTemplate”,布局如图4-4所示:

图4-4 项模板

(2) 编辑模板的设计,布局如图4-5所示:

图4-5 编辑项模板

(3) 各事件代码如下:

protected void DataList1_CancelCommand (object source, DataListCommandEventArgs e) {

DataList1.EditItemIndex = -1。 //编辑结束 DataList1.DataBind()。 }

protected void DataList1_EditCommand (object source, DataListCommandEventArgs e) {

DataList1.EditItemIndex = e.Item.ItemIndex。 DataList1.DataBind()。 //数据绑定 }

protected void DataList1_UpdateCommand (object source, DataListCommandEventArgs e) {

//获取要编辑的记录的主键号

string ID = DataList1.DataKeys[e.Item.ItemIndex].ToString()。 //获取参数的值

string title = ((TextBox)e.Item.FindControl(“textBox1”)).Text。 string

cate_name

=

((DropDownList)e.Item.FindControl(“dropDownList1”))

.SelectedItem.Text。 string log_content =

((TextBox)e.Item.FindControl(“textBox2”)).Text。

SqlDataSource1.UpdateParameters[”id”].DefaultValue= ID。 //传递参数的值

SqlDataSource1.UpdateParameters[”cate_name”].DefaultValue = cate_name。

SqlDataSource1.UpdateParameters[”log_title”].DefaultValue = title。 SqlDataSource1.Update()。 //更新数据源 DataList1.EditItemIndex = -1。 //编辑结束 DataList1.DataBind()。

5 运行测试

5.1兼容性测试

1.原理:在多种浏览器测试工程页面展示效果,及功能效果。

2.方法:针对各种浏览器进行数据测试:IE6/7/8 、Fire 、Goole 、Safari、opera、搜狗、猎豹。。。其中多个浏览器有急速模式,兼容模式。

5.2用户测试

1.原理:模拟新用户参登录注册,并在一般环境、特殊环境(如中途断网)下。对所有的功能进行测试。

2.方法:用户未注册;用户登录。。。 3.结果:未发现明显BUG;

5.3安全测试

1.原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系

统。 2.方法:

2.1 or 1=1

2.2猜表名And (Select count(*) from 表名)<>0 2.3猜列名And (Select count(列名) from 表名)<>0

2.4and exists(select * from 表名)and exists(select 列名 from 表名)

3.结果:发现SQL注入BUG ;

4.完善:SQL语句增删改查 更改为参数化。

结论

不知不觉中网页设计与制作的毕业毕业设计将要结束了,这门课程所包含内容的丰富是让我从没有想到的。在整个的学习过程中,我学习了Flash、Dreamwave、Javascript、Fireworks、Html语言、IIS、网站建设的基本思想等重要内容。到现在为止,我还是很庆幸能够学到这么多的内容。

网页设计与制作毕业设计是在指导教师的悉心指导下完成的。虽然整个整个内容还有很多不足,但是我的确能够感到在我制作过程中技能的提高。在今后的学习生活中,我将不断提高自己网页设计与制作的能力和水平,从而弥补在本次毕业设计中的不足。

参考文献:

[1] 陈志泊、李冬梅、王春玲等,数据库原理及应用教程,第1版,人民邮电出版社,2002-3

[2] 萨师煊、王珊,数据库系统概论,第3版,高等教育出版社,2000-2 [3] 齐治昌、谭庆平、宁洪等,软件工程,第2版,高等教育出版社,2004-4 [4] 邓良松、刘海岩、陆丽娜,软件工程,西安电子科技大学出版社,2001 [5] 穆西亚诺(张洪涛.邢璐译)《HTML&XHTML权威指南(第6版)中文版》.北京:清华大学出版社,2007-4

[6]梁勇.阮丽珍.《Java深入解读——透析Java本质的36个话题》.北京:电子工业出版社,2013-11-01

[7]刘京华.《Java Web整合开发王者归来(JSP + Servlet + Struts + Hibernate +

Spring)》.北京:清华大学出版社,2009-12-21 [8] 新浪博客, http://blog.sina.com

致谢

本论文历时两个多月,我系统综合地将我所学的知识运用于毕业设计的全过程。在完成毕业设计中,首先我要感谢我的论文指导教师王作启老师。王老师耐心细致地指导我毕业设计,提出了很多精辟而富有建设性的建议。王老师认真负责的工作态度,严谨的治学态度都给我留下了深刻的印象,在学习上给予了我极大的关心和帮助,在此表示衷心感谢!

同时,感谢东南大学为我提供了一个学习机会,感谢学院的领导和老师们!他们无

微不至的关怀、精心的培养使我到了很多的知识,终生受益!

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务