阿里云ODPS普惠算力再升级,Data+AI全产品降价低至59元! 了解详情
写点什么

JSR 371——Java EE 8 新的 MVC 框架

  • 2014-11-05
  • 本文字数:819 字

    阅读完需:约 3 分钟

MVC 是一种软件架构模式,它将业务逻辑、数据和界面显示的代码分离,将业务逻辑聚集到一个模块里面,当用户需要改进或定制个性化界面及用户交互的时候不需要重新编写业务逻辑。在过去的十几年中,JSF 所提供的面向组件的 MVC 是 Java EE 平台仅有的用户界面技术。而另一边 Spring MVC 以及 Struts 等技术却已经被广泛采用并产品化。MVC 1.0 规范( JSR 371 )的产生既是为了填补这一空白,同时也是为了满足广大 J2EE 开发者的要求。

那么与之前的 JSF 相比,JSR 371 规范有哪些不同之处呢?它的目的是不是为了替代 JSF 呢?Rahman 在自己的博客文章《 Java EE 8 的新 MVC 框架》中指出 JSR 371 是一种面向操作的 MVC,而 JSF 则是一种面向组件的 MVC,对于它们之间的区别,Rahman 通过一幅图做了说明:

面向组件的 Web 框架和面向操作的 Web 框架

通过该图我们能够看出:面向组件的方法关注的是尽可能地自动化控制器、导航等内容的处理,样板代码特别少,同时会提供可重用的组件;而面向操作的方法更关注于 HTTP 生命周期以及纯 Web 的开发体验。前者拥有强大的插件系统,更接近于传统的 MVC;后者没有组件(仅有一些模板),没有特定的生态系统,需要人工处理状态信息。从应用范围来看,JSF 通常会用于公司内部的那些通过表单或者工作流驱动的应用程序,而开放的 Web 应用程序则更倾向于使用面向操作的框架。因此,我们能够看出 JSR 371 和 JSF 之间是一种互补的关系,JSR 371 的出现并不会替代 JSF,而是为我们提供了另一种选择。

不过,虽然 JSF 和 JSR 371 针对的场景各不相同,它们依然有一些共同的地方

  • 使用 CDI 作为模型层
  • 使用 Bean Validation 作为校验层
  • 使用表达式语言作为视图和模型之间的粘合剂
  • 使用 Facelets 和(或)JSP 作为必须支持的视图声明语言

感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-05 03:415134
用户头像

发布了 321 篇内容, 共 128.2 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

AppGallery Connect(AGC)账号与权限管理体系

小赵学鸿蒙

商务 AppGallery Connect 鸿蒙开发工具

AI技术在英语背单词方面的应用

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI技术应用

微信读书十周年,后台架构的技术演进和实践总结

JackJiang

网络编程 即时通讯 IM

用DeepSeek+ Python 自动生成测试用例 狂省5小时,漏测率暴降83%!

测试人

人工智能

YMatrix 技术内幕:详解 10w+ TPS 背后的技术矩阵

YMatrix 超融合数据库

OLTP HTAP OLTP 场景实践 YMatrix HTAP数据库

图纸太杂乱?1秒关闭CAD图层,清爽看图!

在路上

cad cad看图 cad图纸

面临秋招!卷S人的Java中高级核心知识全面解析面试手册,涨薪跳槽拿高薪靠它了!

程序员高级码农

Java 程序员‘

原点安全入选Gartner®“数据安全平台”中国市场指南代表厂商

原点安全

从电脑到座舱:英特尔携AI科技杀入智能汽车主战场

科技热闻

向量删除的3种方式

DashVector

人工智能 数据库 大模型

HDC 2025|在AppGallery发现精品应用

最新动态

商场商圈潜客挖掘模型

天翼云开发者社区

数据挖掘 大数据

AI加持|博睿数据公众号正式升级运维智能体!

博睿数据

等保测评费用谁出?收费依据是什么?

行云管家

等保 堡垒机 等保测评

JVM内存结构33连问

量贩潮汐·WholesaleTide

JVM

爱测智能体测试平台·全新升级邀您体验

测试人

人工智能 软件测试

开源鸿蒙亮相HDC 2025 共建千行万业的数字底座

最新动态

更强模型效果!豆包大模型 1.6 系列上线边缘大模型网关,最高申领1000万免费 Tokens

火山引擎边缘云

AI+ 端侧AI 大模型 侧端大模型

2025年含泪狂刷Android基础面试118题,offer拿到手软

程序员每日分享

程序员 面试 移动开发 Android开发 互联网大厂

新能源车企需要用到堡垒机情形简单分析

行云管家

网络安全 数据安全 堡垒机

AWS X 易点天下解码Agentic AI驱动下的营销新变革

新消费日报

Java线程池详解:高效并发编程的核心利器

不在线第一只蜗牛

Java

基于Casbin的ABAC授权模型设计与开发踩坑实录

天翼云开发者社区

安全 权限管理 访问控制

上海人工智能实验室明珠湖会议首开,解答AI前沿疑问,推进科学智能

ModelWhale

科学智能 上海人工智能实验室 明珠湖会议

国内独家AI+操作系统TencentOS Server亮相2025中国国际金融展

极客天地

医学+AI系列第一场|聚焦北京中医药大学的产-教-研融合、以赛促学、创新驱动的人才培养实践

ModelWhale

以赛促学 北京中医药大学

flstudio找不到中文设置,没有语言选项怎么办?FL Studio设置中文教程,FL Studio中文版免费下载

阿拉灯神丁

编曲软件 FL Studio 水果FL Studio FL水果 音乐创作

2025年面试通过率低?来看看一位Android大牛的BAT面试心得与经验总结

程序员每日分享

程序员 面试 移动开发 Android开发 互联网大厂

PAI推理重磅发布模型权重服务,大幅降低冷启动与扩容时长

阿里云大数据AI技术

开源 扩容 冷启动 模型训练/测试 大型语言模型LLM

能源行业数智化运维实战指南 | 博睿数据能源行业精选案例集重磅发布!

博睿数据

DeepSeek-R1源码解读

AI布道Mr.Jin

JSR 371——Java EE 8新的MVC框架_Java_孙镜涛_InfoQ精选文章