现代Java Web开发框架分析

随着基于万维网的应用程序服务器的发展及其相关的应用软件的膨胀,支持这些技术的开发框架也随着蓬勃发展。当前,在企业开发领域中出现了许多特别适合于Java J2EE平台的软件开发框架。

在本文中,我将集中讨论现代的Java开发框架,分析它们的特征和各自的使用优点。另外,我还想比较目前流行的生产质量框架,例如Struts,Spring和Hibernate,并详细讨论其基本相似性及有关基本概念。

我将简短分析被用于支持这些框架的企业开发环境或工具箱,例如Borland JBuilder,Eclipse以及BEA Workbench。请记住,市场上有许多有关这些开发框架的图书;然而,在任何一篇文章中,要对它们进行深入描述是不可能的。不过,我将尽力讨论最广泛地使用的概念。

1. Java Web开发架构共同点

几乎所有现代的网络开发框架都遵循了模型-视图-控制(MVC)设计模式--商业逻辑和描述被分开,由一个逻辑流控制器来协调来自客户端的请求和服务器上将采取的行动。这条途径成为了网络开发的事实上的标准。每个框架的内在的机制当然是不同的,但是开发者们使用来设计和实现他们的Web应用软件的API是很类似的。差别还存在于每个框架提供的扩展方面,例如标签库,JavaServer Faces或JavaBean包装器等。

所有的框架使用不同的技术来协调在Web应用程序之内的导航,例如XML配制文件,java属性文件或定制属性。所有的框架在控制器模块实现的方法方面也存在明显的不同。例如,EJB可能实例化在每个请求中需要的类或使用Java反射动态地调用一个适当的行动(Action)类。另外,不同框架在各自引入的概念上也有所不同。例如,一个框架可能定义用户请求和反应(以及错误)场所,而另外一个框架可能仅仅定义一个完整的流--从一个请求到多个响答和随后的再请求……

各种Java框架在它们组织数据流的方法方面是很类似的。在请求发出后,在应用程序服务器上产生一些行动;而作为响应,一些可能包含对象集的数据总是被发送到JSP层。然后,从那些对象--可能是有setter和getter方法的简单类,javabeans,值对象,或者一些集合对象--中提取数据。现代的Java框架还想方设法简化开发者的开发任务,如通过使用简易的API,数据库连接池,甚至数据库调用包等提供自动化的追踪方式来实现。一些框架或者能够钩进(hooked into)另外的J2EE技术中,例如JMS(Java消息服务)或JMX,或把这些技术集成到一起。服务器数据持续性和日志也有可能成为框架的一部分。

2. 企业开发环境

一些框架在Web开发者社区和企业发展领域变得相当流行。随着这些框架的日渐成熟并开始发行稳定的版本,商业的IDE(集成发展环境)开始为这些框架提供支持并把他们纳入到自己的产品中。一些IDE甚至基于框架的概念开发出整个的产品,例如,BEA WebLogic Workshop就是基于Struts框架建立起来的。

Borland Jbuilder为Struts提供了内建的支持,也支持JSF和JSTL。

Borland Jbuilder

Eclipse平台已成为一个很流行的开发工具,部分因为它是基于插件的,部分因为它对于Web框架的支持。现在,出现了众多的Eclipse插件,甚至完整的基于Eclipse的IDE。许多插件被设计适合于Struts框架开发,例如MyEclipse(www.myeclipse.org)或M7(www.m7.com)。

Eclipse平台

大多数IDE都具有图形化的流程和可视化对象(类代理)。例如,下面是一个JBuilder的行动(Action)设计器,用于规划Web应用程序的页面顺序。

WebLogic Workshop引入Java页面流程技术,它扩展了Struts框架而提供了一个简化的开发模型并增加了另外一些特性。Workshop使用页面流(Page Flows),实现轻易地把用户接口与导航和商业逻辑分离开来。页面流由JSP页组成,这些页面包含用户接口元素和一个控制器文件(JPF)--它包含由用户提供的数据将怎样被处理的指令以及下一步什么页面将被返回到用户的信息。页面流动提供给开发者一个可视化的Web应用程序总体轮廓,它让开发者能够看到直观地分析不同的JSP页彼此相关联,并实现Web应用程序整体结构的快速建立。

WebLogic Workshop

MyEclipse提供类似的特征,并带有更多吸引人的代价标签。

MyEclipse

3. Apache Struts框架

Struts框架是一开源产品,基于模型-视图-控制器(MVC)设计范例来开发Web应用软件。它使用并且扩展了Java Servlet API,最初由Craig McClanahan创建。在2000年5月,它被捐赠到Apache Foundation。Struts框架展示了一个强有力的定制标签库,平铺显示,表单检验和I18N(国际化)。另外,Struts支持许多描述层,包括JSP,XML/XSLT,JavaServerFaces(JSF)和Velocity;还支持一些模型层,包括JavaBeans和EJB。

4. Spring框架

Spring框架是一个分层的Java/J2EE应用程序框架,基于Expert One-on-One J2EE设计和发行的代码。Spring框架提供一种简单的开发技术,用于自动化处理工程中大量的属性文件和助理类。

Spring框架包括的主要特色有:

◆强有力的基于JavaBeans的配置管理,使用Inversion-of-Control(IoC)原则。

◆一个核心bean工厂,可用在任何环境,从applets到J2EE容器程序。

◆通用的抽象层适合于数据库事务管理,允许可插入的事务管理器,并且不需要处理低层次的问题就可容易地划分各事务的界限。

◆一个很有意义的异常处理的JDBC抽象层。

◆与Hibernate集成到一起,DAO实现支持以及事务策略。

5. Hibernate框架

Hibernate是一适合于Java语言的对象-关系映射(ORM)解决方案。它也是开源软件,类似Struts,并且在LGPL保护下发布。Hibernate被一群来自世界各地的Java软件开发者所共同开发。它提供一个易用的框架来实现把一个面向对象的域模型映射到一传统的关系数据库。它不仅负责从Java类到数据库表格(以及来自Java数据类型的SQL数据类型)的映射,而且还提供数据查询和检索能力,并能大大减少花在SQL和JDBC手工数据处理上的开发时间。

Hibernate的目标是减轻开发者的与大量普通的数据持续性相联系的编程任务。Hibernate还能够适应开发进程,无论它是刚开始设计还是来自一现成的数据库。Hibernate可以自动生成SQL,使开发者摆脱了手工处理结果集和进行对象转化的繁琐任务,并能使应用程序移植到所有的SQL数据库。它还能提供透明的持续性,对持续性类的唯一的要求的是实现一个无参数的构造器。

这个框架典型地使用在JavaSwing应用软件、基于Servlet的Java应用软件和使用EJBsession beans的J2EE应用软件中。

6. Java Web开发架构结论

本文概述了现代最流行的Java Web开发框架。当然,还有更多框架尚未描述,开源和商业化的都有,例如WebWork(http://www.opensymphony.com/webwork/)或Tapestry(http://jakarta.apache.org/tapestry/);而许多框架通过扩展另外的MVC框架在内部被成功开发。当前,最流行的框架是Apache Struts。当Web开发竞技场继续演变它的工具和编程方法时,Java应用程序框架也将继续成长下去。Java Web开发框架的未来一片明亮!

Java Web后台模板开发实战项目 Java Web开发自JDK 1.1发布以来,逐步构建起以为核心的三层技术体系。Servlet作为运行在服务器端的Java类,负责接收HTTP请求并生成响应,是MVC中控制器的原始实现:");JSP(JavaServer Pages)则通过在HTML中嵌入Java代码(<% %>),实现动态页面渲染,提升了前后端协作效率。而JavaBean作为POJO(Plain Old Java Object)模型,承担数据封装职责,为业务逻辑解耦奠定基础。 阅读详情

相关推荐

构建简易Java Web开发框架

本文还有配套的精品资源,点击获取 简介:“简易Java框架Web”是初学者和开发者的首选策略,用于简化Web应用程序开发。它包含预编写的一系列代码库,以及基本组件和工具,如Spring和Struts框架,支持多种数据库交互,并遵循MVC架构。本项目涵盖Web层处理、数据库集成和资源管理,旨在快速搭建和维护Web服务。 1. Java Web框架简介 Java...

weixin_36277197的博客 1556

Java web 开发常用的框架详解

Spring是Java开发中最流行的企业级框架之一。它提供了全面的基础设施支持,包括依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问等。Spring框架的核心是Spring IoC容器,它管理对象的生命周期和配置。

Itmastergo的博客 1万+

概率论—期末复习速成笔记(自用)

概率论期末复习

a200327的博客 2万+

JavaWeb开发框架——Spring

1、Spring简介 1.1、Spring是什么 Spring是分层的Java SE/EE 应用full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。 提供了展现层SpringMVC和持久层Spring JDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。 .......

weixin_44623055的博客 4890

【编号326】全国地灾数据全国25万多个地质灾害点空间分布数据

全国地质灾害点分布数据涵盖25万多个各类灾害点信息,为灾害防治提供重要依据。通过分析灾害分布规律,可识别高风险区,指导监测预警、应急避险和基础设施建设。多地成功案例(如湖北兴山崩塌避险、重庆长寿滑坡预警、湖南"挪床行动")证明,提前预警和科学防治能有效避免人员伤亡。云南省2024年通过预警体系成功避让31起灾害,保护1342人生命安全。这些实践表明,地质灾害防治需结合科技手段与群防体系,实现早预警、早处置。

千奇百怪无奇不有 1467

用于可靠的钙钛矿薄膜瞬时光致发光模拟的拟合程序

简介 对光激发后的电荷载流子动态的研究对于确定太阳能电池的几个特性至关重要,例如,体和界面重组的数量以及向电荷传输层转移过程的速度。 瞬态光致发光(trPL)是用于研究这些特性的最流行的表征方法之一。 该实验是通过在样品上照射几纳秒的激光脉冲,并记录一段时间内的发光情况来进行的。辐射性重组的光生电荷载流子将引起太阳能电池的光子发射,而非辐射性重组的电荷载流子将不会对发光作出贡献。因此,可以测量到强度随时间递减的光致发光瞬态。(见图1表示trPL的测量和它的输出)。 图1. 一...

FluximAG的博客 2362

javaweb开发常用架构

mvc+Spring+ MyBatis

weixin_52332409的博客 4610

Disk Drill 使用教程

Disk Drill只需单击几下,即可恢复USB闪存驱动器上已删除的数据,包括丢失的照片,文档和其他文件类型。Disk Drill是真正的多合一应用程序,可在Mac上恢复闪存驱动器。Disk Drill将自动应用最佳的笔式驱动器恢复算法来恢复Mac数据。 USB闪存驱动器是一种传输和存储信息的好方法,但是如果错误地丢失或删除了存储在其中的文件,会发生什么呢?当您需要Mac的闪存驱动器数据恢复软件时,Disk Drill是您的最佳选择。Disk Drill将扫描您的USB闪存驱动器(也称为笔式驱动器)并查找

zjj778899的博客 1万+

2023年最佳榜单之前五Web开发Java框架

​ 您在寻找用于网络开发的最佳Java框架吗?请看我们列出的前5个框架,它们的特点、优点和用例。Java是地球上最流行和最广泛使用的编程语言之一。它以其可靠性、性能和对不同平台和设备的兼容性而闻名。然而,如果没有框架的帮助,用Java开发网络应用程序可能是具有挑战性和耗时的。

WPHunter的编程技术资料库! 2549

告别手动解析!用这个Qt库轻松处理Cat 21/62等18种Asterix航空数据

本文介绍了基于Qt框架的高效Asterix报文解析库,帮助开发者轻松处理Cat 21/62等18种航空数据。该库通过协议抽象化、多维度API设计和跨平台支持,解决了手动解析的复杂性和易错问题,显著提升开发效率和系统可靠性。

weixin_42529366的博客 207

人形机器人解耦驱动腿部设计与FAST性能优化

机器人运动控制的核心在于动力学解耦与能量效率优化。通过多连杆机构设计,可以实现关节运动的独立控制,显著降低惯性叠加和能量损耗。DecARt Leg采用创新的齿轮-四杆复合机构,将腿部伸缩与摆动运动完全解耦,配合多杆踝关节传动系统,实测行走速度可达4.18m/s。这种解耦设计不仅提升了动态性能,其提出的FAST指标更为腿部构型提供了量化评估基准,在仓储物流、地形适应等场景展现出显著优势,为人形机器人运动控制提供了新的技术路径。

weixin_33759613的博客 238

全面解析当前主流 Java 框架:从核心功能到实战应用

在 Java 开发领域,主流框架如同精密的工具集,各自解决不同场景的技术难题。Spring Boot 以自动配置为核心,大幅降低微服务开发门槛,让开发者专注业务逻辑;MyBatis 通过灵活的 SQL 映射,在复杂查询场景中展现强大控制力;Spring Cloud 则像乐高积木,将服务注册、网关路由等组件有机整合,构建分布式系统骨架。这些框架并非独立存在,而是通过生态协作形成合力 —— 例如 Spring Boot 与 Spring Cloud 无缝衔接,MyBatis 可与 Spring Data JPA

2501_91606508的博客 3108

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1244

《Java前端开发全栈指南:从Servlet到现代框架实战》

在当今Web开发领域,Java依然是后端开发的主力语言,而随着前后端分离架构的普及,Java开发者也需要掌握前端技术栈。本文将全面介绍Java Web前端开发的核心技术,包括传统Servlet/JSP体系、现代前端框架集成方案,以及全栈开发的最佳实践。通过本文,您将了解如何构建现代化的Java Web应用前端界面。

2301_81727431的博客 1286

Python爬虫实战:京东/淘宝商品价格与评论监控系统——从User-Agent伪装到编码陷阱的全面攻克

在电商数据驱动决策的今天,无论是个人消费者想抓住历史低价,还是市场分析师需要追踪竞品动态,抑或是算法交易员依赖实时价格信号,自动化的商品价格与评论监控系统都已成为不可或缺的工具。然而,电商平台的反爬虫策略日益严苛,字符编码的“暗坑”更是让初学者屡屡碰壁。本文将以京东(JD.com和淘宝(Taobao.com两大主流平台为目标,手把手带你构建一个稳定、高效的商品监控爬虫。User-Agent伪装——如何模拟真实浏览器行为,突破初级反爬。GBK/UTF-8编码混战。

2201_76125261的博客 75

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【技术干货】Vaadin Flow vs Hilla:你该选择哪个Java Web框架?

在现代Web开发中,前后端分离已成为主流趋势,但对于许多以 Java 为核心技术栈的企业来说,如何高效地构建现代化Web应用依然是一个挑战。今天我们为大家介绍的,是由 Vaadin 平台 提供的两种开源全栈Web框架 —— Vaadin Flow 与 Vaadin Hilla。它们自 Vaadin 24.4 起成为平台核心组成部分,都可用于构建现代、交互性强的企业级Web界面。

开发者效率提升工具的博客 975

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Groovy语言的Web开发

Groovy是基于Java虚拟机(JVM)的动态语言,自2003年首次发布以来,已逐渐发展成为一种强大而灵活的编程语言。Groovy兼容Java,允许开发者使用Java的类库和工具,这为已有Java项目的开发者提供了极大的便利。

2501_90494620的博客 385

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java编程语言最流行的7个框架分析

转自:微点阅读https://www.weidianyuedu.com Java编程语言最流行的7个框架 1,SpringMVC 在中国有一种说法“生姜仍旧又辛辣”,所以虽然SpringMVC已经发布了十多年,但它仍然强大有力,并且处于领先地位,具有绝对优势。在拥抱完整的MVC框架之后,Spring已经发展并且现在是面向Internet的应用程序的综合Java框架,为软件工程师提供了一个功能强大的工具包,用于Web应用程序开发和安全项目的应用程序配置。作为最受欢迎的程序员之一,Spring的完..

ysds20211402的博客 1216

Web 应用开发一课一得:深入解析常见注解

在 TypeScript 中结合 Express 框架,可以通过自定义装饰器来实现类似注解的功能。// 定义一个用于标记路由的装饰器// 使用控制器});注解在 Web 应用开发中扮演着至关重要的角色,它为开发者提供了一种便捷、高效的方式来管理和配置代码。

xuejoker0717的博客 1028

Struts:Java Web开发的MVC奠基者

本文系统回顾了Struts框架在Java Web开发中的演进历程。作为早期MVC模式的经典实现,Struts1.x通过ActionServlet、ActionForm等组件实现分层架构;Struts2.x则融合WebWork思想,采用拦截器机制和OGNL表达式,提升灵活性。文章详细解析了核心组件、配置文件、标签库及验证框架,并探讨了文件上传、国际化等高级特性。通过对比现代框架,指出Struts虽已衰落,但其MVC理念、配置驱动等设计思想深刻影响了Java Web生态。对开发者而言,理解Struts的演进有助

油墨香^-^的博客 436

Java反编译工具GUI框架选型报告

为了java反编译工具增加图形界面,在几中主流gui框架中进行技术选型。

weixin_43328357的博客 954

MyEclipse,一个支持技术全面的现代Web开发工具

MyEclipse是现代全栈开发人员的完美IDE,本文将介绍一些具体功能技术,欢迎下载工具体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1985

8 个最好的 Java RESTful 框架

过去的每一年,涌现出越来越多的Java框架。就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的。连我的老祖母现 在也使用 一个我从来没有听说过而且可能永远不会使用的框架。玩笑归玩笑,可以做几乎任何事的臃肿的框架市场已经饱和,,但是如何评判呢?这篇文章旨在提供目前最好 的 Java RESTfulful 框架。我只介绍轻量级的产品, 略过了那些臃肿的过度设计的框架。同时,

探秘 1501

Web开发架构--常见web后端框架介绍(python、java)

Web开发流程需求分析:明确项目目标和功能需求。设计架构:选择技术栈,设计数据库和API。前端开发:实现UI界面和交互逻辑。后端开发:处理业务逻辑和数据存储。测试与调试:确保功能正确性和性能优化。部署上线:将应用发布到服务器或云平台。运维与维护:监控系统运行,修复问题并迭代更新。前端:HTML、CSS、JavaScript。后端:Web服务器、框架、数据库、ORM。网络协议:HTTP/HTTPS、WebSocket。工具与运维:Git、Docker、云服务。Web框架。

qq_52852649的博客 1万+

Web前端框架开发入坑指南

都2020年了,尽管 Web 开发的典型应用场景除了将服务器用作平台、浏览器用作客户端之外,几乎很少活跃于其他业务领域,但不可否认 JavaScript 语言和框架的使用已经成为了主流。Angular、React 和 Vue,作为 JavaScript 的三大框架已逐步发展成熟,三者的差异性也越发明显,假设 JavaScript 还会继续流行十年左右,未来十年,你将会作何选择? 企业现状 多个项目组协同开发多个业务应用:大一点公司叫做敏捷或者协同开发,小的公司就是一锅粥开发人干的事杂。 业务和产品

Enweitech Software Works 1万+
上一篇: 理解PHP中的MVC框架编程
下一篇: Google、VMware让Java扛起云计算大旗
SleepInDelphi
博客等级 码龄19年 32粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值