`
luotuoass
  • 浏览: 639802 次
文章分类
社区版块
存档分类
最新评论

Cetia4 1.1文档-1引言

 
阅读更多

1.引言

本文档一步一步的介绍了如何用cetia4 框架建立基于Rest的应用程序。

Cetia4使用一种简单但是有效的机制,这种机制可以非常简单的创建如下两种工作方式的基于java的应用:

1, 可以通过Web浏览器,或者其他有状态的基于Web的客户端程序访问的Web程序。或者是

2, 可以应答HTTP无状态的Rest方式的Web Services程序

Cetia4 使用了一些众所周知的模式来构建其基础架构。和其他很多的java框架一样,MVC模式是其架构的核心。Controller通过Servlets和帮助类实现,View通过典型的JSP页面实现(如果有必要的话其他的视图也将被支持), Model的实现并不局限于某种框架-但是对于spring有一些便利的支持类。

cetia

Cetia4 还有一些和Jakarta StrustsOpenSymphony WebWork类似的特性,比如:

HTTP-to-java java-TO-HTTP的双向映射功能

验证功能

● 消息和错误报告功能

●国际化支持

●导航功能

●实用标签库,等等。

但是事实上Cetia4与那些框架典型的方式有着实质的不同,Cetia4的这些实现

支持REST的概念和哲学,因此围绕程序的一些方面与传统WEB 框架有着很大的区别。例如:应用设计,URL的映射方式,GETPOST方法的使用等等。

Cetia4基于J2SE5.0,广泛使用在注释,泛型,变参以及其他一些新功能,这些功能在先前的Java Platform Standard Edition 是不存在的。Cetia4中的Web应用开发是基于J2EE 1.4 规范的(JavaServlets 2.4,JSP 2.0,JSTL 1.1)。规范提供的标准都是用在了需要的地方。这意味着Web容器必须支持1.4或者更高的版本,例如Tomcat 5.5.(参看:软件配置要求一节)

在这些版本中的新的功能使得可以省时,低代价的创建出功能强大的应用程序。

特别是J2SE5.0的注释机制对于Cetia4来说非常有帮助,它避免了过多依赖于外部的配置文件。J2EE的授权机制可能被使用。如果需要的话,用户定制的授权机制也可以使用(不推荐);框架提供了一些安全扩展来很好地处理REST的授权问题。

Cetia4 不支持1.4以前的标准规范。

在需要的地方,cetia4还使用了其他的开源库,因此它依赖一些Jakata Jakarta Commons工程。在任何情况下,这样类型的代码复用是非常有用的。Java

标准(例如:jstljspcollections)等应该优先使用,但是在某些情况下,其他的类库可能更合适(jakarta commons logging 可以替代java.util.logging,为了可扩展的原因)。

Validation facilities were not implemented using existing approaches, such as Jakarta Commons Validator, in favor of a more codeoriented

and simpler alternative, at the expense of lacking client validation support in the current version. Pluggable server-side validation strategies are possible; and an implementation for Hibernate Validator is provided with version 1.1.

Cetia4 支持使用Getpostput delete的方法http请求。在一般的的web环境中,put delete 方法并没有普遍的被支持(浏览器在form请求中并没有很好的处理他们 我们希望这种状况会改变 当主流的浏览器支持Xfrom方法的实现)。所以Cetia4可以仅仅使用getpost方法实现所有的功能。Plain mutiform 都是被支持的,mutiform encoding 是通过jakarta common file upload工程实现的。

Cetia4 可以简单方便的与其他通用的框架集成,例如:可以集成opensymphonysitemesh控制页面布局,也可以集成spring+jdbc/hibernate等等。如果项目需要的话,还可以集成EjbCetia4还提供了简单的xml客户端来执行项目测试功能(是jakarta commons httpClient 项目的简单的包装类)。

实际上,应用集成是Soa架构的基础。Soa 是一种以Rest为单元的系统架构。

因此,cetia4 apache 服务的集成是其基本的功能,同样的,cetia4与其他集成的实现也是基于同样的方法(毕竟,这是rest的主要目的,不是吗?)。

com.acsinet_solutions.cetia4.test 包中提供的回归测试使用了经典的Junit测试框架;Rest Servlets 的特性通过了spring framework mock object进行了测试。在这个包中的类也可以作为参考如果对莫个类用户有疑问的话。

Cetia4 的参考文献和包介绍通过javadoc提供,可以在发布的二进制版本中找到;或者可以通过元代码中生成。

Cetia4 acsinet solutions 开发的,这是第四个版本,第一个版本可以追溯到 90s

从那时起,它就被用在公司的项目中,这一个版本是框架的进化版本。

It has been used in the company's ( Acsinet Solutions ) internal and external projects since then, and this version is the results of all

experiences and evolution both inside and outside the framework. The framework started (

Cetia or Cetia1 ) as a set of classes that implemented much of what J2EE has standarized

today - it used a template engine in a time where neither JSP or Velocity existed ( and

WebMacro was under GPL ) , an XML format that declared some facilities now present in

the standard web deployment descriptor file, and lots of libraries that resemble some of the

work that is now implemented by Spring Framework and similar alternatives. With time,

CetiaX evolved to a web framework that leverages standards and specialized open source

libraries when it makes sense to do so, and is now a stable framework that shares similar

characteristics to some of the main features of web frameworks like Jakarta Struts or

OpenSymphony WebWork. It does not currently try to compete with those approaches; it tries to provide a solid foundation for the need of a REST java-based framework;

something that is currently outside of the scope of those projects.

A final note: some may notice that a lot of Cetia4 architecture resembles the standard

java portlet architecture; that is because the previous version of the framework ( Cetia3 )

used to work for both servlet and portlet environments ( though not in a REST fashion for

portlet environments ). Although portlet components live inside a portlet container and are

not REST based ( portlet URIs are implementation dependent ), Cetia3 abstractions were

very useful also in that type of environment. No portlet support is provided on Cetia4,

because Java Portlet 2 specification is still not final, and a previous version of the spec

does not support J2EE 1.4 facilities. In the future, when a standard Java Portlet 2

implementation is available that runs over J2SE 5.0, portlet support will be added back to

Cetia4 - the framework is ready for it.

分享到:
评论

相关推荐

    cetia4_tutorial_1_1_1

    cetia4 1.1 版本的官方文档,适合英文比较好的同学

    cetia4 sdk(包括文档,源代码,实例)

    cetia4 sdk(包括文档,源代码,实例),多年存档,共享给大家分享。

    rest框架cetia4的教程

    rest框架cetia4的教程 特点:基于Servlet API开发,可以运行于所有的Web容器中。 优点: 1. 可以充分利用Servlet API和JSP等资源,需要额外学习的概念较少,学习成本较低。 2. 对于传统的Web应用,可以使用服务器...

    ccetia4

    cetia4

    node-v9.6.0-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Python基于机器学习的分布式系统故障诊断系统源代码,分布式系统的故障数据进行分析,设计故障诊断模型,高效地分析并识别故障类别

    基于技术手段(包括但不限于机器学习、深度学习等技术)对分布式系统的故障数据进行分析,设计故障诊断模型,高效地分析并识别故障类别,实现分布式系统故障运维的智能化,快速恢复故障的同时大大降低分布式系统运维工作的难度,减少运维对人力资源的消耗。在分布式系统中某个节点发生故障时,故障会沿着分布式系统的拓扑结构进行传播,造成自身节点及其邻接节点相关的KPI指标和发生大量日志异常

    JavaScript前端开发的核心语言前端开发的核心语言

    javascript 当今互联网时代,JavaScript已经成为了前端开发的核心语言它是一种高级程序设计语言,通常用于网页的交互和动态效果的实现。JavaScript的灵活性以及广泛的使用使得它变得异常重要,能够为用户带来更好的用户体验。 JavaScript的特点之一是它的轻量级,它可以在网页中运行无需单独的编译或下载。这意味着网页可以更快地加载并且用户无需安装额外的软件才能运行网页上的JavaScript代码。此外,与HTML和CSS紧密结合,可以直接在HTML文档中嵌入,使得网页的开发变得非常便捷。 JavaScript具有动态性,它可以在浏览器中实时修改页面内容和样。它可以通过操作DOM(文档对象模型来动态地修改网页的结构和布局,并且可以根据用户的行为实时地响应各种事件,如点击、标悬停、滚动等。这使得开发者可以轻松地为网页添加交互性和动态效果,提供更好的用户体验。 JavaScript也是一种面向对象的语言。它支持对象、类、继承、多态等面向对象编程的概念,使得代码结构更加清晰和可维护。开发者可以创建自定义的对象和方法,对功能进行封装和复用,提高代码的可读性和可维护性。

    四则运算自动生成程序安装包

    四则运算自动生成程序安装包

    基于Linux的私有文件服务器(网盘).zip

    基于Linux的私有文件服务器(网盘)

    源代码-access 管理 系统 API 文件.zip

    源代码-access 管理 系统 API 文件.zip

    海康机器人智能读码器工业协议操作手册V1.0.2.pdf

    海康机器人智能读码器工业协议操作手册V1.0.2.pdf

    256ssm-mysql-jsp 在线捐赠系统.zip(可运行源码+数据库文件+文档)

    根据需求,确定系统采用JSP技术,JAVA作为编程语言,MySQL作为数据库。整个系统要操作方便、易于维护、灵活实用。主要实现了系统用户管理、注册用户管理、信息发布管理、医疗物品分类管理、项目信息管理、捐赠项目管理、志愿者申请管理、个人求助管理、个人捐赠统计、系统管理等功能。 前台用户模块包括: 1. 首页:网站打开的第一个页面,显示网站的最新信息。 2. 用户注册/登录、3. 新闻资讯、4. 暖心故事、5. 我要求助、6. 我要捐赠、7. 我们的项目、8. 志愿者中心:实现志愿者中心的列表显示、9. 系统简介、10. 在线留言、11. 用户后台 后台管理员模块包括: 1. 系统用户管理、2. 注册用户管理、3. 信息发布管理、4. 医疗物品分类管理、5. 项目信息管理、6. 捐赠项目管理、7. 志愿者申请管理、8. 个人求助管理:管理员可以设置个人求助审核状态,可以删除个人求助审核信息。 9. 个人捐赠统计:管理员可以查看个人捐赠统计信息。 10. 系统管理:管理员可以对留言板信息进行查看、回复或删除 关键词:医药捐赠系统;JSP;MySQL

    系统性文献综述的撰写(Systematic Review)-范文2.pdf

    参考范文:Findings on Teaching Machine Learning inHigh School: A Ten -Year SystematicLiterature Review 用于学习研究,侵权请联系本人删除

    管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署.zip

    管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署.zip

    中世纪童话主题游戏设计元素组件素材Complete Fantasy Game UI kit.zip

    游戏开发资源,游戏UI,游戏GUI,游戏图标,PSD格式,XD格式,PNG下载,源文件,可编辑下载,游戏购物充值界面,宝石,图标,PS格式,AI格式等,游戏APP

    node-v7.7.3-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    毕业设计:Python图书馆大数据可视化分析系统(源码 + 数据库 + 说明文档)

    毕业设计:Python图书馆大数据可视化分析系统(源码 + 数据库 + 说明文档) 2 开发技术简介 4 2.1 基于B/S结构开发 4 2.2 python语言简介 4 2.3 MySQL数据库 4 3 需求分析 6 3.1 需求概述 6 3.2 业务流程分析 6 3.3 功能需求分析 7 3.4 性能需求分析 7 4 系统设计 8 4.1 设计指导思想和原则 8 4.2 界面设计 8 4.3 输入输出设计 9 4.4 数据库设计原则 9 4.5数据表设计 10 4.6系统模块总体设计 11 5 系统详细设计 12 5.1 注册 12 5.2 登录 13 5.3 图书列表 13 5.4 图书管理 14 6 系统测试 15 6.1 系统测试的方法与步骤 15 6.2 模块测试 15 6.4 评价 17

    什么是python-对于我们来说学习python的意义是什么

    python

    基于nwjs的网易云音乐Linux版客户端.zip

    基于nwjs的网易云音乐Linux版客户端

    node-v10.13.0-win-x86.zip

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics