 跟我学Shiro - 张开涛Shiro——http://jinnianshilongnian.iteye.com/ 10 登录/退出 1、首先准备一些用户身份/凭据(shiro.ini) 此处使用 ini 配置文件,通过[users]指定了两个主体:zhang/123、wang/123。 2、测试用例(com.github.zhangkaitao.shiro.chapter2.LoginLogoutTest) IniSecurityManagerFactory 并指定一个 ini 配置文件来创建一个 SecurityManager 工厂; [users] zhang=123 wang=123 @Test public void testHelloworld() { //1、获取 SecurityManager 工厂,此处使用 Ini 配置文件初始化 SecurityManager Factory 跟我学Shiro - 张开涛Shiro——http://jinnianshilongnian.iteye.com/ 10 登录/退出 1、首先准备一些用户身份/凭据(shiro.ini) 此处使用 ini 配置文件,通过[users]指定了两个主体:zhang/123、wang/123。 2、测试用例(com.github.zhangkaitao.shiro.chapter2.LoginLogoutTest) IniSecurityManagerFactory 并指定一个 ini 配置文件来创建一个 SecurityManager 工厂; [users] zhang=123 wang=123 @Test public void testHelloworld() { //1、获取 SecurityManager 工厂,此处使用 Ini 配置文件初始化 SecurityManager Factory- 配置文件,以后需要改成如数据库存储,且密码需要加密存储; 2、用户身份 Token 可能不仅仅是用户名/密码,也可能还有其他的,如登录时允许用户名/ 邮箱/手机号同时登录。 跟我学 Shir 0 码力 | 219 页 | 4.16 MB | 10 月前3
 基于 Java EE 的企业应用系统设计 - Spring MVC 01failed. <% } %> 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百0 码力 | 67 页 | 792.43 KB | 1 年前3 基于 Java EE 的企业应用系统设计 - Spring MVC 01failed. <% } %> 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百0 码力 | 67 页 | 792.43 KB | 1 年前3
 Nacos架构&原理
通。  通知系统:核心数据变更,或者操作,方便通过 SMS 系统打通,通知到对应人数据变更。 21 > Nacos 架构 Nacos 配置模型 背景 在单体架构的时候我们可以将配置写在配置文件中,但有⼀个缺点就是每次修改配置都需要重启服 务才能生效。 当应用程序实例比较少的时候还可以维护。如果转向微服务架构有成百上千个实例,每修改⼀次配 置要将全部实例重启,不仅增加了系统的不稳定性,也提高了维护的成本。 配置系统的日志输出级别(logLevel = INFO | WARN | ERROR) 就是⼀个配置项。 配置集(Configuration Set) ⼀组相关或者不相关的配置项的集合称为配置集。在系统中,⼀个配置文件通常就是⼀个配置集, 包含了系统各个方面的配置。例如,⼀个配置集可能包含了数据源、线程池、日志级别等配置项。 命名空间(Namespace) 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 "test-group", Content: "hello world!", }) 167 > Nacos 生态 参数说明:  DataId: 配置文件 DataID  Group: 配置文件分组名  Content: 配置文件内容 配置监听 client.ListenConfig(vo.ConfigParam{ DataId: "test-data", Group: "test-group"0 码力 | 326 页 | 12.83 MB | 9 月前3 Nacos架构&原理
通。  通知系统:核心数据变更,或者操作,方便通过 SMS 系统打通,通知到对应人数据变更。 21 > Nacos 架构 Nacos 配置模型 背景 在单体架构的时候我们可以将配置写在配置文件中,但有⼀个缺点就是每次修改配置都需要重启服 务才能生效。 当应用程序实例比较少的时候还可以维护。如果转向微服务架构有成百上千个实例,每修改⼀次配 置要将全部实例重启,不仅增加了系统的不稳定性,也提高了维护的成本。 配置系统的日志输出级别(logLevel = INFO | WARN | ERROR) 就是⼀个配置项。 配置集(Configuration Set) ⼀组相关或者不相关的配置项的集合称为配置集。在系统中,⼀个配置文件通常就是⼀个配置集, 包含了系统各个方面的配置。例如,⼀个配置集可能包含了数据源、线程池、日志级别等配置项。 命名空间(Namespace) 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 "test-group", Content: "hello world!", }) 167 > Nacos 生态 参数说明:  DataId: 配置文件 DataID  Group: 配置文件分组名  Content: 配置文件内容 配置监听 client.ListenConfig(vo.ConfigParam{ DataId: "test-data", Group: "test-group"0 码力 | 326 页 | 12.83 MB | 9 月前3
 Apache Shiro 1.2.x Reference Manual 中文翻译代码中对Shiro 的 SecurityManager 所须的选项和内部组件进行配置会让人感觉有点小痛苦--而将这些 SecurityManager 配置用一个灵活的配置文件实现就会简单地多。 为此,Shiro 默认提供了一个基本的 INI 配置文件的解决方案,人们已经对庞大的 XML 文件 有些厌倦了,而一个 INI 文件易读易用,而且所依赖的组件很少,稍后你就会通过一个简单易 懂的示例明白 INI ---------- [roles] admin = * schwartz = lightsaber:* goodguy = winnebago:drive:eagle5 可以看到,在该配置文件中最基础地配置了几个静态的帐户,对我们这一个程序已经足够 了,在以后的章节中,将会看到如何使用更复杂的用户数据比如数据库、LDAP 和活动目录 等。 Referencing the Configuration 缀,告诉 shiro 从哪里加载 ini 文件(其 它前缀,如 url:和 file: 也被支持)。 2.factory.getInstance() 方法被调用,该方法分析 INI 文件并根据配置文件返回一个 SecurityManager 实例。 3.在这个简单示例中,我们将 SecurityManager 设置成了static (memory) singleton,可以通 过 JVM0 码力 | 196 页 | 2.34 MB | 1 年前3 Apache Shiro 1.2.x Reference Manual 中文翻译代码中对Shiro 的 SecurityManager 所须的选项和内部组件进行配置会让人感觉有点小痛苦--而将这些 SecurityManager 配置用一个灵活的配置文件实现就会简单地多。 为此,Shiro 默认提供了一个基本的 INI 配置文件的解决方案,人们已经对庞大的 XML 文件 有些厌倦了,而一个 INI 文件易读易用,而且所依赖的组件很少,稍后你就会通过一个简单易 懂的示例明白 INI ---------- [roles] admin = * schwartz = lightsaber:* goodguy = winnebago:drive:eagle5 可以看到,在该配置文件中最基础地配置了几个静态的帐户,对我们这一个程序已经足够 了,在以后的章节中,将会看到如何使用更复杂的用户数据比如数据库、LDAP 和活动目录 等。 Referencing the Configuration 缀,告诉 shiro 从哪里加载 ini 文件(其 它前缀,如 url:和 file: 也被支持)。 2.factory.getInstance() 方法被调用,该方法分析 INI 文件并根据配置文件返回一个 SecurityManager 实例。 3.在这个简单示例中,我们将 SecurityManager 设置成了static (memory) singleton,可以通 过 JVM0 码力 | 196 页 | 2.34 MB | 1 年前3
 Java 应用与开发 - MVC 和框架初步13 <% 14 } 15 %> 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪, 可读性非常差。一个 JSP 文件有时候会变成几十 K,甚至 似数据库事 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪, 可读性非常差。一个 JSP 文件有时候会变成几十 K,甚至 似数据库事 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪, 可读性非常差。一个 JSP 文件有时候会变成几十 K,甚至0 码力 | 51 页 | 837.26 KB | 1 年前3 Java 应用与开发 - MVC 和框架初步13 <% 14 } 15 %> 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪, 可读性非常差。一个 JSP 文件有时候会变成几十 K,甚至 似数据库事 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪, 可读性非常差。一个 JSP 文件有时候会变成几十 K,甚至 似数据库事 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪, 可读性非常差。一个 JSP 文件有时候会变成几十 K,甚至0 码力 | 51 页 | 837.26 KB | 1 年前3
 《Java 应用与开发》课程讲义 - 王晓东253 20.2 Java EE Web 的配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.1 配置文件 web.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.2 web.xml 的主要配置项 . . . Web 应用的构成 • HTML 文档 • CSS • JavaScript • 图片文件 • Servlet • JSP • JavaBean 类 • Java Lib • Web 配置文件:/WEB-INF/web.xml 演示 在 Eclipse 中创建一个 Java Dynamic Project。 16.2 Servlet 概述 16.2.1 Servlet 概述 什么是 . . . . . . . . . . 中国海洋大学信息学院计算机系 第 216 页 / 共 306 页 16.5. SERVLET 配置 � 16 � • Servlet 必须在 Web 的配置文件/WEB-INF/web.xml中进行配置和映射才能响应 HTTP 请求。 • Servlet 的配置分为声明和映射两个步骤。 16.5.1 Servlet 声明 通知 Web 容器 Servlet0 码力 | 330 页 | 6.54 MB | 1 年前3 《Java 应用与开发》课程讲义 - 王晓东253 20.2 Java EE Web 的配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.1 配置文件 web.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 20.2.2 web.xml 的主要配置项 . . . Web 应用的构成 • HTML 文档 • CSS • JavaScript • 图片文件 • Servlet • JSP • JavaBean 类 • Java Lib • Web 配置文件:/WEB-INF/web.xml 演示 在 Eclipse 中创建一个 Java Dynamic Project。 16.2 Servlet 概述 16.2.1 Servlet 概述 什么是 . . . . . . . . . . 中国海洋大学信息学院计算机系 第 216 页 / 共 306 页 16.5. SERVLET 配置 � 16 � • Servlet 必须在 Web 的配置文件/WEB-INF/web.xml中进行配置和映射才能响应 HTTP 请求。 • Servlet 的配置分为声明和映射两个步骤。 16.5.1 Servlet 声明 通知 Web 容器 Servlet0 码力 | 330 页 | 6.54 MB | 1 年前3
 Java 应用系统开发 - ServletContext 和 Web 配置Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 配置文件 web.xml Web 的配置文件为/WEB-INF/web.xml,/WEB-INF 目录 是� Web 服务器保�的目录,客户端浏览器无法直接访问该目 录下的任何文件,Struts、Spring 等框架都将配置文件保存在该 目录下。 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet session = request.getSession(); 2 session.setMaxInactiveInterval(15 * 60); // �置会话超时为15�� O 在 Web 配置文件中进行会话超时配置 1 1 Java 应用系统开发 - ServletContext 和 Web 配置Java EE Web 的配置 Servlet 配置对象 转发和重定向 本节习题 配置文件 web.xml Web 的配置文件为/WEB-INF/web.xml,/WEB-INF 目录 是� Web 服务器保�的目录,客户端浏览器无法直接访问该目 录下的任何文件,Struts、Spring 等框架都将配置文件保存在该 目录下。 大纲 Web 应用环境对象 Java EE Web 的配置 Servlet session = request.getSession(); 2 session.setMaxInactiveInterval(15 * 60); // �置会话超时为15�� O 在 Web 配置文件中进行会话超时配置 1 1- 2 1推荐在- 900 30 码力 | 33 页 | 668.91 KB | 1 年前3
 Apache Shiro参考手册中文版Java 源代码做这件事情变得较为痛苦——如果使用一个灵活的基于文本的配置格式来配置 SecurityManager, 那么这将是一件很容易的事情。 为此,Shiro 通过基于文本的 INI 配置文件提供了一个默认的"共性(common denominator)"解决方案。近来人们已 经相当厌倦了使用笨重的 XML 文件,且 INI 文件易于阅读,使用简单,依赖性低。你稍后将会看到有了对象导航图 的,它允许你(或某个配置机制)通过标准的 JavaBean 的 accessor/mutator 方法(get*/set*)轻松地自定义可拔插组件。这意味着 Shiro 的架构的组件性能够把自定义行为转 化为非常容易的配置文件。 Easy Configuration 由于 JavaBeans 的兼容性,通过任何支持 JavaBean 风格的配置的机制可以很容 易的用自定义组件配置 SecurityManager,如 AuthenticationToken 的 Realm 调用 Realm 的 getAuthenticationInfo 方 法。 Implicit ordering(隐式排列) 当使用 Shiro 的 INI 配置文件格式时,你应该配置 Realm 处理 AuthenticationToken 的顺序,你想要的顺序。例 如,在 shiro.ini 中,Realm 将会以它们在 INI 文件中定义好的顺序被请求到。也就是说,对于下面的0 码力 | 92 页 | 1.16 MB | 1 年前3 Apache Shiro参考手册中文版Java 源代码做这件事情变得较为痛苦——如果使用一个灵活的基于文本的配置格式来配置 SecurityManager, 那么这将是一件很容易的事情。 为此,Shiro 通过基于文本的 INI 配置文件提供了一个默认的"共性(common denominator)"解决方案。近来人们已 经相当厌倦了使用笨重的 XML 文件,且 INI 文件易于阅读,使用简单,依赖性低。你稍后将会看到有了对象导航图 的,它允许你(或某个配置机制)通过标准的 JavaBean 的 accessor/mutator 方法(get*/set*)轻松地自定义可拔插组件。这意味着 Shiro 的架构的组件性能够把自定义行为转 化为非常容易的配置文件。 Easy Configuration 由于 JavaBeans 的兼容性,通过任何支持 JavaBean 风格的配置的机制可以很容 易的用自定义组件配置 SecurityManager,如 AuthenticationToken 的 Realm 调用 Realm 的 getAuthenticationInfo 方 法。 Implicit ordering(隐式排列) 当使用 Shiro 的 INI 配置文件格式时,你应该配置 Realm 处理 AuthenticationToken 的顺序,你想要的顺序。例 如,在 shiro.ini 中,Realm 将会以它们在 INI 文件中定义好的顺序被请求到。也就是说,对于下面的0 码力 | 92 页 | 1.16 MB | 1 年前3
 Java 应用与开发 - 类加载和反射反射最重要的用途就是开发各种通用框架 很多框架(比如 Spring、Strut)都是基于配置化的,比如通过 XML 文件配置 JavaBean 和 Action。为了保证框架的通用性, 需要根据配置文件加载不同的对象或类,调用不同的方法,这个 时候就必须用到反射——运行时动态加载需要加载的对象。 一个例子 Struts2 框架开发中会在 struts.xml 里配置 Action 1 Java 应用与开发 - 类加载和反射反射最重要的用途就是开发各种通用框架 很多框架(比如 Spring、Strut)都是基于配置化的,比如通过 XML 文件配置 JavaBean 和 Action。为了保证框架的通用性, 需要根据配置文件加载不同的对象或类,调用不同的方法,这个 时候就必须用到反射——运行时动态加载需要加载的对象。 一个例子 Struts2 框架开发中会在 struts.xml 里配置 Action 1- index.jsp 3 XML 配置文件与 Action 实现建立了映射关系。用户请求 login.action 会被 StrutsPrepareAndExecuteFilter 拦截并解析 struts.xml 文件,检 索其中 name 对应类的实例。通过这种方式可以选择使用某个类的指定构 造器来创建实例。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 创建对象示例 很多 Java EE 框架中都需要根据配置文件信息来创建 Java 对 象。从配置文件中读取的只是某个类的字符串名,程序就需要根 据该字符串创建对应的实例,就必须使用反射。 O 简单对象池的示例 1 import java.io.FileInputStream;- login.jsp 40 码力 | 46 页 | 714.40 KB | 1 年前3
 基于 Java EE 的企业应用系统设计 - Spring MVC 03org/proper/commons-fileupload/ ▶ http://commons.apache.org/proper/commons-io/ 此外,还需要在 Spring MVC 配置文件中定义 multipartResolver。 基于 Java EE 的企业应用系统设计 - Spring MVC 03org/proper/commons-fileupload/ ▶ http://commons.apache.org/proper/commons-io/ 此外,还需要在 Spring MVC 配置文件中定义 multipartResolver。- 配置文件 O 注意在配置文件中添加 multipartResolver bean - 0 码力 | 40 页 | 651.07 KB | 1 年前 3
共 14 条
- 1
- 2













