




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学士学位论文学士学位论文 基于 Java Web 的校友录系统的设计和实施 Design and Implementation of Alumni System Based on Java Web 毕业设计 论文 原创性声明和使用授权说明毕业设计 论文 原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺 所呈交的毕业设计 论文 是我个人在指导教 师的指导下进行的研究工作及取得的成果 尽我所知 除文中特别 加以标注和致谢的地方外 不包含其他人或组织已经发表或公布过 的研究成果 也不包含我为获得 及其它教育机构的学位 或学历而使用过的材料 对本研究提供过帮助和做出过贡献的个人 或集体 均已在文中作了明确的说明并表示了谢意 作 者 签 名 日 期 指导教师签名 日 期 使用授权说明使用授权说明 本人完全了解 大学关于收集 保存 使用毕业设计 论 文 的规定 即 按照学校要求提交毕业设计 论文 的印刷本和 电子版本 学校有权保存毕业设计 论文 的印刷本和电子版 并 提供目录检索与阅览服务 学校可以采用影印 缩印 数字化或其 它复制手段保存论文 在不以赢利为目的前提下 学校可以公布论 文的部分或全部内容 作者签名 日 期 学位论文原创性声明学位论文原创性声明 本人郑重声明 所呈交的论文是本人在导师的指导下独立进行 研究所取得的研究成果 除了文中特别加以标注引用的内容外 本 论文不包含任何其他个人或集体已经发表或撰写的成果作品 对本 文的研究做出重要贡献的个人和集体 均已在文中以明确方式标明 本人完全意识到本声明的法律后果由本人承担 作者签名 日期 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留 使用学位论文的规定 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅和借阅 本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索 可以采用影印 缩印或扫描等复制手段保存和汇编本学位论文 涉密论文按学校规定处理 作者签名 日期 年 月 日 导师签名 日期 年 月 日 指导教师评阅书指导教师评阅书 指导教师评价 指导教师评价 一 撰写 设计 过程 1 学生在论文 设计 过程中的治学态度 工作精神 优 良 中 及格 不及格 2 学生掌握专业知识 技能的扎实程度 优 良 中 及格 不及格 3 学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4 研究方法的科学性 技术线路的可行性 设计方案的合理性 优 良 中 及格 不及格 5 完成毕业论文 设计 期间的出勤情况 优 良 中 及格 不及格 二 论文 设计 质量 1 论文 设计 的整体结构是否符合撰写规范 优 良 中 及格 不及格 2 是否完成指定的论文 设计 任务 包括装订及附件 优 良 中 及格 不及格 三 论文 设计 水平 1 论文 设计 的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2 论文的观念是否有新意 设计是否有创意 优 良 中 及格 不及格 3 论文 设计说明书 所体现的整体水平 优 良 中 及格 不及格 建议成绩 建议成绩 优优 良良 中中 及格及格 不及格不及格 在所选等级前的 内画 指导教师 指导教师 签名 单位 单位 盖章 年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价 评阅教师评价 一 论文 设计 质量一 论文 设计 质量 1 论文 设计 的整体结构是否符合撰写规范 优 良 中 及格 不及格 2 是否完成指定的论文 设计 任务 包括装订及附件 优 良 中 及格 不及格 二 论文 设计 水平二 论文 设计 水平 1 论文 设计 的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2 论文的观念是否有新意 设计是否有创意 优 良 中 及格 不及格 3 论文 设计说明书 所体现的整体水平 优 良 中 及格 不及格 建议成绩 建议成绩 优优 良良 中中 及格及格 不及格不及格 在所选等级前的 内画 评阅教师 评阅教师 签名 单位 单位 盖章 年年 月月 日日 计算机科学与技术专业学士学位论文 第 I 页 教研室 或答辩小组 及教学系意见教研室 或答辩小组 及教学系意见 教研室 或答辩小组 评价 教研室 或答辩小组 评价 一 答辩过程一 答辩过程 1 毕业论文 设计 的基本要点和见解的叙述情况 优 良 中 及格 不及格 2 对答辩问题的反应 理解 表达情况 优 良 中 及格 不及格 3 学生答辩过程中的精神状态 优 良 中 及格 不及格 二 论文 设计 质量二 论文 设计 质量 1 论文 设计 的整体结构是否符合撰写规范 优 良 中 及格 不及格 2 是否完成指定的论文 设计 任务 包括装订及附件 优 良 中 及格 不及格 三 论文 设计 水平三 论文 设计 水平 1 论文 设计 的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2 论文的观念是否有新意 设计是否有创意 优 良 中 及格 不及格 3 论文 设计说明书 所体现的整体水平 优 良 中 及格 不及格 评定成绩 评定成绩 优优 良良 中中 及格及格 不及格不及格 在所选等级前的 内画 教研室主任 或答辩小组组长 教研室主任 或答辩小组组长 签名 年年 月月 日日 教学系意见 教学系意见 系主任 系主任 签名 年年 月月 日日 计算机科学与技术专业学士学位论文 第 II 页 摘摘 要要 Internet 已经成为人们生活 工作 学习越来越离不开的平台 Web 技术已经不在局限于单纯地提供 信息服务 而是日益成为一个操作平台 为用户提供强大的服务功能 因此 基于 B S 体系架构创建这个 校友网站 紧跟行业发展 满足人们生活 学习的需要 建立一个基于 B S 架构的校友录 实现信息网络化 通过较丰富的功能将 Web 的技术特点体现出来 该系统可供包括在校 离校 以及游客登录使用 登录者可以查询信息或者发布信息 也可以通过此网站 与朋友联系 并且还能够创建虚拟班级等功能 系统中班级管理为必不可少的模块项 主要是为了安全有 效地存储和管理登录网站的用户的信息 赋予管理员特定的权限 可以对用户进行分类 添加 删除 修 改等 本文中数据库服务器端采用了 Oracle 作为后台数据库 以先进的 JDBC 技术与数据库连接 结合 SQL 语句处理对用户分类 添加 删除 修改等操作 使 Web 与数据库紧密联系起来 关键词 校友录 Java Web MVC Oracle AbstractAbstract Internet has become the people s lives work learn more and can not be separated from the platform Web technology is not limited to simply providing information services but increasingly becoming a platform for users to provide powerful services Therefore based on the B S architecture to create the alumni site keep up with the development of the industry to meet the needs of people s lives learning needs Based on the establishment of a B S structure of the alumni were recorded the realization of the information network Adopted a more feature rich Web technologies will be reflected in the characteristics The system can be included in the school school leavers as well as the use of visitors log on Will be able to query registry information or release information can also be linked to this site with your friends and also to create features such as virtual classes Class Management System module for essential items mainly in order to safely and effectively store and manage user login information site to give specific permission to an administrator you can classify the user add delete modify and so on In this article used a database server side Oracle database as a background to the advanced technology and the JDBC database connection combined with SQL statement processing for categories of users add delete modify and so on web and database are so closely linked Key Words Alumni Java Web MVC Oracle 计算机科学与技术专业学士学位论文 第 III 页 目目 录录 摘摘 要要 I ABSTRACTABSTRACT I 目目 录录 II 0 0引言引言 1 1 1绪论绪论 2 1 1J2EE 概况 2 1 2B S 模型的优点 3 1 3JSP 技术发展背景 4 1 4JAVA语言的特点 5 1 5关于 JAVA WEB 6 1 5 1Servlet 与 JSP 组件简介 7 1 5 2JavaBean 在 Java Web 组件的应用 8 1 5 3自定义标签与 JSTL 标签库 8 1 5 4JSF 技术简介 8 1 5 5XML 简介 9 1 5 6关于 Java Web 的 MVC 设计模式 9 1 6关于 ORACLE 11 1 7关于 TOMCAT 13 1 8关于开发环境 MYECLIPSE 14 1 9本章小结 15 2 2需求分析需求分析 16 2 1任务描述 16 2 2用户特点 17 2 3条件与限制 17 2 4系统配置 17 2 5编码规范 17 3 3系统设计系统设计 18 3 1系统结构 18 3 2功能模块 18 3 3设计模式 19 3 3 1用户身份验证设计 19 3 3 2创建班级功能的设计 20 3 3 3查询功能设计 21 3 3 4删除功能设计 22 3 4数据库的逻辑设计的描述 23 计算机科学与技术专业学士学位论文 第 IV 页 3 5页面设计 24 4 4系统实现系统实现 25 4 1模块的详细设计 25 4 1 1登录模块 25 4 1 2创建班级 26 4 1 3班级管理员的生成 27 4 1 4删除功能的实现 27 4 1 5查询功能的实现 29 4 1 6留言功能的实现 30 4 1 7用户权限确认 30 4 1 8技术要点 31 4 2数据库的物理实现 32 4 2 1安装驱动程序 32 4 2 2建立用户 33 4 2 3系统表结构 33 4 2 4操作数据库 34 5 5总结与展望总结与展望 36 致致 谢谢 38 参考文献参考文献 39 计算机科学与技术专业学士学位论文 第 1 页 0 0引言引言 Java 语言是美国 Sun Microsystem 的 James Gosling Pratrick Naughton 及 Mike Sheridan 等人于 1991 年精心设计出来的计算机编程语言 其构想在于实现使用同一种编程语言所写 出来的程序可以在不同的平台上运作 这种架构对于消费性电子产品而言是具有革命性的 因为在消费性电子产品中的处理器及操作系统各不相同 要在这些平台上开发程序必须要 了解各个平台的特性 以及其提供的 API 使用方式 分别开发不同的版本才能执行 影响 应用程序的普及性 然而 Java 很快就做到了这点 用 Java 编写出来的程序之所以能够在多种平台执行 最 大的功臣除了 SUN 本身提供这些硬件平台的 Java 执行环境之外 其他的厂商也投入相当 多的心力在 Java 系列产品 功能甚至比 SUN 本身提供的还要强大 Java 程序并不象其他 程序语言 最后被编译成所在平台的机器语言后在执行 而是先编译成一个中立的字节码 byte code 然后才到装有 Java 虚拟机 Java Virtual Machine JVM 的硬件去执行 这 也就是 Java 程序能够跨平台的主要原因 目前 Java 的主要应用在于电子商务及企业电子化部分 对象的特性配合分布式系统 用 Java 设计这类程序确实容易多了 除此之外 Java 也渐渐地在消费性电子平台上发挥它 跨平台的特性 各手机厂商 PDA 厂商也纷纷地发表内置 JVM 的系统 Java 在这方面跟 其他程序语言比起来 可以说是如鱼得水 未来 除了 SUN 加强 J2EE J2SE 和 J2ME 中的功能外 Java 会更进一步的结合 XML 把现在外挂的 XML 套间包含进 Java 标准套件中 那么对于跨平台来说将更是如虎 添翼 Java 的未来可以说是一片光明 本论文中第一章介绍 J2EE 的概况和现状 第二章介绍了 Java 语言的特点以及所用到 的开发工具和相关软硬件环境的背景 并且详细的说明了开发所用到的相关技术 第三章 分析该作品设计的思想和流程 介绍总体结构 第四章并详细阐述有关重点实现细节 第 五章提及了开发过程 心得体会 经验和感想 计算机科学与技术专业学士学位论文 第 2 页 1 1绪论绪论 1 11 1J2EEJ2EE 概况概况 J2EE 是美国 Sun 公司刚刚推出的一种全新概念的模型 与传统的互联网应用程序模型 相比有着不可比拟的优势 当今许多企业都需要扩展他们的业务范围 降低自身经营成本 缩短他们和客户之间 的响应时间 这就需要存在一种简捷 快速的服务于企业 合作伙伴和雇员之间 典型的说 提供这些服务的应用软件必须同企业信息系统 EIS 相结合 并提供新的 能向更为广阔的用户提供的服务 这些服务要具备以下的特点 高可用性 来满足现在的全球商业环境 安全性 保护用户的隐私和企业数据的安全 可依赖性和可扩展性 保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的 包括前端数据端和后端数据源以及它们之 间的一层或几层 这些中间层提供了把商业功能和数据与 EIS 相结合的功能 这些中间层 把客户端从复杂的商业逻辑中分离出来 利用成熟的 INTERNET 技术使用户在管理上所花 费的时间最小化 J2EE 正式降低了开发这种中间层服务的成本和复杂程度 因而使得服务可以被快速的 展开 并能够更轻松的面对竞争中的压力 J2EE 通过定义一种标准的结构来实现它的优势 如下 J2EE Application Programming Model 一种用于开发多层次 瘦型客户用户程序 的标准设计模型 J2EE Platform 一个标准的平台 用来整合 J2EE 的应用程序 指定一系列的接口 和方法 J2EE Compatibility Test Suite 一套兼容测试组件 用来检测产品是否同 J2EE 平 台兼容 J2EE Reference Implementation 用来示范 J2EE 的能力 J2EE 是被设计为顾客 雇员 供应商 合作者提供企业级服务 这样的应用程序天生 具有复杂性 他们要访问各种类型的数据并分发于大量的客户端 为了更好的控制 管理 这些应用程序 支持各种各样用户的商业功能要在中间层引入 中间层描述了一个被企业 的信息技术部门紧紧控制的环境 J2EE 应用程序依靠于 EIS 层来存储企业的商业数据 这些数据和用来管理它的系统是 企业中的核心 最初 双层结构 Client Server 应用程序模型许诺将提高伸缩性与更广阔 的功能 但不幸的是 直接向用户提供 EIS 服务的复杂性和再每台用户计算机上安装和维 护商业逻辑所引起的管理上的问题成了很大的限制 而这些再双层结构中的限制在三层结 计算机科学与技术专业学士学位论文 第 3 页 构中已不存在了 如今要求既开发服务的商业功能 还要开发访问数据库和其他资源的代 码 这是很复杂的 因为每一种多层结构的服务器都有它自己的应用模型 因此组建一直 富有经验的开发队伍将是困难的 另外 随着服务规模的扩大 为了降低开支和加快响应 速度 也要经常对其基层代码进行修改 J2EE 应用模型定义了一种建筑模型来让多层应用程序实现服务 并消除了以上的问题 提供了可伸缩的 易访问的 易于管理的方法 J2EE 应用模型把实现多层结构服务的工作 划分为二部分 开发者实现商业和表达逻辑 以及由 J2EE 平台提供的标准的系统服务 开发者可以依赖于这个平台为开发中间层服务中遇到的系统级硬件问题提供解决方案 J2EE 应用模型为中间层应用程序提供了编译一次 任意运行的特点 write once run anywhere 这种标准模型最小化了培训开发人员的费用 J2EE 应用程序模型通过在建立 多层应用程序中最小化其复杂程度 围简化和加速应用程序的开发迈出了重要的一步 当其他的应用程序模型需要在每个程序中有特定平台的安全性时 J2EE 平台环境使在 开发时安全约束便已定义了 J2EE 平台定义了一种标准的公开的存取控制规则 当程序在企业平台上开发时就已被 程序师定义和解释了 J2EE 也需要提供一个标准的注册机制以便应用程序不用将这些注册 机制和逻辑相混合 相同的工作要执行于大量的不同的环境中而并不需要改变源代码 例 如 J2EE 应用程序开发人员可以指定几个安全级别 如 user superuser administrator 于是他们写出代码来检查当前用户权限的级别当用户访问数据时 在开发阶段 开发人员 赋予多组用户适当的安全级 使应用程序能够容易的判断限制级在执行限制操作之前 J2EE 应用程序模型的一个主要优点便是在中间层的多层应用程序 在 J2EE 平台 中 间层商业功能是由企业 JavaBean 实现的 这些企业 Beans 允许服务开发者集中于商业逻辑 并且让 EJB Server 处理传送稳定的 可升级服务的复杂工作 JavaServerPages 技术和 Servlets 向客户层提供了易于访问的 Internet 型服务的中间层功能 Jsp 技术使用户接口开 发者更加容易的提供向任何浏览器用户提供动态页面的服务 Servlets 让基于 Java 技术的 开发者有更大的自由来在 Java 语言中提供完全的动态服务 1 21 2 B SB S 模型的优点模型的优点 几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是 B S 模型的优势所 在 它和 C S 模型比较优点极为突出 两层技术模型 Two Tier Architecture 是指客户机直接与服务器交流 没有其他服务 介入的技术模型 对用户量在 12 100 的局域网环境中 两层模型的确是个不错的方案 由 于该模型中 所有的用户连接都是被保持的 也就是说即使在空闲状态 连接依然存在 所以 用户的并发请求数量有限的 为了解决这个限制 使得成千上万的用户可以被无顾 虑地添加 我们最好选用三层模型 B S 结构 即 Browser Server 浏览器 服务器 结构 是随着 Internet 技术的兴起 对 C S 结构的一种变化或者说是改进的结构 用户界面完全通过浏览器实现 一部分事务逻 辑在前端实现 但是主要事务逻辑在服务器端实现 形成三层结构 是一种全新的软件系 统构造技术 B S 模型结构图如图 1 1 所示 计算机科学与技术专业学士学位论文 第 4 页 WWW Browser Internet DataBase Server Internet WWW Server Server Program CGI Fast CGI JAVA Servlets ASP JSP HTTP Request HTML Remort User s Computer InputHTML SQL QueryData First Server Machine Second Server Machiine 图1 1 B S模型结构图 从上图可见 这种结构的一个重要的特点是 用户可以完全不需要安装客户端软件 当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问题 相比之下 B S 模 型的优点显而易见 更适合这个网站的构建 有利于网站的维护和扩充 1 31 3JSPJSP 技术发展背景技术发展背景 Web 技术的迅猛发展正推动 Internet 上信息服务类的进步 WWW 服务的基础是 HTML 语言 这个系统模块中用到的 JSP 技术是在 HTML 语言的基础上使用脚本语言对网 页的对象模型进行编程 JSP 全称 JavaServerPages 它是由 Sun Microsystems 公司提出 许多公司参与建立的一种动态网页技术标准 它诞生在 1999 年 6 月 1 日 目前国内外已经 在广泛地使用 JSP 随着 JAVA 语言得到普及 越来越多的公司开始关注 JSP 的前景 传统的动态网页制作包括 CGI ASP JSP 三种 而 JSP 具有明显的优势 使用 CGI BINJ 接口是一个最早的动态 WEB 页面问题的解决方案 缺点 CGI 程序必须从 CGI 接口 读入一长串的字符串 再从字符串中取得所需要的数据并加以处理 过程十分繁琐 另一 个缺点 除了 Perl 是解释语言外 其他都是编译式的语言 每次修改后 都必须重新编译 一次 这给开发人员带来麻烦 增加了工作量 ASP 和 JSP 都能取代 CGI 使网站建设和发 展变得简单快捷 尽管 JSP 技术和 ASP 在许多方面都有相似的 但仍然存在很多不同之处 计算机科学与技术专业学士学位论文 第 5 页 其中最本质上的区别在于 两者是来源于不同的技术规范组织 其实现的基础 WEB 服务 器平台要求不相同 作为 Java 平台的一部分 JSP 拥有 Java 编程语言 一次编写 各处运行 的特点 一 次写入 之后 可以运行在任何具有符合 JavaTM 语法结构的环境 取代之过去单一平台 开发 ASP 主要工作环境是微软的 IIS 应用程序结构 又因 Activex 对象具有平台特性 所以 ASP 技术不能很容易地实现在跨平台的 WEB 服务器的工作 从开发人员的角度来看其区别在于 ASP 仅支持组件对象模型 COM 而 JSP 技术提 供的组件都是基于 JavabeansTM 技术或 JSP 标签库 JSP 标签可扩充性 JSP 技术能够使用开发者扩展 JSP 标签 JSP 开发者能定制标签库 减少对脚本语言的依赖 生成可重用的组件 JSP 基于组件的技术方法加速了总体开发过程 JSP 组件 Javabeans 或定制的 JSP 标签 是跨平台可重用的 Javabeans 组件可以访问数据库 并 能以分布式系统模式工作于 UNIX 和 WINDOWS 平台 易于维护性 基于 JSP 技术的应用程序比基于 ASP 的应用程序易于维护和管理 JSP 突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现 如上的比较不难看出 JSP 技术编写的程序运用要更加灵活 可扩展性更强 1 41 4JavaJava 语言的特点语言的特点 Java 语言具有以下特点 1 一次编写 多处运行 这句话十分形象的阐述了 Java 的平台无关性 而且 Java 程序员也一直以此为精神指南 也是 Java 之所以能够受到程序设计师们喜爱的原因之一 2 简单 纯面向对象的特性 再加上众多类库的支持 使用 Java 开发各式各样的应用程序 可 以说是易如反掌 除此之外 不论在调试或是程序修改 增加新功能方面 因为对象的特 性 使得这些维护也变得非常容易 3 安全性 Java 新增的大部分功能都是针对安全性的问题考虑的 Java 甚至可以对于不同的安全 需求而设定 Java 应用程序的安全登记 原则上一个未经您允许的 Java 程序 是不可能伤及 你的系统一根汗毛的 4 Unicode Java 字符采用 16 位的 Unicode 编码 使得 Java 的程序在不同语言的平台上都编写和 执行 简单地说 你可以把程序中的变量 类名称使用中文来表示 使用其它文字也可以 但是不能使用特殊符号 当你的程序移植到其他语言平台时 还是可以正常地执行 Java 也是目前所有电脑语言当中 唯一天生使用 Unicode 的语言 5 网络 Java 可以说是借助互联网而重生的 自然对于具有网络功能程序的编写 也是非常容 易的 不论是一般互联网的程序 Socket Email 还是服务器网页的程序 Servlets JSP 甚 计算机科学与技术专业学士学位论文 第 6 页 至分布式网络程序 CORBA 等的相关套件支持 可以说是非常丰富 使用起来也是非常容 易 6 垃圾回收机制 Garbage Collection 是由 JVM 协助我们的程序对内存做动态的管理 你的程序需要多少 内存 哪些对象的内存已经不使用了 需要归还给系统 这些繁琐而且危险的工作全部交 由 JVM 去帮我们管理 让我们能够更专心的写程序 不需要担心内存的问题 而内存的统 一管理 对于跨平台也有相当的帮助 7 异常处理 为了使 Java 程序更加安全 稳定 那么程序随机应变的能力就必须好 Java 引入了异 常处理机制 能够在程序中比较可能有异常情况产生的地方 加上相对应的处理 让程序 不至于因为土法的错误 造成执行中断或者是当机的情况 异常处理也让用户更能控制整 个程序执行的流程 也使得程序的设计更为严谨 1 51 5关于关于 JavaJava WebWeb Java Web 应用的核心技术是 JSP Java Server Pages 技术和 Servlet 技术 JSP 是由 SUN 公司倡导的 许多公司参与一起建立的动态王爷技术标准 是基于 Java Servlet 和整 个 Java 体系的 Web 开发技术 它在动态网页的建设中有着强大而特别的功能 由于具有 跨平台性 易维护性 易管理性等优点 因此 是最有发展前途的网页技术 JSP 技术实现了动态页面与静态页面的分离 脱离了硬件平台的束缚 它的一次编译 到处运行的方式大大提高了执行效率 逐渐成为因特网上的主流开发工具 Servlet 是运行 在 Web 应用服务器上的 Java 程序 它是一个中间层 负责连接来自 Web 浏览器或其他 HTTP 客户程序的请求和 HTTP 服务器上的数据库或应用程序 Servlet 的作用是读取客户 发送的显示数据 读取由浏览器发送的隐藏式请求数据 向客户发送显示数据 即文件 及发送隐藏式 HTTP 响应数据等 图 1 2 为 Java Web 应用的结构功能图 JSP页 自定义标签库 XML文件 视图 View 调用 调用 控制器 Controller 模型 Model XML配置文件 Servlet Java 实用类 JavaBean 组件 EJB 组件 或 或 图1 2 Java Web应用的结构功能图 计算机科学与技术专业学士学位论文 第 7 页 1 5 11 5 1ServletServlet 与与 JSPJSP 组件简介组件简介 Servlet 组件 服务器小程序 是一个与协议无关的跨平台的服务器组件 它被集成到 服务器中 可以实现网络远程动态加载 现在普遍使用的版本为 Servlet API 2 3 以上版本 应用范围主要有处理 HTML 表单 允许多人之间的合作及请求转发等 它接收 Web 请求 并进行处理 然后将请求发送到 Web 服务器 最后将服务器的响应回送到浏览器 Servlet 工作流程如图 1 3 所示 浏览器 Servlet Servlet容器 请求 响应 HttpServletRequest对象 HttpServletResponse对象 图1 3 Servlet的工作流程图 JSP 在本质上就是 Servlet 只是这两者的创建方式不一样 Servlet 中的代码是又 Java 程序代码构成的 它主要是对流程的控制以及对事物的处理 而通过 Servlet 来生成动态网 页不是很直观 JSP 主要由 HTML 元素 或者 XML 与 Java 代码的结合 以及加入其中 的 JSP 标记 可以方便地编写动态网页 JSP 的工作流程如图 1 4 所示 Web 容器 JSP 组件 生成Servlet类源代码 编译的Servlet类 客户端浏览器 发送响应 发送请求 图1 4 JSP 工作流程图 计算机科学与技术专业学士学位论文 第 8 页 在图 1 4 中 JSP 最后被编译成了一个 Servlet 然后通过 Servlet 发送响应与 Web 服务 器进行交互 1 5 21 5 2JavaBeanJavaBean 在在 JavaJava WebWeb 组件的应用组件的应用 JavaBean 是 Java Web 应用系统设计中的重要组成部分之一 它封装属性和方法 使之 成为具有独立功能 可重复使用的并且与其他空间通信的类 JSP 功能强大的一个方面是体现在能够使用 JavaBean 开发者可以将可重用的代码部 分 例如数据库连接的方法 和页面逻辑部分写入 JavaBean 中 还可以通过使用 JavaBean 来减少在 JSP 页面中脚本语言的使用率 这样可以使得 JSP 页面更加整洁 更容易维护 更容易被非开发人员接受 在 JSP 文件中 可以通过专门的标签来定义或访问 JavaBean 包括设置 Bean 属性值 读取 Bean 属性值和请求时包含其他资源 例如 等 1 5 31 5 3自定义标签与自定义标签与 JSTLJSTL 标签库标签库 当开发者使用一段时间的 JSP 后 会发现这种将 Java 代码与 HTML 标记混合的方法 不完善 主要体现在以下两个方面 页面中 Java 代码转化为 Servlet 后 在运行时 可能 会导致一些看不到的错误 由于在 JSP 页面中嵌入 Java 代码比较凌乱 因此 页面中的 Java 代码不容易维护 标签技术可以解决上述问题 它是在 JSP 1 1 版本中才支持的这种技术 支持用户在 JSP 文件中自定义标签以及 JSTL 标签库 这些可重用的标签能够处理复杂的逻辑运算和事 务 甚至可以处理定义 JSP 网页的输出内容和格式 自定义 JSP 标签可以使 JSP 代码更加 简洁 有助于将 JSP 文件中的 Java 程序代码分离出去 使 JSP 文件侧重于提供 HTML 表 示层数据 在 Struts 中提供了 5 种强大的标签 分别为 Bean 标签 HTML 标签 Logic 标签 Nested 标签和 Titles 标签 熟练使用这些标签 可以简化开发交互的 用于表单的 Web 应 用的过程 1 5 41 5 4JSFJSF 技术简介技术简介 JSF Java Server Faces 技术为构建 Java 服务应用的用户接口进行了简化 通过使用 Java Server Page 提供的定义良好的编程模型 不同级别的用户可以快捷构建 其实 JSF 和 Struts 是一样的 也是快速开发 Web 应用的一个框架 但是它改变了以往 基于 Web 的 Request Response 处理机制 采用了类似 Java Swing 的事件驱动处理机制 这 就为在 Java 平台上快速开发 Web 应用提供了方便 JSF 框架简化了 Web 表单的有效性验 证 Request 参数解析 状态管理和多线程支持等任务 Struts 用于生命周期 同样 JSF 也用于自己的生命周期 JSF 请求有 6 个生命周期阶段 恢复视图 应用请求 处理验证 更新模型 调用应用及显示响应 如图 1 5 所示 计算机科学与技术专业学士学位论文 第 9 页 每个阶段都可以完整地执行 也可能由于错误 验证问题或者其他特殊的处理需要而 中途退出 恢复视图 应用请求处理验证调用应用更新模型显示响应 响应完成 可处理事件 图1 5 JSF 请求生命周期 1 5 51 5 5XMLXML 简介简介 XML Extensible Markup Language 的中文名称为可扩展性标记语言 它是一种来创 建自定义标记的标记语言 XML 在 Web 应用中以及 Web 服务开发中得到了广泛的运用 可用来描述结构化的数据 尽管它看起来很像 HTML 但是在许多细节方面要比 HTML 严 格的多 以下是 XML 在 Web 应用中的优点 XML 能够直接用于因特网中 XML 支持广泛的 多样化的应用程序 XML 文档的处理程序应当容易编写 XML 文档的可选项应尽可能少 XML 代码清晰明了 可读性强 在 Java Web 领域 任何一个 Web 应用程序都离不开 XML 文件 它常用做各种软件应 用的配置文件 在基于 Struts 的 Web 应用中 有两个重要的配置文件 web xml 和 Struts config xml web xml 文件用于配置 Web 应用 例如 Struts config xml 用于配置 Struts 以及 各种 Action 组件 1 5 61 5 6关于关于 JavaJava WebWeb 的的 MVCMVC 设计模式设计模式 MVC 是一种设计模式 是 Model View Controller 的简称 即模型 视图 控制器 这是 一个存在于服务器端表达层的模型 它将应用分开 改变应用的高度结合 下面将介绍 MVC 的相关知识 在 MVC 经典架构中 强制性的把应用程序的输入 处理和输出分开 这种设计模式 把应用程序 也可看作应用程序的一个模块 分为 3 个部分 它们分别担负不同的任务 视图 视图主要指用户看到并与之交互的界面 即 Web 应用程序的外观 视图可以接收用户 的输入 但并不包括任何实际的业务处理 只是将数据转交给控制器 同时 视图还负责 计算机科学与技术专业学士学位论文 第 10 页 展现传递用户的数据 可以向模型查询业务状态 但不能改变模型 视图还能接受模型发 出的数据更新事件 从而对用户界面进行同步更新 模型 模型代表了该 Web 应用中的核心功能 它表示业务数据和业务逻辑 同一个模型层可 以被多个视图所共用 控制器 控制器接受用户输入并调用模型和视图去完成用户的需求 当用户在 Web 页面中提交 HTML 表单时 控制器接收请求并调用相应的模型组件去处理请求 之后调用相应的视图 来显示模型返回的数据 视图 模型及控制器之间的关系如图 1 6 所示 视图 view 向控制器发送用户 请求显示数据更新 请求接收数据更新 控制器 controller 接收用户请求映 射用户请求到模 型选择相应的视图 模型 model 封装Web应用状态 处理业务逻辑 通知视图更新 1 发送用户请求 2 更新模型 4 选择视图显示给用户 3 更新后回复控制器 图1 6 MVC工作流程图 在一次程序运行的过程中 首先 控制层接受用户的请求 并决定应该调用哪个模型 来进行处理 其次 模型根据用户请求进行相应的业务逻辑处理 并返回数据 最后控制 器调用相应的视图来格式化模型返回的数据 并通过视图呈现给用户 在早期的 Java Web 应用中 JSP 文件负责业务逻辑 控制页面流程并创建 HTML 如 图 1 7 所示 随着 JSP 与 Servlet 技术的日益成熟 开发人员开始尝试在 Java Web 应用开 发中采用 MVC 设计模式 以实现软件代码更好的可维护性可重用性 JSP 可以用来实现 MVC 结构中的视图部分 来实现表示层功能 JavaBean 则包含具体的业务逻辑 而 Servlet 则具有两者的功能 并可以作为控制器起到控制调度的功能 计算机科学与技术专业学士学位论文 第 11 页 Web客户端 请求 响应 修改 添加以 及删除数据 读取数据 JSP页面 数据库 图1 7 JSP作为独立的模块 在 JSP 和 Servlet 技术发展的过程中 出现过两种典型的 JSP 设计模式 Model1 Model1 实质是 JSP JavaBean 模式 JSP 充当着控制器与视图的双重身份 JavaBean 为模型身份 使用 JSP 直接处理 Web 浏览器的请求 并使用 JavaBean 处理业务逻辑 虽 然编写代码十分容易 但 JSP 混淆了 MVC 模式中的视图与控制器 高度耦合的结果是 JSP 代码十分复杂 后期维护困难 Model1 如图 1 8 所示 客户端 Web 服务器数据库 请求 响应 JSP 组件 JavaBean组件 图1 8 Model1 模式流程图 Model2 Model2 实质是 JSP Servlet Javabean 模式 这种设计模式是一种联合使用 JSP 与 Servlet 来提供动态内容服务的方法 使用它来分配视图 JSP 的显示页面 同时调用模型的 JavaBean 来控制业务逻辑 这是一个良好的 MVC 模式 图 1 9 所示为 Model2 模式 1 61 6关于关于 OracleOracle Oracle 是世界领先的信息管理软件开发商 因其复杂的关系数据库产品而闻名 Oracle 数据库产品为财富排行榜上的前 1000 家公司所采用 许多大型网站也选用了 Oracle 系统 Oracle 的关系数据库是世界第一个支持 SQL 语言的数据库 1977 年 Lawrence J Ellison 领着一些同事成立了 Oracle 公司 他们的成功强力反击了那些说关系数据库无法 成功商业化的说法 现在 Oracle 公司的财产净值已经由当初的 2000 美元增值到了现在的 年收入超过 97 亿美元 Oracle 的目标定位于高端工作站以及作为服务器的小型计算机 Oracle 的路线同 Sun 微系统公司类似 都提出了网络计算机的概念 Oracle 宣称自己是世界上首家百分之百进 行基于互联网的企业软件的软件公司 整个产品线包括 数据库 服务器 企业商务应用 计算机科学与技术专业学士学位论文 第 12 页 程序以及应用程序开发和决策支持工具 从 Oracle 首席执行官 Ellison 的发言可以看出 Oracle 对网络计算的信心 他说 Oracle 公司的成败依赖于互联网是否能够成为将来的 主流计算方式 如果答案是 是 Oracle 就赢了 客户端 Web服务器 数据库 JSP组件 JSP 组件 JavaBean 组件 请求 响应 图1 9 Model2模式 Oracle 是世界领先的信息管理软件开发商 因其复杂的关系数据库产品而闻名 Oracle 数据库产品为财富排行榜上的前 1000 家公司所采用 许多大型网站也选用了 Oracle 系统 Oracle 的关系数据库是世界第一个支持 SQL 语言的数据库 1977 年 Lawrence J Ellison 领着一些同事成立了 Oracle 公司 他们的成功强力反击了那些说关系数据库无法 成功商业化的说法 现在 Oracle 公司的财产净值已经由当初的 2000 美元增值到了现在的 年收入超过 97 亿美元 Oracle 的目标定位于高端工作站以及作为服务器的小型计算机 Oracle 的路线同 Sun 微系统公司类似 都提出了网络计算机的概念 Oracle 宣称自己是世界上首家百分之百进 行基于互联网的企业软件的软件公司 整个产品线包括 数据库 服务器 企业商务应用 程序以及应用程序开发和决策支持工具 从 Oracle 首席执行官 Ellison 的发言可以看出 Oracle 对网络计算的信心 他说 Oracle 公司的成败依赖于互联网是否能够成为将来的 主流计算方式 如果答案是 是 Oracle 就赢了 ORACLE7 X 以来引入了共享 SQL 和多线索服务器体系结构 这减少了 ORACLE 的 资源占用 并增强了 ORACLE 的能力 使之在低档软硬件平台上用较少的资源就可以支持 更多的用户 而在高档平台上可以支持成百上千个用户 提供了基于角色 ROLE 分工的安全保密管理 在数据库管理功能 完整性检查 安全 性 一致性方面都有良好的表现 支持大量多媒体数据 如二进制图形 声音 动画以及多维数据结构等 提供了与第 三代高级语言的接口软件 PRO 系列 能在 C C 等主语言中嵌入 SQL 语句及过程化 PL SQL 语句 对数据库中的数据进行操纵 加上它有许多优秀的前台开发工具如 POWER BUILD SQL FORMS VISIA BASIC 等 可以快速开发生成基于客户端 PC 平 台的应用程序 并具有良好的移植性 计算机科学与技术专业学士学位论文 第 13 页 提供了新的分布式数据库能力 可通过网络较方便地读写远端数据库里的数据 并有 对称复制的技术 Oracle 也许是最流行的服务器 占有最大的市场份额 它被广泛用于各个市场领域 满足一系列的存储需求 例如财务记录 人力资源及订单编制等 造成这种现象的原因之一 在于 Oracle 较早的进入 RDBMS 关系型数据库管理系统 领域 并且提供可运行于大多数 操作系统能够上的数据库版本 虽然 Orcle 的首选操作系统似乎正由 Solaris 转为 Linux 但是 Oracle 仍然在进行与其他操作系统的兼容工作 尽管 Oracle 经常在 Unix 或是 Linux 平台上运行 但是也有大量的 Oracle 在 HP UX 和 AIX 上运行 随着几年前电子商务的激 增 将会驱使 Oracle 成为 WEB 应用所需数据库的选择 这使数据库更容易受攻击者的控 制 事实上 一旦 Oracle 从后台进入前端 那么人们会更多地关注它的安全方面 1 71 7关于关于 TomcatTomcat Tomcat 是一个开源的免费的服务器 它是 Serlvet 容器 是 Apache 基金会的 Jakarta 项 目中的一个核心项目 由 Apache Sun 和其它一些公司及个人共同开发而成 由于有了 Sun 的参与和支持 最新的 Servlet 和 JSP 规范总能在 Tomcat 中得到体现 Tomcat 被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品 可见其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天车工考试试题及答案
- 土葬采样试题及答案
- 9.1.1 简单随机抽样-2025年高一数学新教材同步课堂精讲练导学案(人教A版必修第二册)含答案
- 统计基础知识试题及答案
- 2025年医疗机构自动化医疗器械采购合作协议
- 2025年市场推广部门与合作伙伴安全生产合作协议
- 2025年管道材料供应与采购协议范本
- 2025年新版财产分割协议书编写指南
- 2025年企业研发设备采购策划与执行协议
- 2025年绿色能源推广与气候变化减缓策划协议
- Photoshop图像处理试题及答案
- 2025年农村宅基地房屋买卖合同样本
- 商铺联营(合伙)协议9篇
- 2025年销售管理能力评估考试题及答案
- 厂房设备拆除协议书
- 备战2025年中考道德与法治考试易错题易错梳理04八下易混易错考点梳理与点拨(学生版+解析)
- 江西省南昌市2025届高三信息卷生物+答案
- 裱花师学徒合同协议
- 传媒互联网行业市场前景及投资研究报告:中美流媒体差异奈飞全球化商业化-worldreportmarket
- 2025-2030中国风洞行业市场发展趋势与前景展望战略研究报告
- 生产过程危险和有害因素之4:“管理因素”辨识应用示例清单(雷泽佳-2025A0)
评论
0/150
提交评论