基于 Java EE 的企业应用系统设计 - Spring MVC 01MVC 模式示例 Spring MVC 数据绑定和表单标签库 基于 Java EE 的企业应用系统设计 Spring MVC 王晓东 wangxiaodong@ouc.edu.cn 中国海洋大学 December 22, 2017 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 References 1. Spring MVC: A Spring MVC 数据绑定和表单标签库 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 大纲 Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 ��来� Java Web 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 大纲 Java Web 应用的开发演化 应用的开发演化 MVC 模式示例 Spring MVC 数据绑定和表单标签库 JSP 方式 JSP 在 HTML 代码里写 Java 代码完成业务逻辑。 <% String name = request.getParameter("name"); String password = request.getParameter("password"); UserHandler userHandler0 码力 | 67 页 | 792.43 KB | 1 年前3
Nacos架构&原理
用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。 Namespace 的常用场景之⼀是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源 (如数据库配置、限流阈值、降级开关)隔离等。如果在没有指定 Namespace 的情况下,默认使 用 public 命名空间。 配置组(Group) Nacos 中的⼀组配置集,是配置的维度之⼀。通过⼀个有意义的字符串(如 Nacos 或者以集群模式启动 Nacos。而 Nacos 是⼀个需要 存储数据的⼀个组件,因此,为了实现这个目标,就需要在 Nacos 内部实现数据存储。单机下其 实问题不大,简单的内嵌关系型数据库即可;但是集群模式下,就需要考虑如何保障各个节点之间 的数据⼀致性以及数据同步,而要解决这个问题,就不得不引入共识算法,通过算法来保障各个节 点之间的数据的⼀致性。 为什么 Nacos 选择了 Raft ,因为客户端不会上报心跳, 那么自然就不能去自动摘除下线的实例。 67 > Nacos 架构 图 4 临时实例和持久化实例 在大中型的公司里,这两种类型的服务往往都有。⼀些基础的组件例如数据库、缓存等,这些往往 不能上报心跳,这种类型的服务在注册时,就需要作为持久化实例注册。而上层的业务服务,例如 微服务或者 Dubbo 服务,服务的 Provider 端支持添加汇报心跳的逻辑,此时就可以使用动态服0 码力 | 326 页 | 12.83 MB | 9 月前3
《Java 应用与开发》课程讲义 - 王晓东应用与开发课程的教学体系如图1所示,包括了 Java SE 和 Java EE 两个部分, 每部分都涉及一些验证性实验,另外,会开展两次稍微大一点的集成开发项目。同时, 在学习的过程中会穿插一些开发工具、设计模式、应用服务器和数据库的基本应用。 在课程学习的过程中,希望同学们要有足够的求知欲,养成良好的学习态度,具 备不断探索的精神,多尝新、多实践、多总结。我想这是计算机专业人士应该具备的 基本素养。 1 � 0 � 跨平台编程技术受到追捧 Sun在SunWorld'95宣布Java技术诞生,发布HotJava浏览器。 一次编写、随处运行 Sun发布Java的第1版。并开始提供和维护完备的Java开发工具集和代码库。 Java JDK JRE Java1 Java1.1 Java1.2 Java2 J2SE J2ME J2EE 标准版,开发适用于PC上运行的程序 微缩版,开发适用于手机等嵌入式设备的程序 19 图 1.1 Java 版本迭代 多线程 C++ 没有内置的多线程机制,需调用操作系统的多线程功能来进行多线程序设 计;Java 提供了多线程支持。 网络编程 Java 具有丰富的网络编程库。 编译和解释并存 由编译器将 Java 源程序编译成字节码文件,再由运行系统解释执行 字节码文件(解释器将字节码再翻译成二进制码运行)。 1.2 Java 平台核心机制 Java 技术栈如图10 码力 | 330 页 | 6.54 MB | 1 年前3
Java 应用与开发 - 异常处理中的异常处理 O 《The C++ Programming Language》 ▶ 一个库的作者可以检测出发生了运行时错误,但一般不知道 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 中的异常处理 O 《The C++ Programming Language》 ▶ 一个库的作者可以检测出发生了运行时错误,但一般不知道 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个 中的异常处理 O 《The C++ Programming Language》 ▶ 一个库的作者可以检测出发生了运行时错误,但一般不知道 怎样去处理它们(因为和用户具体的应用有关); ▶ 另一方面,库的用户知道怎样处理这些错误,但却无法检查 它们何时发生(如果能检测,就可以再用户的代码里处理 了,不用留给库去发现)。 提供异常处理机制的的基本思想 让一个函数在发现了自己无法处理的错误时抛出(throw)一个0 码力 | 33 页 | 626.40 KB | 1 年前3
跟我学Shiro - 张开涛Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信 息都在会话中;会话可以是普通 JavaSE 环境的,也可以是如 Web 环境的; Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; Web Support:Web 支持,可以非常容易的集成到 Web 环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以 跟我学 数据放到 Memcached 服务器); SessionDAO:DAO 大家都用过,数据访问对象,用于会话的 CRUD,比如我们想把 Session 保存到数据库,那么可以实现自己的 SessionDAO,通过如 JDBC 写到数据库;比如想把 Session 放到 Memcached 中,可以实现自己的 Memcached SessionDAO;另外 SessionDAO 中可以使用 Cache (错误的凭证)、ExpiredCredentialsException(过期的 凭证)等,具体请查看其继承关系;对于页面的错误消息展示,最好使用如“用户名/密码 错误”而不是“用户名错误”/“密码错误”,防止一些恶意用户非法扫描帐号库; 2.6、最后可以调用 subject.logout 退出,其会自动委托给 SecurityManager.logout 方法退出。 从如上代码可总结出身份验证的步骤: 1、收集用户身份/凭证,即如用户名/密码;0 码力 | 219 页 | 4.16 MB | 10 月前3
Apache Shiro 1.2.x Reference Manual 中文翻译帮助你熟悉 Shiro 的设 计和 API。 当你跟随本教程时,如果你不想编辑文件,您可以获得一个几乎相同的示例作为参考。 选择一 个地址: 在Apache Shiro 的 Subversion 存储库: https://svn.apache.org/repos/asf/shiro/trunk/samples/quickstart/ 在Apache Shiro 的源码发布 samples/quickstart goodguy = winnebago:drive:eagle5 可以看到,在该配置文件中最基础地配置了几个静态的帐户,对我们这一个程序已经足够 了,在以后的章节中,将会看到如何使用更复杂的用户数据比如数据库、LDAP 和活动目录 等。 Referencing the Configuration 引用配置 现在我们已经定义了一个 INI 文件,我们可以在我们的示例程序中创建SecurityManager } //Subject 确保是一个已知的身份 ... } JSP TagLib Authorization 标签库授权 Shiro 提供了一个标签库来控制 JSP/GSP 页面输出,这将在 Web 文档中的 JSP/GSP 标签库 中讨论 Authorization Sequence 授权序列 现在我们已经看到如何对当前 Subject 执行授权,让我们了解一下当一个授权命令调用时0 码力 | 196 页 | 2.34 MB | 1 年前3
基于 Java EE 的企业应用系统设计 - Spring MVC 02errorCode) void rejectValue(String field, String errorCode, String defaultMessage) Errors 对象中的错误消息,可以利用表单标签库的 Errors 标签显 示在 HTML 页面中。 大纲 转换器和格式化(Converter and Formatter) 验证器 表达式语言(EL) JSTL ValidationUtils 类 转换器和格式化(Converter and Formatter) 验证器 表达式语言(EL) JSTL JSTL JSP 标准标签库(Java Server Pages Standard Tag Library, JSTL)是 一个定制标签库的集合,用来解决像遍历 map 或集合、条件测 试、XML 处理,甚至是数据库访问和数据操作等常见的问题。 O 下载 JSTL JSTL 是由 JSR-52 专家组在 JCP(www JSTL 标签库 JSTL 是标准标签库,通过多个标签库来暴露其行为。 大纲 转换器和格式化(Converter and Formatter) 验证器 表达式语言(EL) JSTL JSTL 标签库的使用 O 在 JSP 页面中使用 JSTL 库,必须通过以下格式使用 taglib 指令 <%@ taglib uri="uri" prefix="prefix" %> 使用 Core 库 <%@0 码力 | 56 页 | 866.07 KB | 1 年前3
MySQL ZIP Archive版本安装说明[mysqld] #设置3306端⼝口 port = 3306 # 设置mysql的安装⽬目录 basedir=C:\MySQL\mysql-5.7.20-winx64 # 设置mysql数据库的数据的存放⽬目录 datadir=C:\MySQL\mysql-5.7.20-winx64\data # 允许最⼤大连接数 max_connections=200 # 服务端使⽤用的字符集默认为8⽐比特编码的latin1字符集 其他配置操作。 以下是其他常用的MySQL命令行操作: 控制台 mysqld –console 关闭服务器 net stop mysql 卸载MySQL mysqld -remove 4 数据库系统基本配置 结束所有的MySQL进程,包括mysql.exe和mysqld.exe,可以在任务管理器中结束上述进程。 输入mysqld –skip-grant-tables,输入后,其他命令行已 20-winx64\bin>mysqld.exe --skip-grant-tables 在2号命令行窗口中定位到MySQL安装目录的bin目录下,执行mysql.exe,则无密码登录到MySQL数据库,并输出 MySQL命令行操作符。 进行修改密码操作,MySQL命令行输入以下命令: 其中,yourpassword位置即为所设置的MySQL的超级用户root的初始登录密码,请按需设置。 此时0 码力 | 4 页 | 756.23 KB | 1 年前3
Apache Shiro参考手册中文版的设计和 API。 当你遵循本教程时,如果你确实不想编辑文件,你可以得到一个几乎相同的实例应用程序并按照你的意愿引用它。 选择一个位置: 在 Apache Shiro 的版本控制库:https://svn.apache.org/repos/asf/shiro/trunk/samples/quickstart 在 Apache Shiro 的源代码的 samples/quickstart shiro.ini 文件: 如你所见,这个配置基本上建立了一小组静态用户帐户,对于我们的第一个应用程序已经足够了。在后面的章节中, 你将看到我们如何使用更复杂的用户数据源,如关系数据库,LDAP 的 AcitveDirectory,以及更多。 Referencing the Configuration 现在我们已经定义好了一个 INI 文件,我们可以在我们的教程应用程序类中创建 用来进行身份验证和/或授权。SecurityManager 可能配置多个 Realms,但至少有一个是必须的。 Shiro 提供了立即可用的 Realms 来连接一些安全数据源(即目录),如 LDAP,关系数据库(JDBC),文本配 置源,像 INI 及属性文件,以及更多。你可以插入你自己的 Realm 实现来代表自定义的数据源,如果默认地 Realm 不符合你的需求。 像其他内置组件一样,Shiro0 码力 | 92 页 | 1.16 MB | 1 年前3
Spring Boot 2.0.0.M4 Reference GuideDeploying to the cloud Cloud Foundry Binding to services Heroku OpenShift Amazon Web Services (AWS) AWS Elastic Beanstalk Using the Tomcat platform Using the Java SE platform Best practices Uploading their website that will get you started with a gradle build to run the app. Amazon Web Services (AWS) Amazon Web Services offers multiple ways to install Spring Boot based applications, either as traditional executable jar files with an embedded web server. Options include : AWS Elastic Beanstalk AWS Code Deploy AWS OPS Works AWS Cloud Formation AWS Container Registry Each has different features and pricing model0 码力 | 583 页 | 501.03 KB | 1 年前3
共 206 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21













