我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Spring Web Flow和Terracotta搭建Web应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Spring Web Flow和Terracotta搭建Web应用

小编给大家分享一下怎么用Spring Web Flow和Terracotta搭建Web应用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

什么是Spring WebFlow?

Spring Web Flow是Spring Framework中的web应用组件,它提供了一种编写有状态和基于会话的web应用的简便手段。Spring Web Flow 使得逻辑流程成为web应用中的一等公民,它能让你定义为自包含模块,以独立于应用的其它部分来配置和重用。它不依赖于框架从而能够方便的与可选的web应用框架一同使用,比如Spring MVC、Struts或者JSF等。

页面流转使用一种领域定义语言(DSL)来配置,这个语言专门开发用来定义和组合页面流转。目前的实现方式是XML和Java.

Spring Web Flow引入了能满足多种用户案例和需求的几种有状态数据域:request、flash、flow和conversation,这给你开发有状态web应用提供了很大的灵活性和能力。

这里是1.0 release中最有趣特性的快速概要:

  • 在一个地方而不是把逻辑分散在很多地方来定义应用任务的所有控制逻辑,比如一个搜索流程。

  • 把简单的流转组合在一起来创建富控制模块。

  • 使用自然和面向对象的线性编程模型,而不是冗长的的if/else块来定义严格的用户导航规则。

  • 但流转结束或过期时自动清除你在流转执行中分配的内存。

  • 在使用你选择的基础web框架的Servlet环境中Deploy一个可执行的流转。

  • 改变web框架(比如Struts、Spring MVC、JSF及其它)而不用修改流转定义。

  • 和环境一起改变而不需要修改你的流转定义, 比如从JUnit测试到Portlet。

  • 开发时在不重启容器的情况下不断完善你的应用导航规则。

  • 自动正确响应浏览器按钮(后退、前进、刷新)而不需要定制编程。

  • 在4个受管理域中存储任务数据:request、flash、flow、和、conversation等,每个都有自己的独特语义。

  • 脱离容器单独测试流转。能在部署前确保应用控制逻辑能正常运作。

  • 使用Spring IDE 2.0进行可视化编辑你的流转导航逻辑图

 什么是Terracotta for Spring?

Terracotta for Spring是基于Spring应用的运行时,它为Spring 应用提供了透明的高性能集群支持,对应用代码和部署及配置流程影响都很小。它通过在应用下面的堆级别进行集群而不是直接集群应用。

这让开发者能够开发与无状态方式不同的单节点有状态Spring应用。这使得在需要扩展的应用开始设计时不考虑集群。而在应用需要扩展或者要保证搞可用性和故障恢复时,他们只需要在Terracotta 配置文件中定义哪些Spring应用上下文中的beans需要进行集群。Terracotta for Spring 使得应用能够被自动和透明的集群,还保证在集群间的语义和单节点一样。

对于Spring Web Flow来说,这实际上更简单。用户为了获得web应用的状态和持续仓库的集群能力,只需要在Terracotta配置文件中把特定的web应用声明为启用“session-support”。(详细内容见下面的章节“声明式配置”)

从宏观上看,Terracotta for Spring提供了:

·         HTTP session状态的集群。保证Spring Web Flow中的用户状态和扩展仓库或放入HTTPsession的其它状态的高可用性和故障恢复能力。

·         Spring bean的集群Springbean的生命周期语义和域在集群间被保存,它们在“逻辑”上相同的ApplicationContext中。目前能被集群的bean类型是singletonsession scoped. 用户可以声明式配置哪个application contexts中的哪个bean需要被集群。

·         透明集群POJO。 不需要修改已有的代码,甚至不需要源代码。应用基于很少的声明式XML 配置文件,在载入期透明的生效。Terracotta for Spring不需要实现Serializable, Externalizable或其它接口的类。能这样实现的原因它并没有使用序列化,而只是将实际的差量和已经改变了的数据传输给当前需要的节点 (lazily)。

虚拟内存管理。它也提供分布式垃圾收集和虚拟堆功能。比如,由于物理内存在需要时被换入换出,它能在一个4G RAM的机器上运行需要200G堆的Web应用。这也意味着你不需要关心Spring Web Flow 会话数据的大小是否超过了物理堆大小。

看完了这篇文章,相信你对“怎么用Spring Web Flow和Terracotta搭建Web应用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Spring Web Flow和Terracotta搭建Web应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Spring Web Flow和Terracotta搭建Web应用

小编给大家分享一下怎么用Spring Web Flow和Terracotta搭建Web应用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!什么是Spring WebFlow?Spring Web Flow是Spring Fr
2023-06-03

怎么用python搭建web网站

使用Python搭建Web网站用Python构建网站的逐步指南,包括安装依赖项、设置虚拟环境、定义路由、使用模板引擎、集成数据库、创建数据模型和运行应用程序的详细说明。提供了优化、部署和安全方面的提示。
怎么用python搭建web网站
2024-04-10

怎么使用Golang搭建web服务

今天小编给大家分享一下怎么使用Golang搭建web服务的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我们先看个例子:htt
2023-06-30

怎么使用python搭建web网站

使用Python搭建Web网站本指南介绍使用Python构建Web网站,包括框架选择、开发环境设置、应用程序构建、数据库集成、模板和静态文件使用、部署和最佳实践。还提供了附加资源,包括教程和文档,以帮助读者深入了解PythonWeb开发。
怎么使用python搭建web网站
2024-04-13

怎么使用Node.js搭建Web服务器

这篇文章主要介绍“怎么使用Node.js搭建Web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Node.js搭建Web服务器”文章能帮助大家解决问题。1、 Node.js 创建的第一
2023-07-02

Spring boot如何搭建web应用集成thymeleaf模板实现登陆

这篇文章将为大家详细讲解有关Spring boot如何搭建web应用集成thymeleaf模板实现登陆,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Spring boot 搭建web应用集成了thymel
2023-05-30

个人web服务器租用怎么搭建

搭建个人web服务器租用需要以下步骤:1. 购买域名:首先需要购买一个域名,这是你网站的地址。可以在国内的域名注册商或国外的注册商购买。2. 选择主机:选择一台可以用来搭建web服务器的主机,可以选择自己的电脑或者租用云服务器。如果选择租用
2023-06-06

轻松搭建基于 Serverless 的 Egg.js Web 应用

首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而
2023-06-04

怎么创建ASP.NET Core Web应用程序

本文小编为大家详细介绍“怎么创建ASP.NET Core Web应用程序”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么创建ASP.NET Core Web应用程序”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-06-29

使用Flow和IPFS怎么创建NFT

今天就跟大家聊聊有关使用Flow和IPFS怎么创建NFT,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。苹果系统:brew install flow-cliLinux:sh -ci “
2023-06-15

怎么使用node.js搭建简单web服务器

这篇文章主要介绍“怎么使用node.js搭建简单web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用node.js搭建简单web服务器”文章能帮助大家解决问题。准备首先,需要安装nod
2023-06-17

怎么搭建Nginx和Tomcat的web集群环境

本篇内容介绍了“怎么搭建Nginx和Tomcat的web集群环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一直以来对于web服务器对to
2023-06-04

怎么在Go中构建Web应用程序

本篇内容介绍了“怎么在Go中构建Web应用程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开始在开始之前,您需要准备好以下几点:已安装Go
2023-07-05

怎么使用web服务器软件搭建网站

使用web服务器软件搭建网站的步骤如下:1. 选择合适的web服务器软件,如Apache、Nginx、IIS等。2. 安装web服务器软件,根据不同的操作系统选择对应的安装包进行安装。3. 配置web服务器,包括端口号、虚拟主机、SSL证书
2023-06-13

阿里云服务器怎么使用node.js搭建web

使用node.js搭建web应用有两种方式:使用Node.js:node.js是NodeJavaScript库的一个扩展名,它可以用来在node.js的代码中创建Web应用。可以使用node.js的create命令创建Web应用,然后使用node.js的create命令从文件中读取文件的内容,并创建Web应用的逻辑代码和配置文件。使用Vue.js:Vue.js是一个轻量级的JavaScript框架
2023-10-25

怎么利用springmvc与maven搭建一个web项目

本篇文章为大家展示了怎么利用springmvc与maven搭建一个web项目,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。具体内容如下1、创建一个maven project 为spring12、进行
2023-05-31

利用Spring boot如何创建简单的web交互应用

关于页面渲染其实在工作中,一直都是前后端分离,也就是说,我的工作从来都是提供接口,而不写 html css js 之类的,所以在这方面也没有经验。这里为了给大家介绍下模板引擎,我将会写个非常非常简单的页面,如果不好看,请见谅~Spring
2023-05-31

怎么使用Shiny包构建交互式Web应用

使用Shiny包构建交互式Web应用的一般步骤如下:安装Shiny包:首先需要安装Shiny包,可以通过在R中运行 install.packages(“shiny”) 来安装。创建UI界面:通过编写UI函数来创建Web应用的用户界面。可以
怎么使用Shiny包构建交互式Web应用
2024-03-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录