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 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 学习目标 1. 了解软件开发的现状与发展趋势,了解企业级应用的特点 2. 掌握 Java EE 的概念和规范,掌握 Java EE 容器、组件和 通信协议的类型和功能 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 大纲 软件开发现状 EE 组件 组件间通信协议 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 ���� 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 大纲 软件开发现状 Java EE 概述 Java EE 容器 Java EE 组件 组件间通信协议 软件开发现状 面向 Internet 开发企业级0 码力 | 40 页 | 1.89 MB | 1 年前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . 199 15 Java EE 体系结构 200 15.1 软件开发的现状 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 15.1.1 软件开发现状 . . . . . . . . . . . . . . . . . . . . . . . . . . Sun 公司和微软在旷日持久的 Java 官司中和解,后者支付前者高达 10 亿美元的 补偿费。 2006 共同创始人麦克尼利辞去 CEO 一职,舒瓦茨担任 CEO 后尝试将 Sun 从设备公 司向软件服务型公司转型,但不成功。 2010 Sun 公司被甲骨文公司收购。 Java 语言的版本迭代历程如图1.1所示。 1.1.2 Java 技术的特点 Java 具备以下技术特点: 面向对象 和关键字 this,特别了解其指代的对象,编程中的用法 授课方式 理论课: 多媒体教学、程序演示 实验课: 上机编程 31 4.1. 包 � 4 � 教学内容 4.1 包 为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题以及进行访问 控制,Java 引入包(package)机制,即将若干功能相关的类逻辑上分组打包到一起, 提供类的多重类命名空间。 图 4.1 Java 包0 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro参考手册中文版User"一词通常和人类相关联。在安全 界,术语"Subject"可以表示为人类,而且可是第三方进程,cron job,daemon account,或其他类似的东西。它仅仅 意味着“该事物目前正与软件交互”。对于大多数的意图和目的,你可以把 Subject 看成是 Shiro 的"User"概念。 getSubject()在一个独立的应用程序中调用,可以返回一个在应用程序特定位置的基于用户数据的 的设计目标是通过直观和易于使用来简化应用程序安全。Shiro 的核心设计体现了大多数人们是如何考 虑应用程序安全的——在某些人(或某些事)与应用程序交互的背景下。 应用软件通常是基于用户背景情况设计的。也就是说,你将经常设计用户接口或服务 API,基于一个用户将要(或 应该)如何与该软件交互。例如,你可能会说,“如果用户与我的应用程序交互的用户已经登录,我将显示一个他 们能够点击的按钮来查看他们的帐户信息。如果他们没有登录,我将显示一个登录按钮。” 一个登录按钮。” 这个简单的陈述表明应用程序很大程度上的编写是为了满足用户的要求和需要。即使该“用户”是另一个软件系统 而不是一个人类,你仍然得编写代码来响应行为,基于当前与你的软件进行交互的人或物。 Shiro 在它自己的设计中体现了这些概念。通过匹配那些对于软件开发人员来说已经很直观的东西,Apache Shiro 几 乎在任何应用程序保持了直观和易用性。 High-Level0 码力 | 92 页 | 1.16 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译user)”,这里并不称之为“User”因为“User”这个词通常和一个人相关,但在安全认证 中,“Subject”可以认为是一个人,也可以认为是第三方进程、时钟守护任务、守护进程帐户 或者其它。它可简单描述为“当前和软件进行交互的事件”,在大多数情况下,你可以认为它是 一个“人(User)”。 在一个独立的程序中调用 getSubject() 会在程序指定位置返回一个基于用户数据的 Subject, 在服务器环境(如 你会经常设计用户接口或服务api基于用户如何 (或应该)与软件交互。 例如,你可能会说,“如果我的应用程序的用户交互是登录,我将展示他们 可以单击一个按钮来查看他们的帐户信息。 如果不登录,我将展示一个注册按钮。” 这个陈述例子指出我们开发程序很大程度上是为了满足用户的需求,即使“用户(User)”是另 外一个软件系统而并非一个人,你仍然要写代码对当前与你软件交互的谁(或者什么)的动 作进行回应。 Shiro Shiro 从它的设计中表现了这种理念,为了与软件开发者的直觉相配合,Apache Shiro 在几乎 所有程序中保留了直观和易用的特性。 High-Level Overview 高级概述 在概念层,Shiro 架构包含三个主要的理念:Subject,SecurityManager和 Realm。下面的图 展示了这些组件如何相互作用,我们将在下面依次对其进行描述。 Subject:就像我们0 码力 | 196 页 | 2.34 MB | 1 年前3
MySQL ZIP Archive版本安装说明MySQL安装路径 C:\MySQL,请视自己计算机情况选择安装目录。 2 软件下载 MySQL下载地址:https://dev.mysql.com/downloads/mysql/ 下载版本:Windows (x86, 64-bit), ZIP Archive,mysql-5.7.20-winx64.zip 3 软件安装 使用管理员权限打开命令提示符,步骤:开始菜单选择Windows系统 - - 命令提示符 - 在其上点击右键选择 - 更多 - 以管 理员身份运行。 定位到C盘根目录,创建MySQL目录。 将所下载的MySQL软件压缩包mysql-5.7.20-winx64.zip放在MySQL目录下,并使用解压缩工具(WinRAR等)解压 缩;cd到解压目录内,新建my.ini文件,并将以下内容拷贝到my.ini文件内。 [mysql] # 设置mysql客户端默认字符集 5 ⼩小结 MySQL数据库软件主要核心包含两个部分: mysqld.exe MySQL数据库服务器,以服务的形式注册到Windows系统,可以通过命令行工具net、Windows服务管理窗口 管理该服务的启动和停止;如果你要访问数据库资源,必须保证mysqld服务正确启动。 mysql.exe MySQL数据库客户端,属于命令行交互形式的MySQL客户端软件,与其他图形化客户端例如phpmyadmin等功0 码力 | 4 页 | 756.23 KB | 1 年前3
使用 TEX 写文档DVI(DeVice Independent)文件与输出设备无关; 存储简单方便 TEX 文档是 ASCII 码的文本文件; 丰富文档资源 CTAN, TUG, CTeX, etc. 免费开源软件 Free, Freedom, Open, Share; · · · · · · . . . KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX DVI(DeVice Independent)文件与输出设备无关; 存储简单方便 TEX 文档是 ASCII 码的文本文件; 丰富文档资源 CTAN, TUG, CTeX, etc. 免费开源软件 Free, Freedom, Open, Share; · · · · · · . . . KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX DVI(DeVice Independent)文件与输出设备无关; 存储简单方便 TEX 文档是 ASCII 码的文本文件; 丰富文档资源 CTAN, TUG, CTeX, etc. 免费开源软件 Free, Freedom, Open, Share; · · · · · · . . . KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX0 码力 | 65 页 | 1.07 MB | 1 年前3
Nacos架构&原理
年开源是否晚了?是否要做?如何定位和打造竞争力? 相比当时比较流行的竞品,我们确实开源晚了⼀些,但是相比于整个行业其实不晚,因为当时云原 生和微服务整个普及度还很低;还有我主管当时还强调两个点,第⼀个点是我们当时是⼀个闭源的 ⼀个软件,经常有业务方跳出来说你看 Eureka 多好,你们哪里哪里不行,如果我们不开源去打⼀ 打,怎么更好的证明我们更好,还有⼀个点是当时我们有商业化产品的,虽然我们知道我们更好, 但是奈何用户选择的是 在阿里巴巴起源于 2008 年五彩石项目(完成微服务拆分和业务中台建设),成长于十年双 十⼀的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。 随着云计算兴起,2018 年我们深刻感受到开源软件行业的影响,因此决定将 Nacos(阿里内部 Configserver/Diamond/ Vipserver 内核) 开源,输出阿里十年的沉淀,推动微服务行业发展,加速企业数字化转型! 简介 < 服务的发现,此时服务的 IP 列表通常配置在 nginx 或者 LVS。后来出现了 RPC 服务,服务的上下线更加频繁,人们开始寻求⼀种能够支持动态上下 线并且推送 IP 列表变化的注册中心产品。 互联网软件行业普遍热捧开源产品,因为开源产品代码透明、可以参与共建、有社区进行交流和学 习,当然更重要的是它们是免费的。个人开发者或者中小型公司往往会将开源产品作为选型首选。 Zookeeper 是⼀款经0 码力 | 326 页 | 12.83 MB | 9 月前3
Java 应用与开发 - Java GUI 编程中国海洋大学 October 30, 2018 大纲 GUI 组件及布局 GUI 事件处理 Applet Swing Swing 典型组件(课后自学) 学习目标 1. 了解用 Java 开发桌面软件图形用户界面的常用工具集 2. 掌握 AWT 的常用组件和视觉控制 3. 深入理解 GUI 事件处理机制 4. 了解 Applet,特别是其历史渊源,了解与 Applet 类似的技 术 5. User Interface),Java 主要分为 AWT 和 Swing 两大系列 GUI API。 O 抽象窗口工具集 AWT (Abstract Window Toolkit) O 相关软件包 java.awt 包 提供基本 GUI 组件、视觉控制和绘图工具 API。 java.awt.event 包 提供 Java GUI 事件处理 API。 大纲 GUI 组件及布局 GUI 事件处理0 码力 | 73 页 | 876.31 KB | 1 年前3
Hello 算法 1.0.0b2 Java版当然,由于结点需要额外存储指针,因此 链表结点比数组元素占用更大。 综上,我们不能简单地确定哪种实现更加省内存,需要 case‑by‑case 地分析。 5.1.4. 栈典型应用 ‧ 浏览器中的后退与前进、软件中的撤销与反撤销。每当我们打开新的网页,浏览器就将上一个网页执行 入栈,这样我们就可以通过「后退」操作来回到上一页面,后退操作实际上是在执行出栈。如果要同时 支持后退和前进,那么则需要两个栈来配合实现。 双向队列同时表现出栈与队列的逻辑,因此可以实现两者的所有应用,并且提供更高的自由度。 我们知道,软件的“撤销”功能需要使用栈来实现;系统把每一次更改操作 push 到栈中,然后通过 pop 实现 撤销。然而,考虑到系统资源有限,软件一般会限制撤销的步数(例如仅允许保存 50 步),那么当栈的长度 > 50 时,软件就需要在栈底(即队首)执行删除,但栈无法实现,此时就需要使用双向队列来替代栈。注 意,“0 码力 | 197 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b4 Java版然而,由于链表节点需要额外存储指针,因此链表节点占用的空间相对较大。 综上,我们不能简单地确定哪种实现更加节省内存,需要针对具体情况进行分析。 5.1.4. 栈典型应用 ‧ 浏览器中的后退与前进、软件中的撤销与反撤销。每当我们打开新的网页,浏览器就会将上一个网页执 行入栈,这样我们就可以通过「后退」操作回到上一页面。后退操作实际上是在执行出栈。如果要同时 支持后退和前进,那么需要两个栈来配合实现。 双向队列兼具栈与队列的逻辑,因此它可以实现这两者的所有应用场景,同时提供更高的自由度。 我们知道,软件的“撤销”功能通常使用栈来实现:系统将每次更改操作 push 到栈中,然后通过 pop 实现撤 销。然而,考虑到系统资源的限制,软件通常会限制撤销的步数(例如仅允许保存 50 步)。当栈的长度超过 50 时,软件需要在栈底(即队首)执行删除操作。但栈无法实现该功能,此时就需要使用双向队列来替代栈。 请0 码力 | 342 页 | 27.39 MB | 1 年前3
共 22 条
- 1
- 2
- 3













