1、沈阳师范大学学士学位论文I【摘 要】随着 Internet 的快速发展,内容管理已经成为所有 Web 应用的基础。从电子政府、企业信息化、综合性网站、到数字图书馆乃至所有的电子商务,一定会涉及到内容的采集、创建、存储、管理、发布、检索和服务。本文根据当前网站内容管理的现状和发展趋势,在内容管理系统的建立上做了深入的研究。Java 是未来的主流开发技术,具有很多优势。JSP 则是 Java 在InternetIntranet Web 上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java 技术完好地结合在一起,从而实现非常复杂的应用。本网站使用 JSP + JavaBeans和后台数据库
2、 MYSQL 在 WEB 系统开发的,从而创建一个更为稳定,高效,安全的运行环境。本文主要讨论了基于 B/S 模式的一种 JSP 论坛的设计与实现,主要功能是实现客户端和服务器端的动态交互。其中有三个模块:账户管理,板块管理,帖子管理。实现论坛的基本功能,具体功能的实现利用 JavaBeans 组件技术。【关键词】内容管理系统 模板技术 内容发布 网站管理全套源码加 153893706沈阳师范大学学士学位论文II Design and Implementation of Online Recruitment System【Abstract】With the developing of Inte
3、ract, content management has been the foundation for all the web applications. From E-government, enterprise information, synthesis website, vertical portal, digital to e-commerce, content need collected,created, storage,managed, researched and served. According to the analysis of website status and
4、 developing trend, this paper makes deeper research for the creation of content management system.Java is the mainstream of the future development of technology, has many advantages. The JSP is Java in the Internet/one of the important application technology on the Web, received broad support and ad
5、mit, it can and all kinds of Java technology to be fully together, so as to realize the very complex applications. This WEB site use JSP + JavaBeans and backend database MYSQL in WEB system development, and create a more stable, efficient, safe operation of the environment. This paper is to realize
6、the client and the server dynamic interaction. There are three modules: account management, management, post management plate. To realize the basic function of concrete, BBS the realization of the function of using JavaBeans component technology. 【Keywords】Content Management System Template Technolo
7、gy Content Distribution Website Management;沈阳师范大学学士学位论文III 目 录第一章 绪论 .51.1 课题来源 .51.2 国内现状 .51.3 研究意义 .6第二章 需求分析 .72.1 系统定义 .72.2 功能需求 .72.2.1 账户管理功能需求 .72.2.2 版块管理功能需求 .82.2.3 浏览交流版块功能需求 .82.3 数据需求 .9第三章 系统总体设计 .93.1 系统功能划分 .93.2 前台显示模块 .93.3 后台管理模块 .103.4 数据库的概念 .113.5 数据库的选择 .113.6 数据库表的描述 .11第四章
8、 技术介绍 .174.1 JAVA 开发语言的选择 174.2 MVC 设计模式 194.3 相关技术概述 .204.3.1 Java 语言概述 204.3.2 Servlet 技术概述 204.3.3 JSP 技术概述 204.3.4 JDBC 技术概述 214.3.5 JavaScript 技术概述 214.3.6 XML 技术概述 224.4 SQL 语言 234.5 开发环境 .234.5.1 JDK1.5.0 .234.5.2 Tomcat5.0 .234.5.3 MyEclipse5.5 .234.5.4 MySQL5.0 .23第五章 系统实现 .255.1 网站总体架构及实现
9、255.1.1 功能架构概述 255.2 管理员登录功能实现 .265.3 注册功能实现 .275.4 留言管理功能实现 .295.5 查看首页面的论坛类别 .305.6 查看某版面中跟帖列表 .1第六章 系统测试 .4第七章 结论 .8沈阳师范大学学士学位论文IV致 谢 .9参考文献 .10附录一 后台主题板块管理功能代码 .11沈阳师范大学学士学位论文5第一章 绪论1.1 课题来源CMS 是 Content Management System 的缩写,意为“内容管理系统“,它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。CMS 的功能并不只限于文本处理,它也可以处理图
10、片、Flash 动画、声像流、图像甚至电子邮件档案。CMS 其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。CMS 具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本。CMS 的功能并不只限于文本处理,它也可以处理图片、Flash 动画、声像流、图像甚至电子邮件档案。1.2 国内现状内容管理的发展历史可以根据不同时期分为四个阶段:数字化应用(1975-1983)、桌面应用和发布(1984-1990)、客户端服务器内容管理(1990-1995)、网站内容管理时代(1995-现今)。虽然内容管理的基本思想早在上个世纪 70 年
11、代久提出来了,但是它真正意义上的发展还是在互联网的迅猛发展之后才开始的。目前,基于网站和电子政务的内容管理研究很多。主要的内容管理厂商可以分成以下几类: 1. 首先是进入该领域最早、时间最长的国际大厂商,以Interwoven、BroadVision、Vignette 等为代表; 2. 其次是内容管理系统领域的后来者,但是发展势头十分迅猛,以Oracle、Sybase、lnformix 为代表; 3. 最后这一类就是国内厂商,他们进入内容管理系统开发领域比较晚,技术相对落后于国外厂家。主要代表有:易宝北信、国信贝斯、联想等。但是目前内容管理系统的市场上还有一些不尽如人意的地方。在这个全新的市场
12、上有着各种各样的内容管理系统,它们有着各自的特色和优点,又有着各自的缺点。有时候很难找到一种产品满足用户的所有需求。甚至有些内容管理系统还达不到商用软件的标准。当然,有很多厂商能够提供不错的可视软件,只不过有些软件沈阳师范大学学士学位论文6的交互性不是很好,作为管理工具上手难度太高,提供完整的内容供应链比网站的内容管理还要复杂。1.3 研究意义内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场,对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解: Gartner Group 认为内容管理从内涵上应该包括企业内部内容管理、Web 内容管理、电子商务交易内容管理和企业
13、外部网(Extranet)信息共享内容管理(如 CRM和 SCM 等),Web 内容管理是当前的重点,e-business 和 XML 是推动内容管理发展的源动力。 Merrill Lynch 的分析师认为内容管理侧重于企业员工、企业用户、合作伙伴和供应商方便获得非结构化信息的处理过程。内容管理的目的是把非结构化信息出版到 intranets, extranets 和 ITE(Internet Trading Exchanges), 从而使用户可以检索、使用、分析和共享。商业智能系统 (BI)侧重于结构化数据的价值提取,而内容管理则侧重于企业内部和外部非结构化资源的战略价值提取。 Giga G
14、roup 认为作为电子商务引擎,内容管理解决方案必须和电子商务服务器紧密集成,从而形成内容生产(Production)、传递(Delivery)以及电子商务端到端系统。沈阳师范大学学士学位论文7第二章 需求分析2.1 系统定义CMS(Content Management System),中文叫作整站系统、文章系统,大概 2004 以前,如果想进行网站内容管理,基本上都是靠手工维护,但千变万化的信息流,但没有好的程序支持,还继续靠手工完成是不可能的事,如果有一个好的系统来支撑你的网站,那将节省大量的人力物力,开发者就可能给客户一个软件包,可以用它定期人工修改网站。只要你配置安装好,你的编辑,在线
15、记者,更新员只要定期更新数据,剩下的事就交给 CMS 去处理。 2.2 功能需求2.2.1 账户管理功能需求当用户登录网站后可以选择注册,登录,或者已经登录上的用户可以选择注销。账户管理模块功能见表 2-1 所示。 表 2-1 账户管理功能功能编号 功能名称 功能描述1 注册 新用户加入到本论坛2 登录 老用户留言本论坛3 注销 用户推出论坛保护帐号安全1注册功能新用户可以选择注册功能,填写正确的注册信息,成为本论坛的用户,可以实行用户的功能。2登录功能成功注册的用户可以登录本论坛实现论坛的用户的各个功能比如发布自己的心得,对别人的帖子留言相互交流等等。3注销功能留言完毕的用户为了自己帐号安全
16、和信誉度的考虑注销用户,确保帐号安全的同时通知好友您已经离开。沈阳师范大学学士学位论文82.2.2 版块管理功能需求当管理员成功登录后可以浏览各个板块实现板块管理中的各项功能板块管理模块功能见表 2-2。表 2-2 板块管理功能功能编号 功能名称 功能描述1 增加板块 方便用户更效率的查找自己想要看的帖子2 删除板块 过期的板块及时删除美化论坛3 帖子分类 为用户把帖子分类方便用户查找1. 增加模块功能基于论坛内容的扩大,可以增加板块内容方便用户查找。2. 删除板块功能讲将一些浏览量较低等板块需要删除美化界面。3. 帖子分类功能用户的大量帖子进行分类,判断板块内容为交友还是同城信息,使得用户查
17、找来更加方便,更加效率的实用本论坛。2.2.3 浏览交流版块功能需求当用户成功登录后可以留言各个帖子,或者自己发布新的帖子,也可以在别人的帖子下进行留言或者删除自己以前发的帖子。浏览交流板块功能件如表 2-3 所示。表 2-3 浏览交流板块功能功能编号 功能名称 功能描述1 发布新帖 发表自己的心得2 回复帖子 与他用户的帖子进行交流3 删除帖子 删除过时的帖子1.发布新帖功能可以写一些自己的感悟,经验之类的文章共其他用户参考和学习。2.回复帖子功能给其他用户留言,讨论文章的优缺点,或者你自己有什么不明白的地方等待楼沈阳师范大学学士学位论文9主答复。3.删除帖子功能关于询问之类的文章当得到满意
18、的答案后可以删除文章,或者删除自己写的与别人类似的文章使得板块更加简明。2.3 数据需求一、 用户的个人信息用户信息包括:用户 ID(自动编号),用户姓名,用户密码,用户性别,用户邮箱,用户 oicq,个性签名,用户等级,联系地址,用户头像,个人主页,真实姓名。二、 主题信息主题信息包括:ID(自动编号),主题名称,作者,提交时间,版面 id,题目,表情,字体大小,版面名称。三、 回复信息回复信息包括:ID(自动编号),回复帖子的标题,回复帖子的内容,回复帖子的回复者,回复帖子的时间,论坛类别编号,论坛类别的名称,表情。四、论坛信息论坛信息包括:版面 ID(自动编号),版面名称,版面版主,创建
19、时间。第三章 系统总体设计3.1 系统功能划分CMS 内容管理系统分为前台和后台两个模块。系统的功能模块图如图 3-1 所示。图 3-1 CMS 内容管理系统功能结构图沈阳师范大学学士学位论文103.2 前台显示模块前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册帐号、用户登录、用户注销、浏览文章、发表新主题、回复主题、增加好友、删除好友、增加黑名单、删除黑名单、查看短信息、发送短信息、删除短信息、修改个人信息等。如图 3-2 所示。3.3 后台管理模块后台模块的使用对象为管理人员(版主、管理员、超级管理员),提供的功能包括管理用户、管理版块、管理主题、管理用户组、功
20、能权限管理、版块权限管理。后台功能模块如图 3-3 所示。前台显示模块发表主题发表回复删除短信息用户注销浏览主题用户登录用户注册增加黑名单修改个人信息增加好友删除好友删除黑名单发送短信息查看短信息图 3-2 CMS 内容管理系统前台功能结构图后台管理模块版块管理用户管理主题管理用户组管理功能权限管理版块权限管理查询版块新增版块删除版块修改用户删除用户修改主题属性删除主题增加用户组查询用户组删除用户组新增版块权限查询功能权限删除功能权限新增功能权限查询版块权限删除版块权限图 3-3 CMS 内容管理系统后台功能结构图沈阳师范大学学士学位论文11tb_response(回复信息表)tb_forum
21、(论坛信息表)tb_topic(主题信息表)tb_user(用户信息表)db_bbs3.4 数据库的概念当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。本网站将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一
22、个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQL Server 2000/7.0 等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。3.5 数据库的选择本网站使用 MySQL 5.12 实现关系型数据库。MySQL 是一个真正的多用户、多线程 SQL 数据库服务器,它有较好的数据承载能力,一个环境有超过 40 个数据库,包含 10,000 个表,其中 500 多个表超过 7百万行,总数据大
23、约有 100GB 的数据库系统可以很好的被 MySQL 所支持,而 MySQL本身不会像 Oracle 那样对系统及硬盘空间有很高的要求。这也是本网站选用 MySQL作为后台数据库系统的一个重要原因之一。3.6 数据库表的描述根据数据库概念设计,可以创建与实体对应的数据表。本 系统中所包含的数据表的结构图 如图 3-4 所示。沈阳师范大学学士学位论文12图 3-4 db_bbs 数据库所包含的数据表结构图概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体联系模型,即 ER 模型,它是用 ER 图来描述现实世界的概念模型。ER 图中用矩形表示实体;用椭圆表示属性;用菱形表示联系。本
24、网站表示实体及其联系的 ER 图,见图 35。为了清楚简便的描述出实体与其属性之间的关系,用 VISIO 软件生成了一张包含实体属性的完整 ER 图,见图 36。沈阳师范大学学士学位论文13图 35图 36沈阳师范大学学士学位论文143.6.1 用户信息表(tb_user)该表主要完成用户基本信息的录入功能。在此表中定义了 12 个字段来进行用户的信息存储。见表 37。表 37字段名 数据类型是否为空是否主键默认值 描述id int(11) No Yes Auto_increment 用户 ID(自动编号)username varchar(20) No NULL 用户名称password va
25、rchar(20) No NULL 用户密码sex varchar(2) No NULL 用户性别email varchar(50) No NULL 用户邮箱oicq varchar(20) Yes NULL 用户 oicqsignature varchar(300) Yes NULL 个性签名grade varchar(20) Yes NULL 用户等级lxdz varchar(50) Yes NULL 联系地址tx varchar(30) Yes NULL 用户头像grzy varchar(50) Yes NULL 个人主页realname varchar(30) Yes NULL 真实姓
26、名3.6.2 主题信息表(tb_topic)论坛类别信息表用来保存论坛主题信息,该表的结构如表 3-8 所示。表 38字段名 数据类型是否为空是否主键默认值 描述id smallint(2) No Yes auto_incrementID(自动编号)content text Yes NULL 主题名称author varchar(20) No NULL 作者submittime timestamp(8) no INSERT_TimeStamp 提交时间沈阳师范大学学士学位论文15forumid int(4) yes 0 版面 idtitle varchar(300) no 题目xq varch
27、ar(30 no 表情rq int(4) yes 0 字体大小forumname varchar(20) yes 版面名称3.6.3 论坛信息表(tb_forum)版面信息表用来保存论坛中的版面信息,该表的结构如表 3-9 所示。表 39字段名 数据类型 是否为 空 是否主 键 默认值 描述id int(11) No Yes Auto_increment 版面 ID(自动编号)forumname varchar(20) No NULL 版面名称manager varchar(100) Yes NULL 版面版主createtime timestamp No INSERT_TimeStamp 创
28、建时间3.6.4 回复信息表(tb_response)回复帖子信息表用来保存回复帖子的信息,该表的结构如表 3-10 所示。表 310字段名 数据类型 是否为 空 是否主 键 默认值 描述id int(11) No Yes Auto_increment ID(自动编号)title varchar(300) No NULL 回复帖子的标 题content text Yes NULL 回复帖子的内 容authorr varchar(20) No NULL 回复帖子的回 复者sumbittime timestamp No INSERT_TimeStamp 回复帖子的时 间topicid int(4)
29、 No NULL 论坛类别编号topicname varchar(100) Yes NULL 论坛类别的名 称xq varchar(20) No NULL 表情沈阳师范大学学士学位论文163.7 系统功能描述3.7.1 前台模块功能描述前台模块主要使用对象为所用用户,实现功能如下:1用户登陆功能用户输入用户名和密码,系统在数据库中查询该用户是普通用户还是管理员用户,如果是普通用户即可进行浏览、发布帖子等功能,如果是管理员用户则进入后台管理界面,实现管理论坛等操作。2用户注册功能由于该论坛是会员制的,所以游客是无法进行任何操作,只能注册为会员才能进行,填写相关信息进行注册。3修改个人信息普通用户
30、可以对自己的个人信息进行修改。4浏览帖子普通用户登录成功之后就可以浏览感兴趣的帖子。5发表帖子普通用户可以在相关板块发表新的帖子或是给感兴趣的帖子留言。6修改帖子普通用户可以对自己发过的帖子进行修改。3.7.2 后台模块功能描述后台模块主要使用对象为系统管理员,实现功能如下:1板块管理管理员可以对网站现有的板块进行管理,可以对板块进行添加、查询、删除等操作。2用户管理管理员有权对普通用户进行管理和删除操作。3主题管理管理员可以对现有主题属性进行修改和删除主题。4用户组管理管理员有权对用户组进行管理,可以对用户组进行添加、查询、删除等操作。5功能权限管理管理员有权对普通用户的权限进行管理,可以对
31、普通用户的权限进行添加、查询、删除等操作。6板块权限的管理沈阳师范大学学士学位论文17管理员可以对现有板块的权限进行管理,可以对现有板块的权限进行添加、查询、删除等操作。第四章 技术介绍4.1 JAVA 开发语言的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:SUN 公司的 Java沈阳师范大学学士学位论文18Microsoft 公司的 Visual BasicMicrosoft 公司的 Visual CBorland 公司的 DelphiPowersoft 公司的 PowerBulider在目前市场上
32、这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择 Java 语言开发,其原因基于以下几点:Java 是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言。 一、简单 Java 的风格类似于 C+,并且摒弃了 C+中容易引发程序错误的地方,如指针和内存管理。 此外 Java 提供了丰富的类库。 二、面向对象 面向对象可以说是 Java 最重要的特性。Java 语言的设计完全是面向对象的。Java 支持静态和动态风格的代
33、码继承及重用。 三、分布式 Java 包括一个支持 HTTP 和 FTP 等基于 TCP/IP 协议的子库。因此,Java 应用程序可凭借 URL 打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。四、健壮 Java 致力于检查程序在编译和运行时的错误。Java 自己操纵内存减少了内存出错的可能性。Java 提供 Null 指针检测数组边界、检测异常出口、字节代码校验。 五、安全 Java 的安全性可从两个方面得到保证。一方面,在 Java 语言里,像指针和释放内存等 C+功能被删除,避免了非法内存操作。另一方面,当 Java 用来创建浏览器时,语言功能和浏览器本身提供的功能结
34、合起来,使它更安全。六、结构中立 沈阳师范大学学士学位论文19为了建立 Java 作为网络的一个整体,Java 将它的程序编译成一种结构中立的中间文件格式。只要有 Java 运行系统的机器都能执行这种中间代码。Java 源程序被编译成一种高层次的与机器无关的 byte-code 格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。 七、可移植的 Java 的可移植性一直是 Java 程序设计师们的精神指标,也是 Java 之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是 JVM 的技术。JAVA 编译器产生的目标代码(J-Code) 是针对一种并不存在的 CPU-J
35、AVA 虚拟机(JAVA Virtual Machine),而不是某一实际的 CPU。JAVA 虚拟机能掩盖不同 CPU 之间的差别,使 J-Code 能运行于任何具有 JAVA 虚拟机的机器上。 八、高性能 Java 可以在运行时直接将目标代码翻译成机器指令。Sun 用直接解释器一秒钟内可调用 300,000 个过程。翻译目标代码的速度与 C/C+的性能没什么区别。 九、多线程 Java 支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。十、动态 Java 的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程
36、中所需要的类,这是 C+语言进行面向对象程序设计所无法实现的。Java 编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。4.2 MVC 设计模式MVC 是 Model-View-Controller 的简称,它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。视图是用户看到并与之交互的界面,作用包括向用户显示相关的数据、接受用户的输入、向模型查询业务状态、接受模型发出的数据更新事件,从而对用户界面进行同步更新。沈阳师范大学学士学位论文20模
37、型表示业务数据和业务逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。控制器接受用户的输入并调用模型和视图去完成用户的需求。当 Web 用户单击Web 页面中的递交按钮来发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。MVC 的优点表现在如下几个方面:一、 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。二、 由于 MVC 的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良
38、好的松偶合的构件。三、 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。MVC 处理过程的结构图,见图 41。图 41沈阳师范大学学士学位论文214.3 相关技术概述4.3.1 Java 语言概述Java 编程语言是一种通用、并发、基于类且面向对象的语言。Java 编程语言与C 和 C+相关,但是在组织方式上有差别,Java 具有 C 和 C+遗漏的许多优点,同时兼有其他语言包括的一些思想。它旨在成为一种生产语言,而不是一种研究语言,并且正是如此。4.3.2 Servlet 技术概述Servlet
39、技术主要是为了使用 Web 上的 HTTP 协议而设计的。Servlet 是在 Web服务器上运行的程序,Java Servlet 可以用于处理客户请求或生成动态 Web 网页。Tomcat 是支持 Java Servlet 和 JSP 的 Web 服务器。4.3.3 JSP 技术概述JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、经由许多公司参与一起建立的一种动态网页技术标准。 JSP 技术是用 JAVA 语言作为脚本语言的,JSP 网页为整个服务器端的 JAVA 库单元提供了一个接口来服务于 HTTP 的应用程序。 在传统的网页 HTML 文件
40、(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和JSP 标记(tag),就构成了 JSP 网页(*.jsp)。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无 Plugin,无ActiveX,无 Java Applet,甚至无 Frame。4.3.4 JDBC 技术概述JDBC 是一种可用于执行 SQL
41、语句的 Java API(Application Programming Interface,应用程序设计接口)。它由一些 Java 语言写的类、界面组成。JDBC 给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯 Java 语言编写完整的数据库应用程序。Java 具有坚固、安全、易于使用、易于理解和从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据沈阳师范大学学士学位论文22库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送
42、给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问 Sybase,写另一个程序访问Oracle,再写一个程序访问 Microsoft 的 SQL Server。用 JDBC 写的程序能够自动地将 SQL 语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java 编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平台上编写不同的应用。Java 和 JDBC 的结合可以让开发人员在开发数据库应用时真正实现“Write Once,Run Everywhere!”JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 apple
43、t 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。4.3.5 JavaScript 技术概述JavaScript 是一种基于对象(Object)和事件驱动(Event Driver)并具有安全性能的脚本语言,它所能提供的功能非常强大。JavaScript 是一种简洁的面向对象的描述语言,是专门
44、用来开发 Internet 客户端和服务器端的应用程序,它可以被轻易的嵌入到 HTML 文件中,使用JavaScript 浏览器可以回应使用者的需求事件而不用通过网络来回传资料,这样,使用者的资料就可以直接被客户端应用程序所处理,它的出现弥补了 HTML语言的缺陷,它是 Java 与 HTML 折衷的选择。4.3.6 XML 技术概述从 1998 年 2 月 W3C 正式推出 XML(eXtensible Markup Language 的缩写,意为可扩展的标记语言)后短短的三年间,XML 以惊人的速度在广大的设计人员中传播开来。随着 Internet 的飞速发展,HTML 开始对更多的网络设
45、计要求显露出疲态。XML 也就是在这种大环境下孕育而生。沈阳师范大学学士学位论文234.4 SQL 语言SQL(Structured Query Language 结构化查询语言)自 1974 年被提出,至今已经是世界上最流行的关系数据库的标准语言。SQL 语言的分类一、DDL(Data Definition Language)数据定义语言,其作用包括创建数据库对象、删除数据库对象、修改数据库对象(create、drop、alter)。二、DML(Data Manipulation Language)数据操纵语言,其作用包括查找数据信息、插入数据信息、删除数据信息、更改数据信息(select、
46、 insert、 delete、 update)。三、DCL(Data Control Language)数据控制语言,作用主要对是授权数据库对象(grant, revoke)。4.5 开发环境4.5.1 JDK1.5.0JDK 是 Sun 公司 Java 应用程序和组件的开发环境,是编译和测试工具,也是提供 java 程序的 Java 虚拟机平台,是调试和运行 JSP 所不可缺少的工具。本系统采用 JDK1.5.0 版本。4.5.2 Tomcat5.0Tomcat 是开源的 servlet 和 JSP 容器(Sun 官方推荐容器),它是 Jakarta 项目中一个重要的组成,由 Apache
47、、Sun 和其他一些公司及个人开发。Tomcat 内部实现了 Servlet 和 JSP 引擎,而且扩展了一些应用服务器的功能,例如 JNDI、数据库连接池、用户事务处理等。目 Tomcat 被广泛地应用于中小规模的 Java web 应用中。4.5.3 MyEclipse5.5MyEclipse 是在 Eclipse 集成开发环境中提供 Web 应用程序开发的插件,在目前软件开发的 Java 领域中,MyEclipse 是一个使用非常广泛的工具。MyEclipse 是 Eclipse 软件的一个插件,Eclipse 软件是免费的,但 MyEclipse不是一个完全免费的产品,需要购买。4.5
48、.4 MySQL5.0MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。在2008 年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购。对于 Mysql沈阳师范大学学士学位论文24的前途,没有任何人抱乐观的态度。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,
49、如规模小、功能有限(MySQL Cluster 的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。 目前 Internet 上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP),即使用 Linux 作为操作系统,Apache 作为 Web 服务器,MySQL 作为数据库,PHP 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。沈阳师范大学学士学位论文25第五章 系统实现5.1 网站总体架构及实现5.1.1 功能架构概述通过对大连同城“缘分天空”论坛 CMS 内容管理系统的设计与实现的分析,确定系统的目标、功能和逻辑模型,把系统按功能划分为若干个子系统,明确各子系统的子目标和子功能;然后,按层次结构,划分为功能模块,绘制系统功能图,即建立其逻辑模型。结构化设计的基本思想是模块化。模块化是指把一个子系