Java Web实践专题——应用分层

独立程序
例如:Word Excel
特点:
优点:速度比较快,不受其他环境的影响。
缺点:需要安转专门的程序、更新比较麻烦、功能共享比较困难、数据无法共享。
C/S结构
C表示Client,客户端程序;
S表示Server,服务器端程序;
典型的例子:服务器端只有数据库(共享数据)、QQ应用(功能分别在两台机器上完成,对于每一台机器来说,有时候是客户端,有时候是服务器端)
特点:客户端仍然需要安装单独的应用,服务器端可能是应用也可能是数据库。有的仅仅共享数据,有的会共享功能。
B/S结构
B是Browser,浏览器。S表示Server,是服务器。
特点:不需要专门的客户端程序,只需要通用的浏览器作为客户端。如果要维护程序,只需要在服务器端进行即可。
多层结构
多层结构不仅仅是指Web应用,但是我们以Web应用为例介绍,客户端程序与Web应用的区别主要是IO上的区别。
第一种:表示层(IO) 业务层(功能) 数据层(数据)
第二种:表示层(IO)控制层 业务层(功能) 数据层(数据)
第三种:表示层(IO)控制层 业务层(功能)数据访问层 数据层(数据)
第三种形式现在比较流行,又分为Sun公司的标准和流行组合,下面分别举例描述:
例1:Java的官方标准
表示层:JSP+EL+JSTL
控制层:Servlet
业务层:会话Bean+JavaBean
数据访问层:JPA+实体Bean(BMP+CMP)
数据层:DBMS
例2:流行的组合(Struts+Hibernate)
表示层:JSP+Struts的标签库+FormBean(用于传值,属于JavaBean,但功能主要是标单数据相关,所以划分表示层)
控制层:Struts的中心控制器Servlet+Action+struts-config.xml
业务层:JavaBean
数据访问层:Hibernate
数据层:DBMS
MVC模式
MVC模式非常流行,与上面的分层有什么关系呢?
实际上,在上面的分层中加入了控制层,隐含的就是采用了MVC模式。在MVC模式中,业务层和访问控制层都属于模型部分。
注:
JPA是Java Persistence API,持久性。封装对数据库的访问。EJB3中提出的。
EJB2中使用CMP和BMP。(Container Managed Persistence,Bean-Managed Persistence)
Hibernate也是用于封装对数据库的访问,称为O/R映射工具。
Web开发中的分层解耦 在现代Web开发中,分层解耦是一种常见的架构设计模式,它将Web应用程序分成多个独立的层次,每一层专注于一个特定的功能模块。通过解耦各层之间的关系,可以提升代码的可维护性、可扩展性、可测试性和可重用性。本文将详细介绍如何在Web开发中实现分层解耦,主要通过Java技术栈来实现分层架构,具体包括以下几个部分:分层架构简介分层架构的实现Java代码实现示例分层架构通常包括以下几个主要层次:表示层(Web层):负责与用户交互,展示数据,并接收用户的请求。业务逻辑层(Service层):处理业务逻辑,调用数据访问层 阅读详情

相关推荐

Web应用分层与设计模式实践

本文探讨Web应用的分层架构,指出Web层负责处理客户端请求与业务逻辑交互。介绍了外观模式在API中的应用,如HttpSession接口和洗衣机类示例。提供了图书馆缓存设计,支持按ISBN、作者和类别检索。讨论了服务类注入多数据源的重构策略,包括使用限定符。列举Java中观察者模式的多种实现方式,并给出了电影订单DAO的接口与JPA实现。

k9l0m1的博客 767

应用分层

应用分层 **开放接口层:**可直接封装 Service 接口暴露成 RPC 接口;通过 Web 封装成 http 接口;网关控制层等。 **终端显示层:**各个端的模板渲染并执行显示层。当前主要是 velocity 渲染,JS 渲染,JSP 渲染,移动端展示层等。 Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。 **Service 层:**相对具体的业务...

千里之行,始于足下 1449

Java项目如何分层

在现在的Java项目中的项目分层,大多数都是简单的Controller、Service、Dao三层,看起来非常简单。但是,随着代码越写越多,写久了以后,渐渐发现其实并没有把他们真正的职责...

yipiankongbai的专栏 2433

应用分层介绍

应用分层指的是将一个应用程序分解为不同的层级,每个层级负责不同的功能。这种分层的方法有助于提高代码的可维护性、可扩展性和可重用性,同时也使团队更容易协作开发。

2303_78892316的博客 639

Java Spring MVC分层设计

Java Spring开发,Controller, Service, DAO, Entity分层设计及代码实现。

Chris Mao的专栏 2万+

Spring web应分层(模块结构)

大家好我是小帅,今天我们来学习web开发的应用分层。

m0_66323401的博客 1025

应用分层, 系统各部分得以独立发展,更加灵活、可扩展和易维护

应用封层是一种常见的软件设计模式,将整个应用程序分解成若干个层次结构,并将每个层次结构分配特定的职责。常见的分层结构包括DAO层、Service层、Manager层、Web层和开放接口层等。

洪晓鸿 618

【实战指南】OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

hampeter的博客 1802

关于对java项目中应用分层的简单理解

对java项目中应用分层的简单理解

E_Possible的博客 1198

SCDM学习笔记(5)

几何前处理后一般会获得几何的固体区域,然而当进行流体仿真的时候是对流体的区域进行计算的。因此,如何快速地从固体的几何模型获得流体的几何模型是一个重点问题。 流体问题一般可分为内流场与外流场问题,对于内流场问题,SCDM有专门的处理工具 工程图纸大致如下: 要创建这个几何的大致策略是画出截面的圆形,再画出轴线,通过扫掠的方式建立几何。 以上是mixing的国体区域,通过体积抽...

diyhoo的编程小屋 6359

STM32G474实战:数字LLC电源控制程序从零到跑通(附完整代码解析)

本文详细介绍了基于STM32G474微控制器开发数字LLC电源控制程序的完整实战流程。从硬件平台搭建、CubeMX工程配置,到核心控制逻辑、双速率中断框架、数字PID实现,再到Burst模式、状态机等高级策略与异常处理,提供了从零到跑通的系统化指南与代码解析,助力开发者掌握高效数字电源的程序编写与调试技巧。

s1t2u3的博客 1239

Java Web应用的代码分层最佳实践。

代码分层,对于任何一个Java Web开发来说应该都不陌生。一个好的层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,更加有利于后期的维护和升级。 从另外一个角度来看,好的代码分层架构,应该是可以很好的匹配上单一职责原则的。这样就可以降低层与层之间的依赖,还能最大程度的复用各层的逻辑。本文就来介绍下Java Web项目的代码到底应该如何分层。 三层架构 在软件体...

1762

一文搞懂STM32定时器翻转模式(产生多路频率、占空比的PWM)

(产生多路频率、占空比的PWM)

weixin_56688599的博客 7936

Web应用分层最佳实践

BO(Business Object): 业务对象, 可以由 Service 层输出的封装业务逻辑的对象。DO(Data Object): 此对象与数据库表结构一一对应, 通过 DAO 层向上传输数据源对象。web: 主要是对访问控制进行转发, 各类基本参数校验, 或者不复用的业务简单处理等,应用配置。VO(View Object): 显示层对象, 通常是 Web 向模板渲染引擎层传输的对象。service: 相对具体的业务逻辑服务层,以及rpc接口的实现层。第三方接口的封装,放在manager层。

bruce128的专栏 694

并网逆变器学习笔记5---三电平DPWM

三电平DPWM

圆桌骑士的博客 1万+

PTC Creo软件二次开发:使用C++进行Creo二次开发实战

C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。由Bjarne Stroustrup在贝尔实验室开发,最初作为C语言的增强版出现,后来发展成为一种独立的语言。C++不仅保留了C语言的高效性和灵活性,还引入了类、模板、命名空间等高级特性,使其成为开发复杂系统和软件的理想选择。

kkchenjj的博客 4046

Java Web应用的代码分层最佳实践

代码分层,对于任何一个Java Web开发来说应该都不陌生。一个好的层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,更加有利于后期的维护和升级。 从另外一个角度来看,好的代码分层架构,应该是可以很好的匹配上单一职责原则的。这样就可以降低层与层之间的依赖,还能最大程度的复用各层的逻辑。本文就来介绍下Java Web项目的代码到底应该如何分层。 三层架构 在软件体系架...

weixin_44476888的博客 187

Camunda 7.x 系列【22】全局监听器

Camunda支持义一个全局ExecutionListener和一个全局TaskListener,会捕获流程中发生的所有事件的通知,这样可以定义一个全局的审批人检查监听器,作用于所有用户任务。

记录知识、锤炼自我 2942

Web应用分层及其各层职责

应用层 许多设计良好的web应用,可以被按职责分为四层。这些层次是表现层、持久层、业务层、和领域模型层。每一个层次都有其独特的职责,不能把各自的功能与其它层次相混合。每一个应用层都应该和其它层隔离开来,但允许使用接口在层间进行通信。我们开始来看看每个层,并讨论一下它们各自都应该提供什么和不应该提供什么。 表现层 一个典型的web 应用的末端是表现层。许多Java ...

noia_zhou 3727

4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南

首先第19行CREATEDATA创建er_entityset实例,指定其类型为zcl_zbook_manage_mpc=>tt_book,接着把这个引用映射到刚刚第五行定义的FIELD-SYMBOLS变量上去,这样的话,接下来我们对FIELD-SYMBOLS进行的操作,就会自动反应回引用变量er_entityset.因为我们可能在这个方法里,返回多条图书信息,所以需要用内表类型,而非单条记录的ts_book.ts_book代表一本图书的数据结构。......

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2963

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java分层开发详解

分层开发是一种软件架构设计方法,它将应用程序划分为不同的层次,每一层都有其特定的职责和功能。通过分层,可以实现关注点分离,提高代码的可维护性、可扩展性和可测试性。表现层(Presentation Layer):负责与用户交互,如Web页面、REST API等业务逻辑层(Business Logic Layer):包含应用程序的业务规则和流程数据访问层(Data Access Layer):负责与数据库交互数据持久层(Persistence Layer):负责数据的持久化。

yk_dflkg的博客 2177

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: Java Web实践专题——信息显示
下一篇: Java Web实践专题——Log4j
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值