已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学本科毕业设计本科毕业论文 题目 :基于学习交流的博客管理系统 学 院:计算机科学与技术专 业:计算机科学与技术学 号:学生姓名:指导教师: 日 期:摘 要 “博客”一词是从英文单词Blog翻译而来,Blog是Web Log(网络日志)的简称。Blogger则指撰写Blog的人,Blogger在很多时候也被翻译成为“博客”。 在网络上发表Blog的构想使于1998年,但到了2000年才真正开始流行。随着网络技术的迅速发展,人们已经不再满足于从网络上获取信息,亲身参与到互联网中去已经成为越来越多人的愿望。“博客”丰富了人们的网络生活,它是一个以网络为载体的综合性信息平台。“博客”不仅仅是一种单向的信息发布系统,它也有着极其出色的交流功能。用户在其中可以发布自己的心得,并通过留言的方式与他人进行交流,同时还可以进行个性化展示。本“博客”网站可以帮你方便完成会员注册,发布个人网络日志,浏览、查询网络日志,并对网络日志发表评论,除此之外,您还可以编辑个人信息,上传图片,更换背景等。本系统采用B/S(Browser/Server)结构,用户通过WEB浏览器便能方便地应用博客系统。本系统采用J2EE开发技术,该技术具有程序结构清晰,高标准性和高安全性的优点。基于MVC(Model-View-Controller)模式,应用Struts框架,以XML文件作为程序流程的配置文件,使程序代码在保持相对独立的同时又能高效地协同工作。系统可在Windows、Linux、Unix等操作系统上运行,实现了一处编写随处使用的跨平台性。关键词: 博客; Struts; MySQL; Tomcat AbstractBlog term comes from the English translation of the word Blog, Blog is a Web Log (Blog) for short. Blogger refers to people who write Blog, Blogger has been translated in many cases a blog.Blog published in the concept of the network so that in 1998, but 2000 really became popular. The rapid development of the internet technologies, people are no longer satisfied to obtain information from the network, go in person to participate in the Internet has become more and more people desire.Blog rich peoples network of life, it is a web-integrated information platform carrier. Blog is not just a one-way information distribution system, it also has very good communication capabilities. In which users can publish their own experiences and the way through the message to communicate with others, can also personalize the display. The blog website can help you easily complete the membership registration, publish personal web log, browse, query web log, web logs and comments, In addition, you can edit the personal information, upload images, change background .The system uses the B / S (Browser / Server) structure, the user through the WEB browser application can easily blog system. The system uses J2EE development technology, which has a clear program structure, high standards and high-security benefits. Based on MVC (Model-View-Controller) pattern, Struts Framework application to process XML file as a program configuration file, make the program code while maintaining a relatively independent work together efficiently. System can be Windows, Linux, Unix and other operating systems, implemented a cross-platform use of the preparation of everywhere.Key words: Blog; Struts; MySQL; Tomcat目 录1绪论51.1 博客的实用价值51.2 博客的功能介绍51.3 Java语言简介61.4 MySQL数据库介绍81.4.1 MySQL数据库介绍81.4.2 MySQL优势:91.4.3 功能详述102系统分析132.1 功能需求分析132.2 系统逻辑模型142.2.1 系统的数据流图142.2.2 数据字典163系统设计193.1 系统总体结构设计193.2 硬件环境设计203.3 软件环境设计203.4 数据库设计203.4.1 概念结构设计203.4.2 逻辑结构设计253.4.3 物理结构设计253.5 用户界面设计274系统实施314.1 技术标准及框架的选择314.2 开发环境的搭建314.3 程序代码315系统维护346结论35参考文献36致谢371绪论1.1 博客的实用价值“博客”极大地丰富了人们的网络生活,无论从开阔视野方面,还是从共享精神方面,它都有着极强的实用价值。在“博客”上发布的言论,无论是得到持相同观点者的支持,还是得到持相反观点者的反驳,这些支持或者反驳的言论,会使你在思维上有更好的提升。“博客”并不等同于“网络日记”,它不仅仅是个人思想的表达和日常琐事的记录,它是私人性和公共性的有效结合,所提供的内容可以用来交流,也可以为他人提供帮助。“博客”的内容既可以是个人的想法和心得,也可以是基于某一主题或是某一领域内由一群人集体创作的内容,通过这种交流方式,我们可以认识更多的朋友。1.2 博客的功能介绍 作为网上交流的综合性平台,博客系统的主要功能是新建网络日志、编辑网络日志、删除网络日志、网络日志分类管理、编辑个人基本信息、自定义背景、查看博客空间、浏览网络日志、发表评论、搜索博客文章、后台管理。开通新用户和登录验证是登录个人主页,编辑管理个人博客空间的前提条件。进入个人主页后,可以新建网络日志、编辑网络日志、删除网络日志、编辑个人基本信息、自定义背景。通过为网络日志设定所属类别,如随笔、音乐、图书等,可对日志进行分类管理,从而达到便于检索的目的。另一种分类方式是系统自动根据网络日志的创建日期进行分类。点击网络日志下方的“评论”链接,就可进入评论界面,便可以对网络日志发表评论。系统还具有对网络日志的阅读数和评论数的自动统计功能,阅读数和评论数显示在该网络日志的下方。用户的个人信息会显示在个人档案部分,通过点击“编辑个人档案”链接,进人个人档案编辑页面,用户可以随意修改档案信息。个人主页的风格也可以根据用户喜好进行更换,点击“自定义模板”,进入模板自定义界面,选择自己喜欢的页面主题风格,个人主页的背景将随之发生变化。除此以外系统设有后台管理功能,管理员可以通过该功能对博客进行统一管理。1.3 Java语言简介Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。Java的开发环境有不同的版本,如sun公司的Java Developers Kit, 简称 JDK。后来微软公司推出了支持Java规范的Microsoft Visual J+ Java开发环境,简称 VJ+。java的特点:1. 平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使 用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在 硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。 2. 安全性 Java的编程类似C+,学习过C+的读者将很快掌握Java的精 髓。Java舍弃了C+的指针对存储器地址的直接操作,程序 运行时,内存由操作系统分配,这样可以避免病毒通过指 针侵入系统。Java对程序提供了安全管理器,防止程序的 非法访问。 3. 面向对象Java 吸取了C+面向对象的概念,将数据封装于类中,利用类 的优点,实现了程序的简洁性和便于维护性。类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后 通过上述特性反复利用。程序员只需把主要精力用在类和接 口的设计和应用上。Java 提供了众多的一般对象的类,通 过继承即可使用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类 只有一个父类,子类的父类又有一个父类。Java 提供的 Object 类及其子类的继承关系如同一棵倒立的树形,根类 为 Object 类, Object 类功能强大,经常会使用到它及其 它派生的子类。4. 分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5. 键壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供: Null指针检测、 数组边界检测、 异常出口、 Byte code校验。Java与C/C+语言Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C+安全性不好,但C和C+被大家接受,所以Java设计成C+形式,让大家很容易学习。Java去掉了C+语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。Java去掉了以下几个C和C+功能:指针运算结构typedefs#define需要释放内存这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。面象对象:Java实现了C+的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。Java与Internet我们知道,早先的 www 仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的革命。 Java并不是为 Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java 是一种面向对象语言。Java 语言类似于 C+ 语言,所以已熟练掌握 C+语言的编程人员,再学习 Java 语言就容易得多!Java 程序需要编译。实际上有两种 Java 程序:一种 Java 应用程序是一个完整的程序,如 Web 浏览器。一种 Java 小应用程序是运行于 Web 浏览器中的一个程序. Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400 baud线上传输视频图象时,HotJava将能显示这些视频。当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。 电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能 与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。Java程序被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。1.4 MySQL数据库介绍 1.4.1 MySQL数据库介绍MySQL 是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统。MySQL 完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。MySQL用C和C+编写,它可以工作在许多平台(Unix,Linux,Windows)上,提供了针对不同编程语言(C,C+,JAVA等)的API函数;使用核心线程实现多线程,能够很好的支持多CPU;提供事务和非事务的存储机制;快速的基于线程的内存分配系统;MySQL采用双重许可,用户可以在GNU许可条款下以免费软件或开放源码软件的方式使用MySQL软件,也可以从MySQL AB公司获得正式的商业许可。除了以上特点,MySQL 还有一个最大的特点,那就是在诸如 UNIX 这样的操作系统上,它是免费的,可从因特网上下载其服务器和客户机软件。并且还能从因特网上得到许多与其相配的第三方软件或工具。而在 Windows 系统上,其客户机程序和客户机程序库是免费的。1.4.2 MySQL优势:1.速度。MySQL 运行速度很快。开发者声称 MySQL 可能是目前能得到的最快的数据库。可访问 /benchmark.html (MySQL Web 站点上的性能比较页),调查一下这个性能。2.容易使用。MySQL 是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低。3.价格。MySQL 对多数个人用户来说是免费的。4.小巧。4.1.1的数据库发行版仅仅只有21M,安装完成也仅仅51M。5.支持查询语言。MySQL 可以利用 SQL(结构化查询语言),SQL 是一种所有现代数据库系统都选用的语言。也可以利用支持 ODBC(开放式数据库连接)的应用程序,ODBC 是 Microsoft 开发的一种数据库通信协议。6.性能。许多客户机可同时连接到服务器。MySQL数据库没有用户数的限制,多个客户机可同时使用同一个数据库。可利用几个输入查询并查看结果的界面来交互式地访问 MySQL。这些界面为:命令行客户机程序、Web 浏览器或 X Window System 客户机程序。此外,还有由各种语言(如C, C+, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl)编写的界面。因此,可以选择使用已编好的客户机程序或编写自己的客户机应用程序。7.连接性和安全性。MySQL 是完全网络化的,其数据库可在因特网上的任何地方访问,因此,可以和任何地方的任何人共享数据库。而且 MySQL 还能进行访问控制,可以控制哪些人不能看到您的数据。8.可移植性。MySQL 可运行在各种版本的 UNIX 以及其他非 UNIX 的系统(如 Windows 和 OS/2)上。MySQL 可运行在从家用 PC 到高级的服务器上。9.开放式的分发。MySQL 容易获得;只要使用 Web 浏览器即可。如果不能理解某样东西是如何起作用的,或者对某个算法感到好奇,可以将其源代码取来,对源代码进行分析。如果不喜欢某些东西,则可以更改它。1.4.3 功能详述1.表大小和记录数对于表的大小MySQL没有内部限制,仅仅受限于操作系统对表文件大小的限制,目前在Linux-Intel 32 bit上表最大为2GB,在Solaris 2.7上是512GB。实际应用中MySQL数据库处理拥有60000个表和五十亿条记录的数据库系统,表记录可以达到五百万条。目前我们的OMCR数据库表只有134个,数据库记录还没有上百万的。2.索引支持每个表32个索引,每个索引可以包含116个字段,最大字段长度为500个字节。3.连接支持TCP/IP的sock连接,这样便于跨平台的数据库连接,同时还支持Windows下的命名管道连接、ODBC连接。同时MySQL服务器端对于接入用户数没有任何限制。4.字符集支持ISO-8859-1 (Latin1), german, big5, ujis字符集,我们目前采用的是ISO-8859-1字符集,5.数据类型MySQL支持的可用于表的字段类型定义的数据类型有:signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, and ENUM types可以分三种类型:数值类型,日期和时间类型,字符类型我们目前主要使用DECIMAL、VARCHAR2、DATE、TEXT和BLOB数据类型这些类型已经远远满足我们的需要,类型说明如下: DECIMAL(显示长度,小数位数) UNSIGNED ZEROFILL 以字符串的形式存储的浮点数,所以的字节数由显示长度节点。它的最大可能是DOUBLE。如果没有指定显示长度则缺省为10;如果没有指定小数位数,则缺省为0。 NATIONAL VARCHAR(M) BINARY变长字符串。字符串长度的大小为0到255。它对大小写不敏感,除非它为BINARY的。在MySQL4.1.0版本后,长度可以超过255,如果长度超过了255,将被转换成TEXT类型。 BLOB或者TEXT BLOB用来存储二进制对象,TEXT用来存储文本值。BLOB与TXT类型基本相同,不同的是在做比较时TXT对大小写不敏感,BLOB对大小写敏感。在大多数情况下可以将TXT看作是对VARCHAR的扩展,它的最大长度更大,不同的是在存储时TXT不会自动将结尾的空格去掉,而VARCHAR会。 BLOB可看作是对VARCHAR BINARY的扩展。BLOB和TXT的列不能有缺省值。BLOB有四种:TINYBLOB最大长度为255(28-1);BLOB最大长度为65535(216-1);MEDIUMBLOB最大长度为16777215(224-1);LONGBLOB最大长度为4294967295或者4G(232-1)。TXT也有四种:TINYTXT最大长度为255;TXT最大长度为65535;MEDIUMTXT最大长度为16777215(224-1);LONGTXT最大长度为4294967295或者4G(232-1)。 DATETIME日期和时间,8个字节。支持的范围是1000-01-01 00:00:00到9999-12-31 23:59:59,MySQL以YYYY-MM-DD HH:MM:SS格式显示它的值,但允许以字符串或者数字的形式给它赋值。 TIMESTAMP(显示长度)4个字节。支持的范围是1970-01-01 00:00:00到2037年12月31日子夜之间某时刻的简单表示形式。在MySQL4.0及更早的版本中,它的显示格式为 YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, 或者YYMMDD,这要依赖显示长度的取值。从MySQL4.1版本后,改为YYYY-MM-DD HH:MM:SS格式。它的主要用途是保持对表更新的记录,当向表insert或update记录时,如果没有提供TIMESTAMP列的值,则它将被置为进行该操作时的时间,如果提供TIMESTAMP列的值为NULL, 则它将被自动置为当前时间。6.SQL语句MySQL数据库部分支持ANSI SQL_99语法,我们主要使用CREATE TABLE,INSERT,DELETE,UPDATE,SELECT操作在这方面是支持的。但是由于目前MySQL不支持储存过程、触发器和视图,这样我们的一些数据库服务需要编程实现。7.应用接口API为了方便应用程序的开发,MySQL 提供了用Perl、PHP、Java、Python、C+、Tcl 编程语言编写的客户机库,它允许从任何程序的内部访问 MySQL 数据库。客户机库实现应用程序编程接口(API),API 定义客户机程序如何建立和执行与服务器的通信。我们的OMCR主要采用C、C+和JAVA编程,因此从编程接口上看MySQL已经满足我们的需求。2系统分析系统分析是对整个系统应用的分析和研究,要解决的是“软件做什么”的问题。在系统分析阶段对软件功能进行准确无误地确认,整个软件过程良好的开端。2.1 功能需求分析 通过对博客系统的调查研究,明确系统的功能需求和信息输入/输出。信息输入是用户注册,主要信息输出是用户发表博客文章,主要加工处理包括用户注册、对博客文章和博客空间的管理、以及后台管理。在对各功能需求进行详细说明之前,不妨先来看一下网站的浏览机制,它有助于了解博客网站的风格和目录结构,从而对功能需求有更清晰的认识。图1 网站浏览机制以下对网站页面浏览机制进行具体说明:用户进入博客网站主页后可以完成三项活动: 一是注册,即开通新用户,成为博客网站的会员;二是登录验证进入自己的博客空间;三是搜索博客文章或博客空间。注册成功后,便可以看到个人主页(即自己的博客空间),此时这个博客空间是一个崭新的空间,用户可以在里面尽情发挥,编辑个人基本信息(包括昵称、性别、职业、兴趣爱好、照片等);自定义模板,即更换背景图片;发表文章(即创建网络日志),编辑、删除文章。退出个人主页,再次进入时,需要输入用户名和密码,完成登录验证才能登录个人主页。在搜索模块中,可以按博客空间的名字、博客文章标题、博客内容进行搜索,在浏览博客文章时,可以对其添加评论信息。除此之外,系统还有一个重要的功能实现,就是“后台管理”,这个功能是为后台管理员服务的。后台管理员可以对博客网站上的一些非法言论和文字性的东西进行管制,即对其进行查询,取消非法分子的会员资格或删除其非法性文字。2.2 系统逻辑模型在明确系统功能需求之后,逻辑模型是系统分析阶段的又一重要成果。本系统的逻辑模型主要以系统的数据流图和数据字典为描述工具。2.2.1 系统的数据流图 数据流图是组织中信息运动的抽象,是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储以及外部实体等项目。数据流图的符号说明如下图2所示: 外部项 加工 数据存储 处理 数据流图 2 数据流图符号说明 首先,确定系统的外部实体:用户和管理,用户是系统的数据来源,管理员是系统的数据去向。明确系统边界后,绘制出系统的“关联图”,如下图所示: 用户管理员博客系统图 3 博客系统关联图然后,确定系统的主要处理功能和数据存储,绘制出系统的“顶层数据流图”,如下图所示: 用户系统文件系统处理管理员 登录查看浏览 登录图 4 博客系统顶层图最后,将博客系统数据处理功能分解为文章处理、博客管理、后台处理三个子处理。随着系统处理的拆分,将数据存储细分成文章文件、评论文件、用户文件和后台文件四个子数据存储,绘出“系统数据流图”如下图所示: W1用户文章处理文章文件后台处理W2管理员博客管理用户文件评论文件P3D1D2D3P1后台文件P4D4F1F4F2F3F5F6F7F8F10F9图5 系统数据流图P表示数据处理,F表示数据流,D表示数据存储 ,W表示外部实体F1: 发表文章 F2: 存储文章信息 F3: 发表评论 F4: 管理信息 F5: 存储用户信息 F6: 查看博客文章 F7: 查看评论信息 F8: 查看用户信息 F9:管理 F10: 存储管理信息2.2.2 数据字典根据系统的数据流程图,得到数据元素、数据流、数据存储、加工和外部项的数据词典(DD),举例说明如下:外部项:外部项系统名:博客系统 编号:W1条目名:博客用户 别名:用户输入数据流:无输出数据流:注册信息、登录信息、日志信息主要特征:本系统就是为博客用户使用的,其主要特征是用户的用户名和密码简要说明:本系统的主要功能是创建网络日志和添加评论,而博客用户应用博客系统的主要目的是创建网络日志。修改记录:编写:张鑫军日期:2010-3数据流:数据流系统名:博客系统 编号:L3条目名:网络日志 别名:日志来源:博客用户去处:博客浏览者数据流结构: 日志 = (日志ID),标题,内容,作者,创建日期,阅读数,评论数,用户ID简要说明:本系统的主要功能是创建网络日志和添加评论,从而提供一个网上信息共享和交流的平台,而网络日志是该系统最主要的数据流之一。修改记录:编写:张鑫军日期:2010-3数据存储:数据存储系统名:博客系统 编号:D2条目名:日志信息库 别名:日志数据库存储组织:每个日志一个日志ID,按日志ID顺序排列记录数:n关键字:日志ID记录组成: 字段:日志ID,日志标题,日志内容,日志作者、创建日期、用户ID简要说明:修改记录:编写:张鑫军日期:2010-3数据元素:数据元素系统名:博客系统 编号:F2条目名:日志ID 别名:文章编号属于数据流:网络日志存储处:日志信息库数据元素值: 1 代码类型 Int 取值范围 根据数据库而定 意义 日志记录的关键字简要说明:修改记录:编写:张鑫军日期:2010-3加工:加 工系统名:博客系统 编号:P3条目名: 创建日志 别名:新建日志输入:用户填写的日志信息输出:展现给浏览者的网络日志加工逻辑:根据用户填写的日志标题、日志内容、创建日期、所属分类等信息,填充日志信息库。每个日志都有一个日志ID,日志ID会随日志的增加而自增,同时每个日志记录都一个用户ID标识。简要说明:这是本系统得主要操作环节,也是核心部分。修改记录:编写:张鑫军日期:2010-33系统设计系统设计阶段的目的是将系统分析阶段所提出的系统逻辑方案转换成基于计算机与通信系统的可以实施的物理方案,包括系统总体结构设计、硬件环境和软件环境的设计、数据库设计、界面设计。3.1 系统总体结构设计通过前期的功能分析,在系统功能结构设计阶段将博客系统划分为注册登录、网络日志、个性化展示、搜索、后台管理五大模组。其中注册登录又包括注册和登录验证两个模块,网络日志模组又分为发表文章、编辑文章、删除文章、发表评论四个模块,个性化展示模组分为编辑个人信息和自定义模板两个模块,搜索模组包括按文章标题搜索和按文章内容搜索两个模块,后台管理模组包括管理员登录、管理博客空间、管理博客文章、管理用户信息四个模块。博客系统总体结构设计图如下图所示:博客系统搜索按文章标题查询按文章内容查询注册/登录注册登录验证网络日志个性化展示后台管理管理员登录管理博客空间管理博客文章管理用户信息创建网络日志编辑网络日志删除网络日志发表评论编辑个人信息自定义模板浏览网络日志图 6 系统功能结构图3.2 硬件环境设计 整个系统采用B/S结构,服务器端硬件包含两台PC服务器,分别为Web服务器,应用服务器,数据库服务器。浏览器端IE6.0以上。 本系统的硬件及网络拓补结构如下图:图 7 网络结构图3.3 软件环境设计本系统的Web服务器采用Apache Tomcat 5.5,数据库为MySQL5.0。3.4 数据库设计3.4.1 概念结构设计概念结构是独立于任何一种数据模型的信息结构,概念结构设计的主要成果是“实体-关系图”(简称E-R图)。 实体 属性 联系图8 E-R图符号说明用户基本信息用户名密码编号最后一次登录时间注册时间昵称图 9 用户基本信息实体E-R图用户详细信息 编号生日性别职业国籍电话爱好省/市邮箱个性留言图 10 用户详细信息实体E-R图博客空间编号用户编号背景图片博客名称文章数量博客地址访问次数图 11 博客空间实体E-R图网络日志编号博客编号类型标题内容发表时间评论数量访问量编辑时间图 12 博客文章实体E-R图文章评论编号文章编号评论内容评论时间评论作者图 13 文章评论实体E-R图后台管理员编号管理员名称操作对象操作内容操作时间图 14 后台管理实体E-R图用户文章博客空间评论评论注册发表11N1nn1用户名密码编号最后一次登录时间注册时间昵称编号博客编号类型标题内容发表时间评论数量访问量编辑时间编号文章编号评论内容评论时间评论作者后台编号用户编号背景博客名称文章数量访问次数编号管理员名称操作对象操作内容操作时间管理1n图 15 信息实体综合E-R图3.4.2 逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型。系统关系模式设计如下: 用户(UID#,UNAME,UPWD,UNICK,REGISTED_TIME,LAST_LOGIN_TIME)博客空间(SID#,UID,BLOG_NAME,BLOG_NUMBER,VISIT_NUMBER,BACKGROUND)网络日志(BID#,SID,BLOG_TYPE,TITLE,CONTEXT,PUBLISH_TIME,MODIFY_TIME,COMMENT_NUMBER,VISIT_NUMBE,PUBLISH_DATE)评论(CID#,BID,DESCRIPTION,C_TIME,C_AUTHOR)后台(MID#,SID,M_TIME,M_CONTENT)3.4.3 物理结构设计物理结构设计阶段实现的是数据库系统的内模式,数据库物理设计阶段的任务是为给定的数据库模型确定合理的存储结构和存取方法。表1 用户基本信息表REGISTER_INFO字段数据类型可否为空注释 UIDINT(10)NOT NULL主键 UNAMEVARCHAR(30)NOT NULL用户名 UPWDVARCHAR(20)NOT NULL密码 UNICKVARCHAR(20)NOT NULL昵称 REGISTED_TIMETIMESTAMPNULL注册时间 LAST_LOGIN_TIMETIMESTAMPNULL最后一次登陆时间表2 用户详细信息表USER_INFO字段数据类型可否为空注释UIDINT(10)NOT NULL主键UNICKVARCHAR(30)NOT NULL昵称BIRTHDAYDATENOT NULL出生日期SEXVARCHAR(2)NOT NULL性别EMAILVARCHAR(100)NOT NULL电子邮箱FAVORATEVARCHAR(100)NULL爱好CHARACTERVARCHAR(100)NULL个性留言COUNTRYVARCHAR(50)NULL国籍PROVINCEVARCHAR(50)NULL省市PHONEVARCHAR(15)NULL电话表3 博客空间信息表SPACE_INFO 字段数据类型 可否为空 注释SIDINT(10)NOT NULL博客编号(主键)UIDINT(10)NOT NULL用户编号(外键)BLOG_NAMEVARCHAR(20)NULL博客名称BLOG_NUMBERINT(10) NULL博客文章数量VISIT_NUMBERINT(10)NULL博客空间访问数量BACKGROUNDVARCHAR(50)NULL背景图片表4 文章信息表BLOG_INFO字段数据类型可否为空注释BIDINT(10)NOT NULL文章编号(主键)SIDINT(10)NOT NULL博客编号(外键)BLOG_TYPEINT(10)NULL文章类型TITLEVARCHAR(100)NULL标题CONTENTLONGTEXTNULL内容PUBLISH_TIMETIMESTAMPNULL发表时间MODIFY_TIMETIMESTAMPNULL编辑时间COMMENT_NUMBERINT(10)NULL评论数量VISIT_NUMBERINT(10)NULL访问数量表5 文章评论信息表COMMENT_INFO字段数据类型可否为空注释CIDINT(10)NOT NULL评论编号(主键)BIDINT(10)NOT NULL文章编号(外键)DESCRIPTIONLONGTEXTNULL评论内容C_TIMETIMESTAMPNULL评论时间C_AUTHORVARCHAR(50) NULL评论作者表6 后台管理信息表MANAGE_INFO字段数据类型可否为空注释MIDINT(10)NOT NULL管理员编号(主键)M_NAMEINT(10)NOT NULL管理员名称M_TIMETIMESTAMPNULL操作时间M_CONTENTLONGTEXTNULL操作内容3.5 用户界面设计 在该章节中,不仅可以对页面风格有一个视觉上的感受,还将通过页面操作更直观地了解系统数据的输入和输出流向。 登陆该博客网站主页(如图16所示)后,可以进行如下活动: 1开通新用户:点击“开通新用户”按钮,进入注册页面(如图17所示),填写用户基本信息,完成注册。 2登录验证:输入用户名、密码和验证码,点击“提交”按钮后登录到个人主页(即个人博客空间,如图18所示)。 3搜索博客空间或博客文章:在搜索模块内输入关键字,点击“搜索”按钮,可以查看到所有符合搜索条件的信息条目,点击信息条目,可以进入到相应的博客空间或博客文章。 图 16 博客网站主页图 17 注册页面 进入个人主页后,用户可以完成一下: 1编辑个人基本信息:在编辑个人基本信息模块里(如图19所示),用户可以添加或编辑个人基本信息,包括昵称、性别、年龄、兴趣爱好、个性留言、上传图片。 2新建网络日志:所谓网络日志,即博客文章。在网络日志模块里,用户可以新建网络日志。(如图20所示) 3编辑或删除网络日志:对已有网络日志可以进行编辑或删除操作。 4查看评论信息:点击网络日志下方的“评论”链接,可以查看到相应的评论信息。 5自定义模板:在自定义模板模块里,用户可以选择自己喜欢的背景模式。 进入他人博客空间后,可以完成以下活动:1 浏览文章2 发表评论图 18 个人主页图 19 编辑个人基本信息图 20 发表文章页面4系统实施4.1 技术标准及框架的选择本系统采用J2EE技术路线,J2EE是一套全然不同于传统应用模式的企业级技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高应用程序的可移植性、安全性和重用性。在J2EE技术路线的基础上,选用Struts框架实现MVC三层应用模式。 Jakarta-Struts是Apache软件组织提供的一项开放源代码的项目,它为Web应用提供了通用的框架,使开发人员可以集中精力在实际业务问题上,从而大大简化了web应用的开发过程,提高了工作效率,缩短了开发周期。Struts的核心是ActionServlet,ActionServlet通过struts-config.xml配置文件进行初始化。4.2 开发环境的搭建开发环境的搭建分为服务器的选择和JDK安装、数据库的安装、程序框架的选用几个步骤,分述如下:1. 应用服务器及JAVA环境的选择安装本系统应用服务器使用Tomcat服务器,Tomcat是Apache开源组织的一个开源子项目它实现了J2EE应用服务器规范中的Web容器部分,是目前较为流行的J2EE Web容器之一,因为它的开放性和强大的功能而受到用户的广泛青睐。本系统使用的是Tomcat5.5版本。JDK安装的过程中需要设置如下环境变量:JAVA_HOME、CLASSPATH、PATH,本系统采用的JDK版本是5.0。2. 数据库的安装本系统选择MySQL关系数据库5.0版本作为对象持久化的载体。MySQL是业界流行的开源关系数据库平台,具有运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投资入股合作协议书模板
- 余甘子种苗生产技术规程
- 2024年培训班兼职教师聘用合同模板
- 建筑行业劳动合同范本
- 回收协议书范本2024年
- 个人车位买卖协议样本
- 2024年三人结伙协议书范本
- 合作项目保密协议书2024年
- 版权承包协议样本
- 房地产合同范本:房屋出售协议书
- 分解因式-十字相乘法
- 薄荷的栽培技术
- 副食品、蔬菜、水果、肉类配送项目(完整版)投标文件
- 新大气污染防治法培训课件
- 部编版三年级上册道德与法治第一单元《快乐学习》知识要点归纳
- 浙江省金华市2022-2023学年六年级上学期期中科学试卷
- TDS3000基本操作TDS3000基本操作
- 教师资格证必背时政类教育热点
- 政府采购基础知识培训(最终稿)
- 建筑业企业资质管理制度
- 被执行人财产线索提供书(模板)
评论
0/150
提交评论