基于java三框架的电子相册毕业设计毕业论文.doc_第1页
基于java三框架的电子相册毕业设计毕业论文.doc_第2页
基于java三框架的电子相册毕业设计毕业论文.doc_第3页
基于java三框架的电子相册毕业设计毕业论文.doc_第4页
基于java三框架的电子相册毕业设计毕业论文.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络电子相册系统设计 南南 阳阳 理理 工工 学学 院院 本本 科科 毕毕 业业 设设 计 论文 计 论文 网络电子相册系统设计 学 院 系 计算机科学与技术系 专 业 计算机科学与技术 学 生 姓 名 黄香杰 学 号 064409148 指 导 教 师 职称 刘平 讲师 评 阅 教 师 完 成 日 期 南阳理工学院 Nanyang Institute of Technology 网络电子相册系统设计 网络电子相册系统设计 计算机科学与技术专业 黄香杰 摘 要 随着人们生活水平的逐步提高 旅游照相成了大家必不可少放 松项目 虽然照片最后会存入到自己的电脑里 但是时间一长 照片一多 这 些有着勾起回忆的 资料 就会显得杂乱无章 即不方便欣赏 也不方便管理 而电子相册具有欣赏 传播方便 界面美观等特点 可以很好的管理所存入的 照片 不失为最佳欣赏 保存照片的相册工具 电子相册系统平台也就应此应 运而生 本系统是一种基于 B S 架构的电子相册管理系统 它采用目前最流行的 Java 语言编写 用到了当今先进的技术如 JSP 技术 Hibernate Spring Struts 框架等来实现该系统 关键词 JAVA 电子相册 三框架 MVC Network electronic albums system design Abstract As people gradually increase the standard of living travel photography has become essential to relax the project everyone While the photos will eventually be deposited to your computer but over time more than one photo which has brought back memories of the data will be very chaotic that is inconvenient to enjoy not to facilitate management Electronic album with appreciation the spread of convenience the interface appearance characteristics such as good management can be deposited in the photos after all enjoy the best save a photo album tool Electronic photo album will be the platform came into being The system is based on B S structure of the electronic photo album management system it uses the most popular languages java using today s advanced 网络电子相册系统设计 technologies such as jsp technologies Hibernate Spring Struts framework to achieve the system Key words JAVA Electron Photo Album Three Frames MVC 目 录 1 绪论 1 1 系统开发的背景和意 义 1 2 国内发展状况 1 3 研究内容 2 程序技术相关知识 2 1 JAVA 简介 2 2 JAVA EE 平台相关介绍 2 3 所采用数据库及原因 2 4 MVC 设计模式的原理 2 4 1 MVC 设计思想 2 4 2 MVC 的优点 2 5 三框架相关知识简介 2 5 1 STRUTS 框架 2 5 2 HIBERNATE 框架 2 5 3 SPRING 框架 2 6 JSP 技术 2 7 关于 JAVASCRIPT 脚本语言的应用 2 8 MYECLIPSE 开发工具的简要介绍 2 9 WEB 服务器 TOMCAT6 0 2 9 1 Tomcat Server 的组成部分 2 9 2 Tomcat Server 处理一个 http 请求的过程 2 10 本章小结 3 电子相册系统需求分析 3 1 可行性分析 3 1 1 系统总体目标 3 1 2 技术可行性分析 3 1 3 功能需求 3 1 4 性能需求 网络电子相册系统设计 3 2 系统总体结构 3 2 1 系统总体结构 3 2 用例图 3 3 系统功能模块结构 3 31 相册列表模块 3 3 2 新建相册模块 3 3 3 修改资料模块 3 3 4 修改密码模块 3 3 5 添加相册模块 3 4 数据库设计 3 5 本章小结 第 4 章 系统实现 4 1 管理员登陆设计 4 1 1 管理员登陆主页面的创建 4 1 2 实现过程 4 2 注册用户登陆设计 4 2 1 注册用户登陆界面的创建 4 2 2 注册用户登陆界面 4 2 3 实现过程 4 3 未注册用户注册设计 4 4 添加相册分类的实现 4 5 管理员添加相册界面 4 5 1 实现过程 4 6 数据库设计 4 6 1 使用 SHOW 语句找数据库 4 6 2 创建一个数据库 ABCCS 4 6 3 选择你所创建的数据库 4 6 4 创建一个数据库表 4 6 5 往表中加入记录 4 6 6 装入数据库表 4 7 系统测试 4 7 1 测试目标 4 7 2 各模块测试 结束语 参考文献 网络电子相册系统设计 附录 致谢 1 1 绪论绪论 随着数码摄影时代的到来 不论是专业摄影师建立图片档案或是向他人展 示自己的摄影作品 还是家庭生活摄影 都需要电子相册来保管摄影作品 如 同传统的照相簿 电子相册既有展示功能也有存储和管理功能 电子相册是现在时下最流行的一种网络元素 它可以应该在很多的领域 例如时下最流行的空间及博客就是大量的应该这一技术 而且受到大多数网友 的认可及追捧 其以静态照片为素材 获得源方式为扫描仪扫描 数码相机所拍 等 配合动感的背景 前景和字幕等视频处理的特殊效果 配上音乐就可制作 成电子相册 制作好的电子相册可以在电脑上 各类影碟机上 以及手机和 MP4 里都能观看 这是电子相册技术发展到今天的一个新的突破 即不再像传 统那样 只能在电脑上或在影碟机上观看了 并且还可以通过手机将自己的个 性化 MTV 发送给远方的亲朋好友们分享 当然 如果考虑到长期保存的话 制作成电子相册光盘那是最好的选择啦 金碟可保存 100 多年之久 标准 VCD SVCD DVD 格式 兼容性好 通过影牒机即可与家人 朋友 客户观 赏 若保存在硬盘上 也便于随时调阅 欣赏 永久保存 1 11 1 系统开发的背景和意义系统开发的背景和意义 随着人们生活水平的逐步提高 旅游成了大家必不可少放松项目 每当笔 者走到一个美丽的景点 就会忍不住拿起数码相机照上几张留做回忆 虽然照 片最后会存入到自己的电脑里 但是时间一长 照片一多 这些有着勾起回忆 的资料 就会显得杂乱无章 即不方便欣赏 也不方便管理 而电子相册具有 欣赏 传播方便 界面美观等特点 可以很好的管理所存入的照片 不失为最 佳欣赏 保存照片的相册工具 另外随着数码相机 手机照相等功能的普及 想必每个人手上都储存了大 量的电子相片 但这此照片如果不进行处理 仅仅以一张张图片的形式放置在 电脑上 不仅 不易观赏 也不方便分类管理 是否有软件能将这些照片整理成 一本本的相册呢 电子相册系统平台就是一款集相册制作 生成 浏览专业软 件 有了它的帮助 制用相册再也不需要专业的技术 普通用户也可以在五分 钟内制作出精美的电子相册 支持 170 余种照片显示特技 可以为相片加入文 网络电子相册系统设计 件注释及说明 1 21 2 国内外发展状况国内外发展状况 电子相册是现在时下最流行的一种网络元素 它可以应该在很多的领域 例如时下最流行的空间及博客就是大量的应该这一技术 而且受到大多数网友 的认可及追捧 其以静态照片为素材 获得源方式为扫描仪扫描 数码相机所拍 等 配合动感的背景 前景和字幕等视频处理的特殊效果 配上音乐就可制作 成电子相册 制作好的电子相册可以在电脑上 各类影碟机上 以及手机和 MP4 里都能观看 这是电子相册技术发展到今天的一个新的突破 即不再象传 统那样 只能在电脑上或在影碟机上观看了 并且还可以通过手机将自己的个 性化 MTV 发送给远方的亲朋好友们分享 当然 如果考虑到长期保存的话 制作成电子相册光盘那是最好的选择啦 金碟可保存 100 多年之久 标准 VCD SVCD DVD 格式 兼容性好 通过影牒机即可与家人 朋友 客户观 赏 若保存在硬盘上 也便于随时调阅 欣赏 永久保存 1 31 3 研究内容研究内容 电子相册系统是一种基于 B S 架构的管理系统 它采用目前最流行的 java 语言编写 用到了当今先进的技术如 jsp 技术 Hibernate Spring Struts 框架 等来实现该系统 采用 MVC 框架技术提高了系统的可维护性 本系统所研究的是从电子相册的管理到相册的生成等一系列的问题 大致 分为 前台包括相册列表 新建相册 修改资料 修改密码 技术支持 后台 包括相册管理 本文共分 5 章 第 1 章是绪论 第 2 章介绍开发本系统所用到的相关技术 第 3 章是系统的需求分析及结构图 第 4 章是相册系统的系统实现 第 5 章是 总结 各章节的研究内容如下 1 第 1 章主要介绍了选题的背景和意义 论述了系统的国内发展状况 2 第 2 章主要介绍了实现电子相册系统所用的软件和系统建设过程中使 用的相关技术 3 第 3 章主要是电子相册系统的需求分析 4 第 4 章是系统的编码实现 从三框架的实现 数据库的创建等方面介 绍了系统的实现 5 第 5 章主要是此系统的的总结 2 2 程序技术相关知识程序技术相关知识 网络电子相册系统设计 2 12 1 JAVAJAVA 简介简介 Java 是 Sun 公司开发的编程语言 使用它可以在各式各样不同的机器 不 同操作平台的网络开发环境中开发软件 不论用户使用的是哪一种 WWW 浏览 器 哪一种计算机 哪一种操作系统 只要 WWW 浏览器上面注明了 支持 Java 就可以看到生动的页面 Java 正在逐步成为 Internet 应用的主要开发语 言 它彻底改变了应用软件的开发模式 带来了自个人计算机以来又一次技术 革命 为迅速发展的信息世界增添了新的活力 Java 是一种语法简介 清晰的语言 它的程序运行需要一个解释器 也就 是所谓的 虚拟机 虚拟机以某种高速算法执行 Java 的面相对象语言代码 从 Java2 0 开始 Java 分为 3 个版本 J2ME 微机版本 J2SE 标准版本 和 J2EE 企业级版本 分别用于支持消费类电子设备 标准 PC 以及企业级应用的 开发 版本之间的区别不仅在于所支持的类库的大小不同 也在于个版本都对 应着不同的 Java 虚拟机 Java 的主要特性是可移植性 安全性 网络移动性 其中网络移动性是 Java 的最主要的一个特性 而如果没有安全性 可移植性的支持 就无法实现 网络移动性 Java 的网络移动性带来了一次 Web 革命 随着 Internet 的发展 Java 技术本身在不断得进步 JDK Java Development Kit Java 开发包 Java 开 发工具 是一个写 Java 的 applet 和应用程序的程序开发平台 它由一个处于操作 系统层之上的运行环境还有开发者编译 调试和运行用 Java 语言写的 applet 和 应用程序所需的工具组成 2 22 2 JAVAJAVA EEEE 平台相关介绍平台相关介绍 J2EE Java2 平台企业版 Java 2 Platform Enterprise Edition 是 Sun 公司 为企业级应用推出的标准平台 Java 平台共分为三个主要版本 Java EE Java SE 和 Java ME Sun 公司在 1998 年发表 JDK1 2 版本的时候 使用了新名称 Java 2 Platform 即 Java2 平台 修改后的 JDK 称为 Java 2 Platform Software Develping Kit 即 J2SDK 并分为标准版 Standard Edition J2SE 企业版 Enterprise Edition J2EE 微型版 MicroEdition J2ME J2EE 便由此诞生 2005 年 6 月 JavaOne 大会召开 SUN 公司公开 Java SE 6 此时 Java 的 各种版本已经更名以取消其中的数字 2 J2EE 更名为 Java EE J2SE 更名为 Java SE J2ME 更名为 Java ME 随着 Java 技术的发展 J2EE 平台得到了迅速的发展 成为 Java 语言中最 活跃的体系之一 现如今 J2EE 不仅仅是指一种标准平台 Platform 它更多的 表达着一种软件架构和设计思想 网络电子相册系统设计 从整体上讲 J2EE 是使用 Java 技术开发企业级应用的一种事实上的工业 标准 Sun 公司出于其自身利益的考虑 至今没有将 Java 及其相关技术纳入标准 化组织的体系 它是 Java 技术不断适应和促进企业级应用过程中的产物 目前 Java 平台有三个版本 适用于小型设备和智能卡的 J2ME Java 2 Platform Micro Edition 适用于桌面系统的 J2SE 和适用于企业级 应用的 J2EE Sun 推出 J2EE 的目的是为了克服传统 Client Server 模式的弊病 迎合 Browser Server 架构的潮流 为应用 Java 技术开发服务器端应用提供一个 平台独立的 可移植的 多用户的 安全的和基于标准的企业级平台 从而简 化企业应用的开发 管理和部署 J2EE 是一个标准 而不是一个现成的产品 各个平台开发商按照 J2EE 规范分别开发了不同的 J2EE 应用服务器 J2EE 应用 服务器是 J2EE 企业级应用的部署平台 由于它们都遵循了 J2EE 规范 因此 使用 J2EE 技术开发的企业级应用可以部署在各种 J2EE 应用服务器上 2 32 3 所采用数据库及原因所采用数据库及原因 本系统采用的是目前比较流行的小型数据库系统 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 系统 上 其客户机程序和客户机程序库是免费的 有些软件开发人员可能会认为 MYSQL 数据库属于那个小型的数据库 但 是在我看来不同的数据库要根据你不同的需要还进行选择的 在我看来时下小 的程序例如电子相册系统它不会产生大量的数据 只需要一些数据的查询和相 应的插入没有太复杂的表与表这间的结构 而且对于小系统来说性能是相当重 要的 相比 MYSQL 来说 ORACLE 数据确实可以看作是相当大的而且功能相当 网络电子相册系统设计 全的数据库 但是同是 ORACLE 数据库对于系统的要求也是相当的苛刻 它要 求系统要有较高的性能才能带得起整个程序的发布 MySQL 包含有下列工具 1 SQL 服务器 这是 MySQL 的引擎 它提供对数据库的访问 2 访问服务器的客户机程序 包括一个允许直接录入查询并查看结果 的交互式程序 以及几个帮助操纵站点的管理程序和实用程序 其中有一个实 用程序允许控制服务器 其他的实用程序导入或导出数据 检查访问许可等 3 帮助用户编写自己的程序的客户机库 MySQL 提供众多的 API C C Eiffel Java Perl PHP Python Ruby and Tcl 4 MySQL 除了提供内嵌软件外 它还被许多很有才能的人使用 这 些人喜欢编写软件以提高其产品效率 或愿意将自己编写的软件提供给他人使 用 因此 使用 MySQL 能得到各种各样的第三方工具 这些工具令 MySQL 使用更方便 或者扩展了 MySQL 使其进入诸如 Web 站点开发这样的领域 2 42 4 MVCMVC 设计模式的原理设计模式的原理 在这里简要的介绍一下关于上一章中反复提到的 MVC 结构 其实 MVC 可 以说是模型层 视图层 控制层的简称 即 Model View Controller 的简称 它 强制性地把应用程序的输入 处理和输出分开 大大提高了代码的重用性 如 图 2 1 所示 控制器 调用模型响应客户请求 选择视图显示响应结果 视图 显示模型状态 接受数据更新请求 把用户输入的数据 传给控制器 模型 代表应用程序状态 响应状态查询 处理业务流程 通知视图业务状态更新 状态查询 通知数据更新 用户请求 方法调用事件 图 2 1 MVC 示图 2 4 1 MVC 设计思想 网络电子相册系统设计 MVC 英文即 Model View Controller 即把一个应用的输入 处理 输出流 程按照 Model View Controller 的方式进行分离 这样一个应用被分成三个层 模型层 视图层 控制层 视图 View 代表用户交互界面 对于 Web 应用来说 可以概括为 HTML 界 面 但有可能为 XHTML XML 和 Applet 随着应用的复杂性和规模性 界面 的处理也变得具有挑战性 一个应用可能有很多不同的视图 MVC 设计模式对 于视图的处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在 视图上的业务流程的处理 业务流程的处理交予模型 Model 处理 比如一个订 单的视图只接受来自模型的数据并显示给用户 以及将用户界面的输入数据和 请求传递给控制和模型 模型 Model 就是业务流程 状态的处理以及业务规则的制定 业务流程的 处理过程对其它层来说是黑箱操作 模型接受视图请求的数据 并返回最终的 处理结果 业务模型的设计可以说是 MVC 最主要的核心 目前流行的 EJB 模 型就是一个典型的应用例子 它从应用技术实现的角度对模型做了进一步的划 分 以便充分利用现有的组件 但它不能作为应用设计模型的框架 它仅仅告 诉你按这种模型设计就可以利用某些技术组件 从而减少了技术上的困难 对 一个开发者来说 就可以专注于业务模型的设计 MVC 设计模式告诉我们 把 应用的模型按一定的规则抽取出来 抽取的层次很重要 这也是判断开发人员 是否优秀的设计依据 抽象与具体不能隔得太远 也不能太近 MVC 并没有提 供模型的设计方法 而只告诉你应该组织管理这些模型 以便于模型的重构和 提高重用性 我们可以用对象编程来做比喻 MVC 定义了一个顶级类 告诉它 的子类你只能做这些 但没法限制你能做这些 这点对编程的开发人员非常重 要 业务模型还有一个很重要的模型那就是数据模型 数据模型主要指实体对象 的数据保存 持续化 比如将一张订单保存到数据库 从数据库获取订单 我 们可以将这个模型单独列出 所有有关数据库的操作只限制在该模型中 控制 Controller 可以理解为从用户接收请求 将模型与视图匹配在一起 共 同完成用户的请求 划分控制层的作用也很明显 它清楚地告诉你 它就是一 个分发器 选择什么样的模型 选择什么样的视图 可以完成什么样的用户请 求 控制层并不做任何的数据处理 例如 用户点击一个连接 控制层接受请 求后 并不处理业务信息 它只把用户的信息传递给模型 告诉模型做什么 选择符合要求的视图返回给用户 因此 一个模型可能对应多个视图 一个视 图可能对应多个模型 2 4 2 MVC 的优点 大部分用过程语言比如 ASP PHP 开发出来的 Web 应用 初始的开发模板 网络电子相册系统设计 就是混合层的数据编程 例如 直接向数据库发送请求并用 HTML 显示 开发 速度往往比较快 但由于数据页面的分离不是很直接 因而很难体现出业务模 型的样子或者模型的重用性 产品设计弹性力度很小 很难满足用户的变化性 需求 MVC 要求对应用分层 虽然要花费额外的工作 但产品的结构清晰 产 品的应用通过模型可以得到更好地体现 首先 最重要的是应该有多个视图对应一个模型的能力 在目前用户需求 的快速变化下 可能有多种方式访问应用的要求 例如 订单模型可能有本系 统的订单 也有网上订单 或者其他系统的订单 但对于订单的处理都是一样 也就是说订单的处理是一致的 按 MVC 设计模式 一个订单模型以及多个视 图即可解决问题 这样减少了代码的复制 即减少了代码的维护量 一旦模型 发生改变 也易于维护 2 52 5 三框架相关知识简介三框架相关知识简介 本系统是基于 J2EE 的三种框架的集成性开发 其中包括 STRUTS 框架 SPRING 框架 HIBERNATE 框架等 它们在整个模块的开发过程中起着不同的 作用 2 5 1 STRUTS 框架 其中 STRUTS 框架主要是 MVC 结构 而 MVC 把交互系统的组成分解成 模型 视图 控制器三部分 模型 Model 是软件所处理问题逻辑在独立于外在 显示内容和形式情况下的内在抽象 封装了问题的核心数据 逻辑和功能的计 算关系 独立于具体的界面表达和 I O 操作 视图 View 把表示模型数据及逻 辑关系和状态的信息及特定形式展示给用户 它从模型获得显示信息 对于相 同的信息可以有多个不同的显示形式或视图 控制器 Controller 是处理用户与 软件的交互操作的 其职责是控制提供模型中任何变化的传播 确保用户界面 于模型间的对应联系 它接受用户的输入 将输入反馈给模型 进而实现对模 型的计算控制 是使模型和视图协调工作的部件 通常一个视图对应一个控制 器 模型 视图与控制器的分离 使得一个模型可以具有多个显示视图 如果 用户通过某个视图的控制器改变了模型的数据 所有其它依赖于这些数据的视 图都应反映到这些变化 因此 无论何时发生了何种数据变化 控制器都会将 变化通知所有的视图 导致显示的更新 这实际上是一种模型的变化 传播机制 2 5 2 HIBERNATE 框架 HIBERNATE 框架是一个数据持久层框架 是一种实现对象和关系之间映 射 O R Mapping 的工具 它对 JDBC 进行了轻量级的对象封装 使程序员可以 网络电子相册系统设计 使用对象编程思想来操作数据库 它不仅提供了从 Java 类到数据表的映射 也 提供了数据查询和恢复机制 相对于使用 JDBC 和 SQL 来操作数据库 使用 Hibernate 能大大的提高实现的效率 Hibernate 框架用配置文件的形式来定义 Java 对象和数据表之间的映射关系 同时在更深的层面将数据表之间的关系解 释为 Java 对象之间的继承及包含等关系 通过使用 HQL 语句将复杂的关系算 法用对象的方式描述 在很大程度上简化了对数据的查询 加快了开发的效率 在 Hibernate 中有一个简单而直观的 API 用于对数据库所表示的对象执行查询 要创建或修改这些对象 只需在程序中与它们进行交互 然后告诉 Hibernate 保 存即可 这样 大量封装持久化操作的业务逻辑不再需要编写烦琐的 JDBC 语 句 从而使数据持久层得到了极大的简化 2 5 3 SPRING 框架 而 Spring 是一个开源框架主要有两大特性包括 依赖注入 IOC 和切面 AOP 在我的这个设计中基本上只体现了其中的一部分也就是 IOC 依赖注入 所谓的依赖注入就是 Spring 通过一种称作控制反转 IOC 的技术促进了松耦合 当应用了 IOC 一个对象依赖的其它对象会通过被动的方式传递进来 而不是 这个对象自己创建或者查找依赖对象 你可以认为 IOC 与 JNDI 相反 不是 对象从容器中查找依赖 而是容器在对象初始化时不等对象请求就主动将依赖 传递给它 控制反转模式 也称作依赖性介入 的基本概念是 不创建对象 但是描述 创建它们的方式 在代码中不直接与对象和服务连接 但在配置文件中描述哪 一个组件需要哪一项服务 容器 在 Spring 框架中是 IOC 容器 负责将这些 联系在一起 在典型的 IOC 场景中 容器创建了所有对象 并设置必要的属 性将它们连接在一起 决定什么时间调用方法 下表列出了 IOC 的一个实现 模式 2 62 6 JSPJSP 技术技术 随着 Web 应用的飞速发展 传统的静态 HTML 语言已经越来越不适应需 要 由此导致了人们在传统的静态 HTML 上增添新的功能 这一切功能最终导 致了动态 HTML 的产生 Web 已经从一个大部分显示静态信息的网络演化成能 够进行股票交易和购书操作等的一种基础设施网络 静态 HTML 对于显示静态 内容是不错的选择 新的挑战在于创建交互的基于 Web 的应用程序 用户在浏 览信息的同时也需要向服务器反馈一些信息 在这些程序中 页面的内容是基 于用户的请求或系统的状态 而不是预先定义的文字 某些 Web 服务器供应商已经尝试通过为他们的服务器提供 插件 和 API 来 简化 Web 应用程序的开发难度 但这些解决方案是与特定的 Web 服务器相关 网络电子相册系统设计 的 例如 微软的 ASP 技术使得在 Web 页面上创建动态内容更加容易 但是 也只能工作在微软的 IIS 和 Personal Web Server 上 还存在其他的解决方案 但不能使一个普通的页面设计者更加容易掌握 例如像 Java Servlets 技术 就 可以使得用 Java 语言编写交互应用程序的服务器端代码变得很容易 开发人员 能够编写出这样的 Servlets 以接受来自 Web 浏览器的 HTTP 请求 动态地生 成响应 然后发送包含 HTML 或 XML 文档的响应到浏览器 采用这种方法 整个网页必须都在 Java Servlets 中制作 如果开发人员或者 Web 管理人员想要 调整页面显示 就不得不编辑并重新编译该 Java Servlets 即使在逻辑上已经能 够运行了 采用这种办法 生成有动态内容的页面仍然需要应用程序的开发技 巧 很显然 目前需要的是一个业界范围内的创建动态内容的解决方案 这个 方案将解决当前方案所受到的限制 即使在任何 Web 的交互程序服务器上运行 将应用程序逻辑和页面显示分离 能够快速地开发和测试 简化开发基于 Web 的交互式应用程序的过程 JSP 技术就是被设计用来满足这样的要求的 JSP 规范是 Web 服务器 应用服务器 交易系统以及开发工具供应间广泛 合作的结果 SUN 公司开发出这个规范来整合和平衡已经存在的规范对 Java 编 程环境进行支持的技术和工具 其结果是产生了一种新的 开发基于 Web 应用 程序的方法 给予使用基于组件应用逻辑的页面设计者以强大的功能支持 JSP 网页包含以下的组件 1 JSP 指示 JSP 页面使用 JSP 指示将指令传递到 JSP 容器 其中包括 JSP 页面指示 传递与页面相关的信息 例如缓冲区和线程信息或者出错信息 语言指示指定 脚本语言以及所有的扩展 包含指示可以被用来在页面中包含一个外部文件 被包含的文件可能是另一个 JSP 文件 标识库指示指出页面可以调用的客户标 识库类型 2 JSP 标识 绝大数 JSP 处理将通过与 JSP 相关的基于 XML 的标识完成 这些标识包 括 Jsp useBean 这个标识声明对一个 JavaBean 组件实例的使用 Jsp setproperty 这个标识在组件的实例中设置一个属性的值 Jsp getProperty 这个标识获取一个组件的实例的属性值 将其转化为字 符串 并且将它放入隐含对象 out 中 Jsp include 和 Jsp forward 标识的好处在于它们易于在应用程序中使用和共享基于标识的语法的真正 网络电子相册系统设计 威力来自标识库的开发 使得工具供应商或其他人员能够为特定的要求创建和 分派标识 3 JSP 指示 JSP 页面可以在页面中包含小的脚本 小脚本是一个代码片段 在请求 的出处理过程中被执行 小脚本可以和页面中的静态元件组合起来创建动态生 成的页面 脚本在标志中被描述 在这对标志中的所有的东西都会被脚本描 述 语言容器执行 JSP 规范支持所有常用的脚本元件 包括声明和表达式 4 JSP 页面应用模型 JSP 页面由 JSP 容器执行 容器安装在 Web 服务器或者 JSP 的引用服务器 上 JSP 容器接受客户端的请求 并且生成 JSP 页面给客户端的响应 2 72 7 关于关于 JavaScriptJavaScript 脚本语言的应用脚本语言的应用 JavaScript 语言是 web 增强型技术 当在客户计算机上使用时 该语言有助 于把内容的静态页面转换为动人的 交互式的 智能的体验 应用程序可以做 得非常微妙 例如如果客户计算机所在的时区是早晨 即使此时服务器处在晚 饭时间 应用程序也将会向网站访问音问候 早上好 或者还可实现更加显眼 的效果 比如在页面下载时传递幻灯片内容 而在整个演示过程中 JavaScript 控制隐藏 显示和幻灯片的转换 应用 JavaScript 可以弥补程序运行速度上的缺陷 尽可能在客户端完成 不一定每次都提交给服务器 同时它也扩展了 WEB 页面的功能 使用 JavaScript 可以完成表单的验证 不用强迫服务器或数据库来进行数 据的确认 直接在客户端就完成了任务 大大提高了运行效率 利用用户的计 算机去处理一些问题 分担了数据库的工作量 随着新的 W3C 标准出台 利用 内置对象的 document getElementById id 方法可以取到页面中的任意元素 前提 是各个元素的属性 id 已经设置初值 利用这种方法可以获得表单中文本框或按 钮上的值 然后再对它们加以分析 对比 判断数据格式 通过返回的真假值 来决定是否提交给应用服务器 其次 使用 JavaScript 可以提供用户更为丰富的使用体验 不用刷新就可 以改变页面上的内容 和 JSP 技术相互配合 符合当今 IT 技术中的 WEB 方向 发展的潮流 在本次的程序中使用了一些 JavaScript 脚本语言作为一些特效的应用 其 实在 JS 脚本来说就是在做一些前台的验证和特效的功能 2 82 8 MyEclipseMyEclipse 开发工具的简要介绍开发工具的简要介绍 网络电子相册系统设计 计算机软件编程行业已经逐步走入成熟对于编程人员的要求就越来越高了 当然作为一名软件开发人员选择一个合适的开发工具也就能够帮助其更快更好 更稳定地进行开发 这一点在时下显得越来越重要 MyEclipse 绝对就是一个不 错的选择 不论是单机应用还是网络开发 它都提供了很好的支持 特别是对 JSP 和 Tomcat 服务器的支持 使软件开发人员在开发过程中感觉便于操作 可 以很好的实现功能很快的看到效果 节省了开发人员很多的时间 MyEclipse 6 0 以后有了很大的革新 在原来的版本中一般是用到的 Eclipse 然后在其中安装相应的 MyEclipse 一些相应的插件 在很大程序上 这样的一 种组合形式对开发人员来讲过于复杂 不便于操作 针对这一原因在 MyEclipse 在版本的研发上着重了解决了这一点缺陷 他们以 MyEclipse 完全整合了 Ecplise 换句话也就是说开发人员只需要安装 MyEclipse 它其中就会自动给你 安装 Eclipse 无须你再说安装在这一点上就我本人来讲是相当的感受到了便利 从专业上来讲它是替代 IBM Visual Age for Java 以下简称 IVJ 的下一代 IDE 开 发环境 但它未来的目标不仅仅是成为专门开发 Java 程序的 IDE 环境 根据 Eclipse 的体系结构 通过开发插件 它能扩展到任何语言的开发 甚至能成为 图片绘制的工具 目前 MyEclipse 已经开始提供一些语言开发的功能插件 例 如 C 语言等 更值得一提的是 MyEclipse 是一个开放源代码的项目 任何人 都可以下载 MyEclipse 的源代码 并且在此基础上开发一些自己的功能插件 也就是说未来只要有人需要 就会有建立在 MyEclipse 之上的 COBOL Perl Python 等语言的开发插件出现 同时可以通过开发新的插件扩 展现有插件的功能 比如在现有的 Java 开发环境中加入 Tomcat 服务器插件 可以无限扩展 而且有着统一的外观 操作和系统资源管理 这也正是 MyEclipse 的潜力所在 利用它可以更好地掌握软件开发周期 进一步提升了 Web Services 的开发 效率 它支持包括 SOAP WSDL UDDI 和 WSIL 等最新的 Web Services 技术 并且可以通过拖放方式更快捷地实现创建 验证 输入和输出 Web 服务 同时 利用 MyEclipse 提供的多种可视化插件 可以快速地开发 Web 应用程序 MyEclipse 允许将现在的 HTML 或是 JSP 转换为特有的 Structs 标签 并且提供 了 JSP 标签函数库功能 大大提高了编码的效率 通过它提供的实时代码语法 检查 我可以随时找到语法上的编写错误 以不同颜色标注代码的变量和语句 使程序变得很清晰 可读性也提高了 本系统采用的是 Myeclipse7 0 2 92 9 WEBWEB 服务器服务器 Tomcat6 0Tomcat6 0 在 WEB 工具的选择上我所选择的是 Tomcat6 0 Tomcat 是一个免费的开源的 Serlvet 容器 它是 Apache 基金会的 Jakarta 项 网络电子相册系统设计 目中的一个核心项目 由 Apache Sun 和其它一些公司及个人共同开发而成 由于有了 Sun 的参与和支持 最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到 体现 Tomcat 被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 java 产品 可见其在业界的地位 Tomcat 的介绍是 Web 服务器一种 是开源的 web 服务器 2 9 1 Tomcat Server 的组成部分 1 Server A Server element represents the entire Catalina servlet container Singleton 2 Service A Service element represents the combination of o ne or more Connector components that share a single Engine Service 是这样一个集合 它由 一个或者多个 Connector 组成 以及一个 Engine 负责处理所有 Connector 所获 得的客户请求 3 Connector 一个 Connector 将在某个指定端口上侦听客户请求 并将获得的请求交给 Engine 来处理 从 Engine 处获得回应并返回客户 TOMCAT 有两个典型的 Connector 一个直接侦听来自 browser 的 http 请求 一个侦听来自其它 WebServer 的请求 Coyote Http 1 1 Connector 在端口 8080 处侦听来自客户 browser 的 http 请求 Coyote JK2 Connector 在端口 8009 处侦听来自其它 WebServer Apache 的 servlet jsp 代理请求 4 Engine Engine 下可以配置多个虚拟主机 Virtual Host 每个虚拟主机都有一个域 名 当 Engine 获得一个请求时 它把该请求匹配到某个 Host 上 然后把该请 求交给该 Host 来处理 Engine 有一个默认虚拟主机 当请求无法匹配到任何一 个 Host 上的时候 将交给该默认 Host 来处理 5 Host 代表一个 Virtual Host 虚拟主机 每个虚拟主机和某个网络域名 Domain Name 相匹配 每个虚拟主机下都可以部署 deploy 一个或者多个 Web App 每 个 Web App 对应于一个 Context 有一个 Context path 当 Host 获得一个请求时 将把该请求匹配到某个 Context 上 然后把该请求交给该 Context 来处理 匹配 的方法是 最长匹配 所以一个 path 的 Context 将成为该 Host 的默认 Context 所有无法和其它 Context 的路径名匹配的请求都将最终和该默认 Context 匹配 6 Context 一个 Context 对应于一个 Web Application 一个 Web Application 由一个或 者多个 Servlet 组成 Context 在创建的时候将根据配置文件 网络电子相册系统设计 CATALINA HOME conf web xml 和 WEBAPP HOME WEB INF web xml 载入 Servlet 类 当 Context 获得请求时 将在自己的映射表 mapping table 中寻找相 匹配的 Servlet 类 如果找到 则执行该类 获得请求的回应 并返回 2 9 2 Tomcat Server 处理一个 http 请求的过程 假设来自客户的请求为 http localhost 8080 web wsota index jsp 1 请求被发送到本机端口 8080 被在那里侦听的 Coyote HTTP 1 1 Connector 获得 2 Connector 把该请求交给它所在的 Service 的 Engine 来处理 并等待来 自 Engine 的回应 3 Engine 获得请求 localhost web wsota index jsp 匹配它所拥有的所有虚 拟主机 Host 4 Engine 匹配到名为 localhost 的 Host 即使匹配不到也把请求交给该 Host 处理 因为该 Host 被定义为该 Engine 的默认主机 5 localhost Host 获得请求 web wsota index jsp 匹配它所拥有的所有 Context 6 Host 匹配到路径为 web 的 Context 如果匹配不到就把该请求交给路径名 为 的 Context 去处理 7 path web 的 Context 获得请求 wsota index jsp 在它的 mapping table 中寻找对应的 servlet 8 Context 匹配到 URL PATTERN 为 jsp 的 servlet 对应于 JspServlet 类 9 构造 HttpServletRequest 对象和 HttpServletResponse 对象 作为参数调 用 JspServlet 的 doGet 或 doPost 方法 10 Context 把执行完了之后的 HttpServletResponse 对象返回给 Host 11 Host 把 HttpServletResponse 对象返回给 Engine 12 Engine 把 HttpServletResponse 对象返回给 Connector 13 Connector 把 HttpServletResponse 对象返回给客户 browser 2 102 10 本章小结本章小结 在本章中主要介绍了软件开发时所用的开发工具和相关的技术 重点介绍 了 Java J2EE 平台和 MVC 结构等相关知识以及 JAVA 三框架 Hibernate Spring Struts 的工作机制 同时也详细介绍了 JSP 的相关技术 运 行环境及其开发工具 3 3 电子相册系统需求分析电子相册系统需求分析 网络电子相册系统设计 3 13 1 可行性分析可行性分析 3 1 1 系统总体目标 本系统主要是为了给那些对照片管理感兴趣的朋友提供一个交流的平台 对有很多照片需要管理的朋友 你在这里可以进行注册成为会员 上传自己的 照片 也可以着浏览别人的相册 还可以修改个人资料 非注册会员你可以浏 览电子相册里别人的相片 对于管理员登陆 可以添加相册分类 3 1 2 技术可行性分析 这个电子相册是基于 web 来开发的 主要运用 jsp 技术 Hibernate Spring Struts 框架等相关技术 以 My sql 为后台数据库 Tomcat6 0 为应用服务器 这些应用软件 如 JDK tomcat6 0 Myeclipse7 0 Dreamweaver 等都可以在网络上免费下载得来 并且这些软件都是些最常用的网页开发工具 都能够快和好的掌握 并且也学 了有关网页开发的课程 所以一些最常用的技术能够比较好的实现 所以对于 本系统在技术上是可以达到的 3 1 3 功能需求 本系统应该具有相片浏览 相片上传 评论相片 编辑 删除相片 用户 注册 用户管理 个人信息修改等功能 3 1 4 性能需求 设备需求 PC 机 Windows98 2000 xp 操作系统 PII 以上 64MB RAM 服务器 采用 My sql 数据库管理 3 23 2 系统总体结构系统总体结构 本系统所研究的是从电子相册的管理到相册的生成等一系列的问题 大致 分为 相册列表 此模块是注册用户所创建的相册列表 其创建时要选择所属的 相册分类 相册名字由注册用户所规定 相册封皮也可以由用户设定 新建相册 此功能是注册用户所拥有的 用户可以自己创建想要的相册 修改资料 注册用户注册时填写的资料可以在再次登陆时修改 修改密码 用户可以修改自己的登录密码 技术支持 介绍了所用到的知识点 相册分类管理 此功能是管理员登录时拥有的权限 管理员可以添加相册 的分类 网络电子相册系统设计 3 2 1 系统总体结构 电子相册平台 前台后台 相册列表 新建相册

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论