Java 应用与开发 - Java EE 体系结构大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 Java 应用与开发 Java EE 体系结构 王晓东 wangxiaodong@ouc.edu.cn 计算机科学与技术系 November 6, 2018 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 参考书目 1. 吕海东,张坤编著,Java 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议0 码力 | 40 页 | 1.89 MB | 1 年前3
Hello 算法 1.0.0 Java版力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 i 目 录 第 0 章 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 第 3 章 数据结构 51 3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2 基本数据类型0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.1.0 Java版力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge 动画在 PDF 内的展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0b4 Java版的挑战。 如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,虽然不一定正确, 但至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 i 目 录 0. 前言 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3. 数据结构 37 3.1. 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2. 基本数据类型0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b5 Java版精力,厚重的书籍往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书找到了你。本书是我对此问题的给出的答案,即使不是最优解, 也至少是一次积极的尝试。这本书虽然不足以让你直接拿到 Offer ,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 致谢 本书在开源社区众多贡献者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 第 3 章 数据结构 49 3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.2 基本数据类型0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge PDF 内的展示效果受限,可访问 www.hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小0 码力 | 379 页 | 18.48 MB | 10 月前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . . . . . . . . . . . . 16 2.2.2 分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.3 循环结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 课后习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 15 Java EE 体系结构 200 15.1 软件开发的现状 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 15.1.1 软件开发现状 2.1 Servlet 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 16.2.2 Servlet 体系结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 16.3 Servlet 编程 . . . . . . . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3
Java 应用与开发 - 类加载和反射类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射机制 ▶ 程序运行时,允许改变程序结构或变量类型,这种语言称为 动态语言。从这个观点看,Perl、Python、Ruby 是动态语 言,C++、Java、C# 不是动态语言。 ▶ 但是 Java 有着一个非常突出的动态相关机制:反射 类加载器 使用反射生成并操作对象 本节习题 类的连接 类被加载生成对应的 Class 对象后,进入连接阶段,负责把类的 二进制数据合并到 JRE 中。 1. 验证:用于检验被加载的类是否有正确的内部结构,并和其 它类协调一致。 2. 准备:负责为类的静态属性分配内存,并设置默认初始值。 3. 解析:将类的二进制数据中的符号引用替换成直接引用。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 类加载器层次结构 JVM 启动时,会形成由三个类加载器组成的初始类加载器层次 结构: ▶ Bootstrap ClassLoader ´ 根类加载器 ▶ Extension ClassLoader ´ 扩展类加载器 ▶ System ClassLoader ´ 系统类加载器 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 类加载器层次结构 Bootstrap0 码力 | 46 页 | 714.40 KB | 1 年前3
Apache Shiro参考手册中文版的,如果一切都集 中到一个单一的实现类。 为了简化配置并启用灵活配置/可插性,Shiro 的实现都是高度模块化设计——由于如此的模块化,SecurityManager 实现(以及它的类层次结构)并没有做很多事情。相反,SecurityManager 实现主要是作为一个轻量级的“容器”组 件,委托计划所有的行为到嵌套/包裹的组件。这种“包装”的设计体现在上面的详细构架图。 虽然组件实际上执行逻辑,但 以下是两个关于如何基于 INI 配置构建 SecurityManager 的例子。 SecurityManager from an INI resource 我们能够从一个 INI 资源路径创建 SecurityManager 实例。我们可以从文件系统,classpath,或分别拥有前缀 file:, classpath:,或 url:的 URL 中获取资源。本例采用 Factory 提取 但是如果登录尝试失败会发生什么呢?例如,如果终端用户提供了不正确的密码,或这访问系统的次数太多, 亦或是他们的帐户被锁定? Shiro 拥有丰富的运行时 AuthenticationException 层次结构,可以指出尝试失败的确切原因。你可以用一个 try/catch 块将 login 方法包围起来,然后捕捉任何你期望的异常并进行相应的反应。例如: try { currentUser.login(token);0 码力 | 92 页 | 1.16 MB | 1 年前3
跟我学Shiro - 张开涛securityManager,它是起始的根; 2、IniSecurityManagerFactory 是创建 securityManager 的工厂,其需要一个 ini 配置文件路径, 其支持“classpath:”(类路径)、“file:”(文件系统)、“url:”(网络)三种路径格式, 默认是文件系统; 3、接着获取 SecuriyManager 实例,后续步骤和之前的一样。 从如上可以看出 Shiro INI 配置方式本身提供了一个简单的 谓的显示角色;其 实权限应该对应到资源(如菜单、URL、页面按钮、Java 方法等)中,即应该将权限字符 串存储到资源实体中,但是目前为了简单化,直接提取一个权限表,【综合示例】部分会 使用完整的表结构。 用户实体包括:编号(id)、用户名(username)、密码(password)、盐(salt)、是否锁定(locked); 是否锁定用于封禁用户使用,其实最好使用 Enum 字段存储,可以实现更复杂的用户状态 configPath 指定 ini 配置文件位置,默认是先从/WEB-INF/shiro.ini 加载,如果没有 就默认加载 classpath:shiro.ini,即默认相对于 web 应用上下文根路径; 3、也可以通过如下方式直接内嵌 ini 配置文件内容到 web.xml 2、Shiro 1.2 及以后版本的配置方式 从 Shiro 1.2 开始引入了0 码力 | 219 页 | 4.16 MB | 10 月前3
共 33 条
- 1
- 2
- 3
- 4













