Java 应用与开发 - MVC 和框架初步
应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 Java 应用与开发 MVC 和框架初步 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 17, 2018 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 学习目标 1. 理解 MVC 设计模式的概念与特点,初步认识框架产生的基 础。 2. 了解经典的 MVC 框架——Struts 2,学会使用 Eclipse 入 手编写一个 Struts 2 Web 应用。 3. 通过 Struts 2 的经典 MVC 框架设计和业务代码开发过程, 进一步思考、理解框架。 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 接下来⋯ Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 为 Web 应用增加 Struts 2 支持 在 Eclipse 中使用 Struts 2 Struts 2 的开发步骤小结 本节习题 大纲 Java Web 应用的开发演化 经典 MVC 框架 - Struts 2 本节习题 JSP0 码力 | 51 页 | 837.26 KB | 1 年前3Nacos架构&原理
服务端支持多语 言,客户端只能 在浏览器中使用 JS 私有协议 rsocket 私 有协议,社 区活跃度, 用户数⼀般 需要自定义 rpc 协议 需要自定义 rpc 协议 在当前的备选框架中,从功能的契合度上,Rsocket 比较贴切我们的功能性诉求,性能上比 grpc 要强⼀些,开源社区的活跃度上相对 grpc 要逊色很多。 版本分布参考:https://blog.csdn.n 往停留在表面的功能对比上,对架构或者性能并没有非常深入的探讨。 另⼀个现象是服务注册中心往往隐藏在服务框架背后,作为默默支持的产品。优秀的服务框架往往 会支持多种配置中心,但是注册中心的选择依然强关联与服务框架,⼀种普遍的情况是⼀种服务框 架会带⼀个默认的服务注册中心。这样虽然免去了用户在选型上的烦恼,但是单个注册中心的局限 性,导致用户使用多个服务框架时,必须部署多套完全不同的注册中心,这些注册中心之间的数据 协同也是⼀个问题。 s 及 Consul 之 间的数据同步。 Nacos 架构 < 78 图 9 Nacos 的多数据中心方案 用户扩展性 在框架的设计中,扩展性是⼀个重要的设计原则。Spring、Dubbo、Ribbon 等框架都在用户扩展性 上做了比较好的设计。这些框架的扩展性往往由面向接口及动态类加载等技术,来运行用户扩展约 定的接口,实现用户自定义的逻辑。在 Server 的设计中,用户扩展是比较审慎的。因为用户扩展0 码力 | 326 页 | 12.83 MB | 9 月前3Apache Shiro 1.2.x Reference Manual 中文翻译
What is Apache Shiro? Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验 证、授权、企业会话管理和加密。 Apache Shiro的首要目标是易于使用和理解。安全通常很复杂,甚至让人感到很痛苦,但是 Shiro却不是这样子的。一个好的安全框架应该屏蔽复杂性,向外暴露简单、直观的API,来 简化开发人员实现应用程序安全所花费的时间和精力。 致力在所有应用环境下实现上述功能,小到命令行应用程序,大到企业应用中,而且不 需要借助第三方框架、容器、应用服务器等。当然 Shiro 的目的是尽量的融入到这样的应用环 境中去,但也可以在它们之外的任何环境下开箱即用。 Apache Shiro Features 特性 Apache Shiro是一个全面的、蕴含丰富功能的安全框架。下图为描述Shiro功能的框架图: Apache Shiro 1.2.x Reference Introduction 介绍 Authentication(认证), Authorization(授权), Session Management(会话管理), Cryptography(加密)被 Shiro 框架的开发团队称之为应用安全的四大基石。那么就让我们来 看看它们吧: Authentication(认证):用户身份识别,通常被称为用户“登录” Authorization(授权):访问控制。比如某个用户是否具有某个操作的使用权限。0 码力 | 196 页 | 2.34 MB | 1 年前3《Java 应用与开发》课程讲义 - 王晓东
. . . . 85 8.1.1 泛型的概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.1.2 集合框架中的泛型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 8.2 泛型类与泛型方法 . . . . . . . . . . . . 290 23.6 课后习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 24 MVC 和框架初步 293 24.1 Java Web 应用的开发演化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 24.1.1 JSP . 294 24.1.2 Servlet 方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 24.1.3 框架方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 24.1.4 那么我们需要什么? . . . .0 码力 | 330 页 | 6.54 MB | 1 年前3基于 Java EE 的企业应用系统设计 - Spring MVC 01
<% } %> 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 K,经常难以定位逻辑代码的所在。 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 K,经常难以定位逻辑代码的所在。 务、日志等众多模块无法统一支持。 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 O 仅有的一点优势 1. 无需额外的配置文件,无需框架的帮助,即可完成逻辑。 2. 简单易上手。 O 劣势 1. Java 代码由于混杂在一个 HTML 环境中而显得混乱不堪,可 读性非常差。一个 JSP 文件有时候会变成几十 K,甚至上百 K,经常难以定位逻辑代码的所在。0 码力 | 67 页 | 792.43 KB | 1 年前3Apache Shiro参考手册中文版
Shiro What is Apache Shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 Apache Shiro 的首要目标是易于使用和理解。安全有时候是很复杂的,甚至是痛苦的,但它没有必要这样。框架应 该尽可能掩盖复杂的地方,露出一个干净而直观的 API,来简化开发人员在使他们的应用程序安全上的努力。 视图在所有应用程序环境下实现这些目标——从最简单的命令行应用程序到最大的企业应用,不强制依赖其 他第三方框架,容器,或应用服务器。当然,该项目的目标是尽可能地融入到这些环境,但它能够在任何环境下立 即可用。 Apache Shiro Features Apache Shiro 是一个拥有许多功能的综合性的程序安全框架。下面的图表展示了 Shiro 的重点,并且这个参考手册也 会与之类似的被组织起来: shiro.session.SessionManager) SessionManager 知道如何去创建及管理用户 Session 生命周期来为所有环境下的用户提供一个强健的 Session 体验。这在安全框架界是一个独有的特色——Shiro 拥有能够在任何环境下本地化管理用户 Session 的能力, 即使没有可用的 Web/Servlet 或 EJB 容器,它将会使用它内置的企业级会话管理来提供同样的编程体验。0 码力 | 92 页 | 1.16 MB | 1 年前3Java 应用与开发 - Java EE 体系结构
Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE Internet 开发企业级 Web 应用 面向对象 OOA/OOD/OOP,Java、C# 面向组件 软件系统是由许多小的组件构建和装配起来的 采用标准规范开发 J2EE, MS.NET 全面采用框架技术 Struts、Spring、Hibernate、AJAX、 WebWork 软件系统采用分层结构和设计模式 MVC 工厂化流水线开发模式 CVS 可视化软件建模 UML、RUP、ROSE0 码力 | 40 页 | 1.89 MB | 1 年前3Java 应用与开发 - 类加载和反射
反射的主要用途 O 反射最重要的用途就是开发各种通用框架 很多框架(比如 Spring、Strut)都是基于配置化的,比如通过 XML 文件配置 JavaBean 和 Action。为了保证框架的通用性, 需要根据配置文件加载不同的对象或类,调用不同的方法,这个 时候就必须用到反射——运行时动态加载需要加载的对象。 一个例子 Struts2 框架开发中会在 struts.xml 里配置 Action 索其中 name 为 login 的 Action,并根据 class 属性创建 LoginAction 的实例,并用 invoke 方法来调用 execute 方法。 这个过程是基于 Java 反射框架完成的。 大纲 反射 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射的主要用途 O 依赖注入 有两个组件 A 和 B,A 依赖于 B。 1 public class 类的加载、连接和初始化 类加载器 使用反射生成并操作对象 本节习题 反射的主要用途 3 O 依赖注入 接管对象的创建工作,并将该对象的引用注入需要该对象的组 件。例如,我们使用 Spring1框架将对象 B 注入到对象 A 中,A 需要进行如下修改,加入 setB() 方法: 1 public class A { 2 private B b; 3 public void importantMethod()0 码力 | 46 页 | 714.40 KB | 1 年前3跟我学Shiro - 张开涛
跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 5 第一章 Shiro 简介 简介 Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相 当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时 可能并不需要那么复杂的东西,所以使用小而简单的 通过 相应的接口注入给 Shiro 即可。 接下来我们分别从外部和内部来看看 Shiro 的架构,对于一个好的框架,从外部来看应该 具有非常简单易于使用的 API,且 API 契约明确;从内部来看的话,其应该有一个可扩展 的架构,即非常容易插入用户自定义实现,因为任何框架都不能满足所有需求。 首先,我们从外部来看 Shiro 吧,即从应用程序角度的来观察如何使用 Shiro 完成工作。如 提供了与 Web 集成的支持,其通过一个 ShiroFilter 入口来拦截需要安全控制的 URL, 然后进行相应的控制,ShiroFilter 类似于如 Strut2/SpringMVC 这种 web 框架的前端控制器, 其是安全控制的入口点,其负责读取配置(如 ini 配置文件),然后判断 URL 是否需要登 录/权限等工作。 准备环境 1、创建 webapp 应用 此处我们使用了 jetty-maven-plugin0 码力 | 219 页 | 4.16 MB | 10 月前3JAVA 应用与开发 - 集合与映射
为保证能够实现元素的排序功能,TreeSet 集合要求向其加入的 对象元素必须是 Comparable 接口的实现类的实例,否者程序 运行时会抛出造型异常。 3. Comparable 接口并不专用于集合框架。 22 28 Comparable �� O 对上述程序的几点说明 1. 用户在重写 compareTo() 方法以定制比较逻辑时,需要确保其 与等价性判断方法 equals() 保持一致,即确保条件 为保证能够实现元素的排序功能,TreeSet 集合要求向其加入的 对象元素必须是 Comparable 接口的实现类的实例,否者程序 运行时会抛出造型异常。 3. Comparable 接口并不专用于集合框架。 22 28 Comparable �� O 对上述程序的几点说明 1. 用户在重写 compareTo() 方法以定制比较逻辑时,需要确保其 与等价性判断方法 equals() 保持一致,即确保条件 为保证能够实现元素的排序功能,TreeSet 集合要求向其加入的 对象元素必须是 Comparable 接口的实现类的实例,否者程序 运行时会抛出造型异常。 3. Comparable 接口并不专用于集合框架。 22 28 �� HashMap � java.util.HashMap ���� java.util.Map ����������� ����的������� HashMap 结构不0 码力 | 66 页 | 713.79 KB | 1 年前3
共 24 条
- 1
- 2
- 3