Java 应用与开发 - Java EE 监听器编程大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 Java 应用与开发 Java EE 监听器编程 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 3, 2018 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext ServletContext 对象属性监听器 本节习题 学习目标 1. 理解监听器的概念。 2. 掌握 Java EE 的监听器的主要功能和包含的类型。 3. 掌握监听器的编程和配置,学会编写监听器代码。 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 接下来⋯ 监听器概述 Java EE 监听器类型 ServletContext 对象监听器 ServletContext 对象属性监听器 本节习题 大纲 监听器概述 Java0 码力 | 22 页 | 549.84 KB | 1 年前3
Java 应用与开发 - Java 技术概述及开发环境1991 1992 由PatrickNaughton和James Gosling主持 目标是设计一种“轻型”的计算机语言以运行在联网的小型家电上,要求其运行 和开销足够小并能在不同厂商的处理器上运行(跨平台) 90年代中期 Java语言之父 1995.5 Green项目 1996.1 1997.2 1998.12 Green所设计的语言命名为Oak(后改名为Java),并推出第一种家庭娱乐设备。 a技术诞生,发布HotJava浏览器。 一次编写、随处运行 Sun发布Java的第1版。并开始提供和维护完备的Java开发工具集和代码库。 Java JDK JRE Java1 Java1.1 Java1.2 Java2 J2SE J2ME J2EE 标准版,开发适用于PC上运行的程序 微缩版,开发适用于手机等嵌入式设备的程序 企业版,开发适用于服务器端的程序 引入内部类和即时编译(Just-In-Time 分布式 可靠性 多线程 网络编程 编译和解释并存 大纲 Java 技术概述 Java 平台核心机制 Java 开发环境 Java 基本开发流程 Java 技术的特点 面向对象 平台无关性 分为源代码级(需重新编译源代码,如 C/C++) 和目标代码级 (Java) 平台无关。 分布式 可靠性 多线程 网络编程 编译和解释并存 大纲 Java 技术概述 Java 平台核心机制0 码力 | 33 页 | 1.17 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东118 10.4.1 Iterator 接口概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.4.2 使用迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 10.5 集 . . . . . . . . . . . . . 11.1.5 Panel 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.1.6 布局管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 11.1.7 容器的嵌套使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.2.4 GUI 事件及相应监听器接口 . . . . . . . . . . . . . . . . . . . . . . 136 11.2.5 多重事件监听器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.20 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro参考手册中文版以及更多——全部集成到紧密结合的易于使用的 API 中。 Shiro 视图在所有应用程序环境下实现这些目标——从最简单的命令行应用程序到最大的企业应用,不强制依赖其 他第三方框架,容器,或应用服务器。当然,该项目的目标是尽可能地融入到这些环境,但它能够在任何环境下立 即可用。 Apache Shiro Features Apache Shiro 是一个拥有许多功能的综合性的程序安全框架。下面的图表展示了 把 Subject 看成是 Shiro 的"User"概念。 getSubject()在一个独立的应用程序中调用,可以返回一个在应用程序特定位置的基于用户数据的 Subject,并且在服 务器环境中(例如,Web 应用程序),它获取的 Subject 是基于关联了当前线程或传入请求的用户数据的。 现在你拥有了一个 Subject,你能拿它来做什么? 如果你想在应用程序的当 SecurityManager 处理所有繁重的 Subject 安全操作。这反映在上面的基本流程图。 Realms:Realms 担当 Shiro 和你的应用程序的安全数据之间的“桥梁”或“连接器”。当它实际上与安全相 关的数据如用来执行身份验证(登录)及授权(访问控制)的用户帐户交互时,Shiro 从一个或多个为应用程 序配置的 Realm 中寻找许多这样的东西。 在这个意义上说,Realm0 码力 | 92 页 | 1.16 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译Me”服务,获取用户关联信息而无需登录 … 等等——都集成到一个有凝聚力的易于使用的API。 Shiro 致力在所有应用环境下实现上述功能,小到命令行应用程序,大到企业应用中,而且不 需要借助第三方框架、容器、应用服务器等。当然 Shiro 的目的是尽量的融入到这样的应用环 境中去,但也可以在它们之外的任何环境下开箱即用。 Apache Shiro Features 特性 Apache Shiro是一个全面的、 或者其它。它可简单描述为“当前和软件进行交互的事件”,在大多数情况下,你可以认为它是 一个“人(User)”。 在一个独立的程序中调用 getSubject() 会在程序指定位置返回一个基于用户数据的 Subject, 在服务器环境(如 web 程序)中,它将获取一个和当前线程或请求相关的基于用户数据的 Subject。 现在你得到了Subject,你可以利用它做什么呢? 如果你针对该用户希望一些事情在程序当前会话期内可行,你可以获取他们的 SecurityManager 管理如何使用 Realms获取 Subject 实例所代表的安全和身份信息。 Detailed Architecture 详细架构 下面的图表展示了 Shiro 的核心架构思想,下面有简单的解释。 Subject (org.apache.shiro.subject.Subject) 正在与软件交互的一个特定的实体“view”(用户、第三方服务、时钟守护任务等)。 Apache Shiro0 码力 | 196 页 | 2.34 MB | 1 年前3
Java 应用与开发 - 面向对象编程进阶工厂方法模式、抽象工厂方法模式、生成器模式、原型模式和单 例模式 行为型模式 涉及怎样合理的设计对象之间的交互通信,以及合理 为对象分配职责,让设计富有弹性、易维护、易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、 备忘录模式、观察者模式、状态模式、策略模式、模板方法模式 和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关 的结构型模式涉及如何合理使用继承机制,和对象有关的结构型 工厂方法模式、抽象工厂方法模式、生成器模式、原型模式和单 例模式 行为型模式 涉及怎样合理的设计对象之间的交互通信,以及合理 为对象分配职责,让设计富有弹性、易维护、易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、 备忘录模式、观察者模式、状态模式、策略模式、模板方法模式 和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关 的结构型模式涉及如何合理使用继承机制,和对象有关的结构型 工厂方法模式、抽象工厂方法模式、生成器模式、原型模式和单 例模式 行为型模式 涉及怎样合理的设计对象之间的交互通信,以及合理 为对象分配职责,让设计富有弹性、易维护、易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、 备忘录模式、观察者模式、状态模式、策略模式、模板方法模式 和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关 的结构型模式涉及如何合理使用继承机制,和对象有关的结构型0 码力 | 49 页 | 659.74 KB | 1 年前3
Hello 算法 1.1.0 Java版多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 0.2.3 在代码实践中加深理解 本书的配套代码托管在 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输 图 2‑4 递归调用深度 在实际中,编程语言允许的递归深度通常是有限的,过深的递归可能导致栈溢出错误。 2. 尾递归 有趣的是,如果函数在返回前的最后一步才进行递归调用,则该函数可以被编译器或解释器优化,使其在空 间效率上与迭代相当。这种情况被称为尾递归(tail recursion)。 ‧ 普通递归:当函数返回到上一层级的函数后,需要继续执行代码,因此系统需要保存上一层调用的上下 文。0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版5 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画以图解形式展示,而文字则作为解释与补充。 如果你在阅读本书时,发现某段内容提供了如图 0‑2 所示的动画图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 0.2.3 在代码实践中加深理解 本书的配套代码托管在 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入 数据量较小时,算法 A 的运行时间比算法 B 短;而在输 图 2‑4 递归调用深度 在实际中,编程语言允许的递归深度通常是有限的,过深的递归可能导致栈溢出错误。 2. 尾递归 有趣的是,如果函数在返回前的最后一步才进行递归调用,则该函数可以被编译器或解释器优化,使其在空 间效率上与迭代相当。这种情况被称为「尾递归 tail recursion」。 ‧ 普通递归:当函数返回到上一层级的函数后,需要继续执行代码,因此系统需要保存上一层调用的上下 文。0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b5 Java版注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 要通过动画和图解形式展示,而文字则作为动画和图片的解释与补充。 如果你在阅读本书时,发现某段内容提供了图 0‑2 所示的动画或图解,请以图为主、以文字为辅,综合两者 来理解内容。 图 0‑2 动画图解示例 第 0 章 前言 hello‑algo 图 2‑4 递归调用深度 在实际中,编程语言允许的递归深度通常是有限的,过深的递归可能导致栈溢出报错。 2. 尾递归 有趣的是,如果函数在返回前的最后一步才进行递归调用,则该函数可以被编译器或解释器优化,使其在空 间效率上与迭代相当。这种情况被称为「尾递归 tail recursion」。 ‧ 普通递归:当函数返回到上一层级的函数后,需要继续执行代码,因此系统需要保存上一层调用的上下 文。 普通递归:求和操作是在“归”的过程中执行的,每层返回后都要再执行一次求和操作。 ‧ 尾递归:求和操作是在“递”的过程中执行的,“归”的过程只需层层返回。 图 2‑5 尾递归过程 请注意,许多编译器或解释器并不支持尾递归优化。例如,Python 默认不支持尾递归优化,因此即使函数 是尾递归形式,但仍然可能会遇到栈溢出问题。 3. 递归树 当处理与“分治”相关的算法问题时,递归往往比迭代的思路更0 码力 | 376 页 | 30.69 MB | 1 年前3
JAVA 应用与开发 - 高级类特性思路二 ���������接口������������的类���实 现��接口�的 open() � close()�也许这个类根本就不具备 open() 和 close() 这两个功能,比如火灾报警器。����� 18 29 ������������������� O 思路一 ���������抽象类������来��继承��抽象类的 �类���������但是有的门并不一定需要具备报警功能。 思路二 ���������接口������������的类���实 现��接口�的 open() � close()�也许这个类根本就不具备 open() 和 close() 这两个功能,比如火灾报警器。����� 18 29 ������������������� O 思路一 ���������抽象类������来��继承��抽象类的 �类���������但是有的门并不一定需要具备报警功能。 ���������接口������������的类���实 现��接口�的 open() � close()� 也许这个类根本就不具备 open() 和 close() 这两个功能,比如火灾报警器。����� 18 29 ������������������� O 思路一 ���������抽象类������来��继承��抽象类的 �类���������但是有的门并不一定需要具备报警功能。0 码力 | 61 页 | 677.55 KB | 1 年前3
共 45 条
- 1
- 2
- 3
- 4
- 5













