Java 应用系统开发 - ServletContext 和 Web 配置
应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 Java 应用系统开发 ServletContext 和 Web 配置 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 November 26, 2018 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 学习目标 ServletContext。 2. 了解 Web 应用的配置方法。 3. 掌握 MVC 模式 Web 开发中发挥核心作用的转发,区别转 发与重定向。 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 大纲 Web 应用环境对象 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 接下来⋯ Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 Web 应用环境对象 将 Web 应用部署到服务器上,启动 Web0 码力 | 33 页 | 668.91 KB | 1 年前3Apache Shiro 1.2.x Reference Manual 中文翻译
Configuration 配置 II. Core 核心 5. Authentication 认证 6. Authorization 授权 6.1. Permissions 权限 7. Realms 8. Session Management 9. Cryptography 密码 III. Web Applications 10. Web 10.1. Configuration 配置 10.2 实例。 Configuration 配置 虽然我们可以直接对 SecurityManager 实例化,但在 Java 代码中对Shiro 的 SecurityManager 所须的选项和内部组件进行配置会让人感觉有点小痛苦--而将这些 SecurityManager 配置用一个灵活的配置文件实现就会简单地多。 为此,Shiro 默认提供了一个基本的 INI 配置文件的解决方案,人们已经对庞大的 懂的示例明白 INI 在对简单对象进行配置的时候是非常有效率的,比如 SecurityManager 多种配置选择 Apache Shiro 1.2.x Reference Manual 中文翻译 10 2. Tutorial 教程 Shiro 的 SecurityManager 的实现和其所依赖的组件都是 JavaBean,所以可以用多种形式对 Shiro 进行配置,比如XML(Spring, JBoss0 码力 | 196 页 | 2.34 MB | 1 年前3Apache Shiro参考手册中文版
是很有益处的。因此,在我们的教程应用程序中第一 件要做的事情就是配置 SecurityManager 实例。 Configuration 虽然我们能够直接实例化一个 SecurityManager 类,但 Shiro 的 SecurityManager 实现有足够的配置选项及内置组件 使得在 Java 源代码做这件事情变得较为痛苦——如果使用一个灵活的基于文本的配置格式来配置 SecurityManager, 那么这将是一件很容易的事情。 那么这将是一件很容易的事情。 为此,Shiro 通过基于文本的 INI 配置文件提供了一个默认的"共性(common denominator)"解决方案。近来人们已 经相当厌倦了使用笨重的 XML 文件,且 INI 文件易于阅读,使用简单,依赖性低。你稍后将会看到有了对象导航图 的简单理解,INI 文件能够有效地被用来配置简单的对象图,如 SecurityManager。 Many Configuration 的。这允许 Shiro 能够与几乎任何配置格式如 XML(Spring,JBoss,Guice 等等),YAML,JSON,Groovy Builder markup,以及更多配置被一起配置。INI 文件只是 Shiro 的“共性”格式,他 它允许任何环境下的配置,除非其他选项不可用。 shiro.ini 因此,我们将为这个简单的应用程序使用 INI 文件来配置 Shiro SecurityManager。首先,在0 码力 | 92 页 | 1.16 MB | 1 年前3Nacos架构&原理
Nacos 配置模型 21 Nacos 内核设计 28 Nacos ⼀致性协议 28 Nacos 自研 Distro 协议 38 Nacos 通信通道 42 Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 281 Eureka 平滑迁移 Nacos 方案 281 Nacos 打通 CMDB 实现就近访问 288 跨注册中心服务同步实践 298 配置管理最佳实践 310 Nacos 限流最佳实践 310 Nacos 无缝支持 confd 配置管理 320 结语 326 结语 326 作者 < 6 作者 李艳林(彦林) 李晓双 孙立(涌月) 柳遵飞(翼严) 廖春涛(春少) 和互联网化所带来的架构扩展性和面对海量用户请求的技术挑战。这里面其中有⼀个关键点是软负 载。因为整个分布式架构需要有⼀个软负载来协作各个节点之间的服务在线离线状态、数据⼀致性、 以及动态配置数据的推送。这里面最简单的需求就是将⼀个配置准时的推送到不同的节点。即便如 此简单需求,随着业务规模变大也会变的非常复杂。如何能将数据准确的在 3 秒钟之内推送到每⼀ 个计算节点,这是当时提出的⼀个要求,围绕这个要求,系统要做大量的研发和改造,类似的这种0 码力 | 326 页 | 12.83 MB | 9 月前3Java 应用与开发 - 类加载和反射
反射最重要的用途就是开发各种通用框架 很多框架(比如 Spring、Strut)都是基于配置化的,比如通过 XML 文件配置 JavaBean 和 Action。为了保证框架的通用性, 需要根据配置文件加载不同的对象或类,调用不同的方法,这个 时候就必须用到反射——运行时动态加载需要加载的对象。 一个例子 Struts2 框架开发中会在 struts.xml 里配置 Action 1index.jsp 3 XML 配置文件与 Action 实现建立了映射关系。用户请求 login.action 会被 StrutsPrepareAndExecuteFilter 拦截并解析 struts.xml 文件,检 索其中 name java.ext.dirs 系统属性指定的目录中的 JAR 类的包。 System ClassLoader系统(应用)类加载器,负责在 JVM 启动时,加载来自 java 中的 -classpath 选项或 java.class.path 系统属性,或 CLASSPATH 环境变 量所指定 JAR 包和类路径。程序可以通过 ClassLoader 的静态方法 getSystemClassLoader()login.jsp 40 码力 | 46 页 | 714.40 KB | 1 年前3Linux Docker Mess
n Upstart基于事件机制,系统的所有服务、任务都是由事件驱动的。 System V 启动流程依赖/etc/inittab,init进程启动后第一时间找inittab,根据inittab中的配置初 始化系统,设置系统runlevel及进入各runlevel对应要执行的命令。 假设当前inittab中设置的默认runlevel是5,则init会运行/etc/init.d/rc 5命令,该命令会 统服务的启动、停止也可以作为事件源触发其他服务。并且事件并不一定得由系统内部 产生,用户可以手工的键入start/stop [Service]产生事件来启动/终止服务。 系统服务基于/etc/init中的配置确定自身应该何时启动和终止。 man upstart-events Ubuntu启动流程分析 n Ubuntu并不是完全使用的是Upstart方式的初始化,由于6.10之前的版本采用的SysV 进入/etc/init目录,会发现几个跟rc有关的配置文件: rc.conf rc-sysinit.conf rcS.conf n rc-sysinit在startup事件发生时被启动 n rc在系统runlevel变化时被启动 n rcS在系统runlevel为S时启动 Ubuntu启动流程分析 n 采用Upstart方式启动的服务则在/etc/init/目录中有属于自己的一份配置文件,终端 下键入: initctl0 码力 | 77 页 | 7.40 MB | 1 年前3Hello 算法 1.1.0 Java版
元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要0 码力 | 378 页 | 18.47 MB | 1 年前3Hello 算法 1.0.0b5 Java版
元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。比如在某台计算机中,算法 A 的 运行时间比算法 B 短;但在另一台配置不同的计算机中,我们可能得到相反的测试结果。这意味着我们需要 在各种机器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费 因为它们非常适合用分治思想进行分 析。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想要准确预估一段代码的运行时间,应该如何操作 呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 第 2 章 复杂度分析 hello‑algo.com 26 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作0 码力 | 376 页 | 30.69 MB | 1 年前3Hello 算法 1.0.0 Java版
元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够反映真 实情况,但也存在较大的局限性。 一方面,难以排除测试环境的干扰因素。硬件配置会影响算法的性能。比如在某台计算机中,算法 A 的运行 时间比算法 B 短;但在另一台配置不同的计算机中,可能得到相反的测试结果。这意味着我们需要在各种机 器上进行测试,统计平均效率,而这是不现实的。 另一方面,展开完整测试非常耗费资源。 者的优劣并根据情境选择合适的方 法至关重要。 2.3 时间复杂度 运行时间可以直观且准确地反映算法的效率。如果我们想准确预估一段代码的运行时间,应该如何操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns ,乘法操作 * 需要 10 ns ,打印操作 print() 需要0 码力 | 376 页 | 17.59 MB | 1 年前3Hello 算法 1.0.0b4 Java版
元,则收银员需要给我们找 31 元。他会很自然地完成以下思考: 1. 可选项是比 31 元面值更小的货币,包括 1 , 5 , 10 , 20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 方法就是找一台计算机,运行这两个算法,并监控记录它们的运行时间和内存占用情况。这种评估方式能够 反映真实情况,但也存在较大局限性。 难以排除测试环境的干扰因素。硬件配置会影响算法的性能表现。例如,在某台计算机中,算法 A 的运行时 间比算法 B 短;但在另一台配置不同的计算机中,我们可能得到相反的测试结果。这意味着我们需要在各种 机器上进行测试,而这是不现实的。 展开完整测试非常耗费资源。随着输入数据量的变 2.2. 时间复杂度 2.2.1. 统计算法运行时间 运行时间可以直观且准确地反映算法的效率。然而,如果我们想要准确预估一段代码的运行时间,应该如何 操作呢? 1. 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 2. 评估各种计算操作所需的运行时间,例如加法操作 + 需要 1 ns,乘法操作 * 需要 10 ns,打印操作需要 5 ns 等。 30 码力 | 342 页 | 27.39 MB | 1 年前3
共 30 条
- 1
- 2
- 3