Java Web 应用框架的下一个王者是谁?

动手实现一个简单的java web框架 最近看了《架构探险》这本书,实现了一个简单的web框架,现在回顾一下完成这个框架的过程是怎么样的。一、预备知识(一)框架和类库首先通过框架和类库的区别来理解一下框架,比如我们写程序就像是建造一个房子,框架就像是房子的整体结构(由钢筋水泥铸成),我们只需要按照自己的需要去装修自己的房子,让它成为我们想要的样子,而类库就像是我们需要用到的一个个材料,比如门板、玻璃、涂料,我们用这些材料来装修装修。我们使 阅读详情

Java Web 应用框架的下一个王者是谁?


经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。 Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hiber

经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。

 

Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hibernate作为挑战者,将官方的EJB成功挑落马下;这次反倒是官方的EBJ3成了挑战者,不知结局如何。

 

Java B/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。

一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts 1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。

其实IT应用技术,什么新鲜玩意并不难学。难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的老大,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那撑饱了用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在Java Web层的规范化方面所做出的贡献。

 

然而长江后浪推前浪,Struts 1.x的技术缺陷毕竟是隐患。

Sun力推JSF,打算一雪Web层框架缺失之耻。可惜JSF既要沿用Swing的技术路线,又要学ASP.NET,还要照顾产商的IDE,结果搞了个四不象,弄得里外不是人。当然Sun的技术实力毕竟是超强的,只要别重蹈EJB的覆辙,拿出点专断的精神(像这两年的NetBeans),做出像Swing那样水准的东西,JSF当大有作为。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。

 

而Struts就更没有志气了,把WebWork换了个标签,凑出个Struts2,Bug多多。说实在话,根本不如原版的WebWork。如果不是靠了原先的fans捧场,根本就没得混。不过Struts原本就不是以技术取胜的,靠的是抢占先机带来的习惯优势。如果原先的fans们在这两年内都能转到Struts2,那么Struts二世仍将雄霸天下。

 

综上所述,未来两年,JSF与Struts将展开Java Web框架的最终战争。

以笔者愚见,结局有二:一是不论Struts还是JSF获胜,Java Web层都将结束混战的局面,这对Java Web开发的标准化是非常有利的,并有助于巩固Java在B/S界的地位;二是Struts1.x、Struts2、JSF三分天下,必然从整体上削弱Java在B/S界的竞争力,并将进一步被RoR、ASP.NET、PHP所蚕食。

Java Web开发入门与实践:构建一个简单的Web应用 Servlet:Java Web应用的核心技术,Servlet是一种运行在Web服务器上的Java类,用于处理客户端请求并生成响应。:基于Servlet技术的动态网页生成技术,允许在HTML页面中嵌入Java代码。Spring框架:目前最流行的Java Web开发框架,提供了全面的解决方案,如控制反转(IoC)、面向切面编程(AOP)、事务管理等。:用于Java程序与数据库交互的API。:前端开发技术,用于构建用户界面。 阅读详情

相关推荐

Java编写Web开发框架:从零开始打造一个简易框架!

🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1136

Java:2022年Java Web开发的未来会是什么样子?

Java 是一种简单的、面向对象的编程语言,用于构建数字解决方案。它是一种跨平台的编程语言。Java 工程师也很欣赏该技术扩展应用程序的能力。

yueqian_edu的博客 378

Java Web整合开发王者归来:SSH框架整合论坛系统实战

随着互联网技术的迅猛发展,Java Web开发已成为构建动态网站和企业级应用的主流技术之一。本章将带您进入Java Web整合开发的浩瀚宇宙,从技术演进到应用场景,详细探讨Java Web开发的核心价值和实际应用。首先,我们将简述Java Web开发的技术演进,揭示其在服务端编程中的重要作用。然后,通过分析Java Web应用的基本架构,来理解如何构建一个高效、可维护的Web系统。最终,本章将为读者提供一个清晰的Java Web开发概览,为后续深入学习各种框架和技术打下坚实的基础。

weixin_42600128的博客 1114

Java Web层的下一个王者是谁?

经过数年的“框架大战”,Java界的各种框架找到了自己应有的位置。 Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hibernate作为挑战者,将官方的EJB成功挑落马下;这次反倒是官方的EBJ3成了...

愚者千虑 172

Java Web应用快速启动框架教程

<description>自定义标签描述</description>

weixin_42350014的博客 812

STM32低功耗模式下ADC采样抖动的5个隐藏陷阱及解决方案(实测避坑)

本文深入探讨了STM32低功耗模式下ADC采样抖动的5个常见陷阱及解决方案,包括多通道采样电压跃迁、外设开关信号稳定、低功耗模式与ADC时钟同步、输入阻抗失配以及基准电压稳定性问题。通过实测数据和优化代码示例,帮助工程师有效规避ADC采样数据抖动问题,提升物联网设备的测量精度和稳定性。

weixin_30316097的博客 382

最受欢迎的Java Web框架

随着Java多年来的发展,已经进行了多种尝试来简化各种&#2...

专业的开发者“讨论” 518

告别环境配置噩梦:用Docker Desktop + WSL2在Windows上5分钟搞定vLLM运行环境

本文详细介绍了如何在Windows系统上使用Docker Desktop和WSL2快速搭建vLLM开发环境,5分钟内完成配置。通过容器化技术解决传统环境配置中的依赖冲突、环境污染等问题,提供一键复用的高效方案,特别适合AI开发者快速部署和测试vLLM框架。

weixin_28728495的博客 503

Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

Java 程序员方向太多,且不说移动开发、大数据、区块链、人工智能这些,大部分 Java 程序员都是 Java Web/后端开发。那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢? 今天,栈长我给大家列举了一些通用的、必须掌握的框架,学会这些,20K+ 不是问题。 1.Spring 毫无疑问,Spring 框架现在是 Jav...

weixin_34249678的博客 1307

CCS8.1 导入CCS3.3工程方法

    CCS3.3作为开发人员使用最广开发工具,研究人员手上存在不少该版本的建立的程序版本,然而随着TI公司推出高级版本的CCS平台,在新的平台上集成了更加丰富的功能和优点。利用新版本的平台在开发和编译旧版本工程上可以节省大量时间和精力。在使用新版本开发3.3版本工程时,首要解决的就是加载3.3的工程文件,现将加载过程记录如下: 第一步:Project-&gt;Import Legacy CC...

1万+

安卓应用锁开发实战:如何通过拦截Activity启动实现密码验证(附完整代码)

本文深入探讨了在安卓系统中开发应用锁功能的两种实战方案:通过修改ActivityStarter源码或实现IActivityController接口来拦截Activity启动流程,从而实现启动前的密码验证。文章详细对比了两种方案的技术选型、实现细节与适用场景,并提供了处理隐式Intent、验证状态管理等核心问题的完整代码,为开发系统级安全功能提供了实用指南。

tcp8optimizer的博客 458

java 开源框架 对比_对比分析Spring和Struts两种开源框架

基于Web的MVC framework在J2EE的世界内已是空前繁荣。TTS网站上几乎每隔一两个星期就会有新的MVC框架发布。目前比较好的MVC,老牌的有 Struts、Webwork。新兴的MVC 框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等。这些 框架都提供了较好的层次分隔能力。在...

weixin_42516642的博客 443

ArcGIS实战:利用IDW反距离权重法实现气象数据的批量空间插值

本文详细介绍了如何利用ArcGIS中的IDW反距离权重法实现气象数据的批量空间插值。通过实战案例和脚本示例,展示了IDW插值在气象数据分析中的高效应用,包括算法原理、参数调优、批处理自动化及常见问题解决方案,帮助用户快速生成连续分布的气象地图。

weixin_29051149的博客 240

常见MVC模式框架

Struts Struts是Apache软件基金下Jakarta项目的一部分。Struts框架的主要架构设计和开发者是Craig R.McClanahan。Struts 是Java Web MVC框架中不争的王者。经过长达九年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring

鑫鑫博客 969

激光可燃气体传感器:核心技术环节分析

激光可燃气体传感器核心技术涵盖七个维度:1)TDLAS光谱吸收与调制技术(检测下限ppm级);2)DFB激光器与双闭环温控系统(波长稳定性±0.0036nm);3)微弱信号处理技术(信噪比提升60dB);4)环境补偿算法(温压补偿误差<±1%);5)本质安全防爆设计(ExiaIICT4Ga等级);6)智能边缘计算(STM32L476芯片);7)多重性能验证(响应时间<1秒)。通过微型化、多气体检测等创新,该技术已在工业安全等领域替代传统方案,实现高精度检测。(149字)

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1045

基于SpringBoot 3 + Vue 3的全栈民宿预约管理系统设计与实现

文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、房源管理、订单流程、支付集成等),并提供关键代码片段,最后对系统进行总结与展望。.requestMatchers("/api/admin/**").hasRole("ADMIN") // 管理员接口。.requestMatchers("/api/auth/**").permitAll() // 认证接口公开。.requestMatchers("/api/public/**").permitAll() // 公开资源。

2201_76125393的博客 272

对于Struts和Spring两种MVC框架的比较

 基于Web的MVC framework在J2EE的世界内已是空前繁荣。TTS网站上几乎每隔一两个星期就会有新的MVC框架发布。目前比较好的MVC,老牌的有Struts、Webwork。新兴的MVC框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等。这些框架都提供了较好的层次分隔能力。在实现

gobeyond2000的专栏 333

机器人在果园内行巡检仿真(2D雷达、realsense相机)

DiffBot是一种具有两个轮子的自主差动驱动机器人。它的主要处理单元是一个运行Ubuntu Mate 20.04和ROS 1 (ROS Noetic)中间件的Raspberry pi4b。该存储库包含ROS驱动包、真实机器人的ROS控制硬件接口和模拟DiffBot的配置。修改配置文件orchard_world.launch。

如果想成为中心,那么就到中心去吧。 1312

Struts VS Spring 两种MVC框架比较

基于Web的MVC framework在J2EE的世界内已是空前繁荣。TTS网站上几乎每隔一两个星期就会有新的MVC框架发布。目前比较好的MVC,老牌的有Struts、Webwork。新兴的MVC 框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等。这些框架都提供了较好的层次分隔能力。在实现

梦回吹角连营 759

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Struts VS Spring两种MVC框架比较

2006-10-26 10:19 mandyhou Java研究组织 我要评论(1) 字号:T | T 本文通过对目前最流行、最常用的两种framework(Struts、Spring)进行介绍,来告诉你如何选择一个好的框架应用在项目中,以提高项目的效率和可重用。 AD: 2013大数据全球技术峰会课程PPT下载 基于Web的MVC fra

一个人,在路上 580

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

流行的Web应用开发框架

例如,在一个电子商务网站中,可以创建一个“商品卡片”组件,这个组件可以在不同的页面(如商品列表页、推荐商品页等)中重复使用,并且可以根据不同的商品数据(通过props传递)显示不同的内容。当组件的状态发生变化时,React会先在虚拟DOM上进行更新操作,然后通过比较虚拟DOM的新旧版本,找出最小的DOM更新操作集,再将这些更新应用到实际的DOM上,从而减少了不必要的DOM操作,提高了页面渲染速度。- Flask的核心非常简洁,只提供了基本的Web开发功能,如路由系统(用于将URL映射到函数)和请求处理。

weixin_62879005的博客 4528

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java web王者归来_Java web王者归来

《Java Web整合开发王者归来(JSP Servlet Struts Hibernate Spring)》 Java Web开发经典之作!累计11次印刷,销售长期雄踞Java Web类图书榜前列!大量读者赞誉有加,几万读者的共同选择! 资深Java程序员耗时一年时间写作,十年开发经验毫无保留。全面、系统、深入介绍JavaWeb开发的核心技术与主流框架。 内容全面:涵盖了Java Web开发所涉...

weixin_31509753的博客 380

Java开源Web框架

URL:http://www.open-open.com/07.htm  WebWork   点击次数:18070WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwo

心如止水--coofucoo的专栏 2万+
上一篇: Tapestry是什么?
下一篇: Hibernate 多对多 删除操作
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值