框架的含义--有深度的理解

本文深入探讨了框架的本质,解释了为什么需要框架以及它们如何解决特定领域的编程问题。重点介绍了Struts2作为Web容器表示层框架的核心作用和工作原理,包括其如何处理HTTP请求和在Web应用程序中的初始化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、框架的本质

在说Struts2,Spring和Hibernate核心原理之前,我觉得应该先搞明白以下三个问题,简短概括如下:

1、什么框架?

框架并不是什么神圣的东西,它只是一组jar包而已,其本质是对jdk功能的扩展,包含了一系列最佳实践,作用是解决某个领域的问题。

从广义上说,jdk也可以看做一个复合框架,它提供的api同样是为了解决各个领域的问题,例如java io解决文件操作的问题,java socket解决网络通讯的问题等等。

2、框架从何而来?

从框架的本质看,框架的产生就是为了解决一个又一个在开发中所遇到的问题。不同的框架是为了解决不同领域的问题。

3、为什么要使用框架?

框架是因解决问题而来,而且它带来了解决某一领域问题的最佳实践,实际是无数程序员在经过了无数次尝试后,总结出来处理特定问题的特定方法,如果我们把每个程序员的自由发挥看做是一条通往成功的路径,最佳实践就是其中的最短路径,它能够极大地解放生产力。

二、框架的适用范围

Web开发模式中最普遍的一种是“分层开发模式”,分层开发模式是指,在开发J2ee程序时,将整个程序根据功能职责进行纵向划分,比较常见的划分方法是:表示层,业务层,持久层。

我们最为熟悉得Struts,Spring,Hibernate正是为了应对各个层次的编程问题的最佳实践。即Struts对应表示层Hibernate对应持久层,而Spring比较特殊,我们暂时简单地认为它对应业务层,后面我们再详细讨论。

三、Struts2

说了这么多,终于进入文章的重心了。

从宏观看,Struts2是一个运行于Web容器的表示层框架,其核心作用是帮助我们处理http请求。

Struts2遵循Servlet标准,通过实现标准的Filter接口进行Http请求的处理,通过在web.xml指定这个实现类StrutsPrepareAndExecuteFilter,就可以将Struts2引入到应用中来。

而Filter的生命周期也成为我们对整个Struts2进行逻辑主线划分的主要依据。

主线1:Struts2初始化-----Filter的init方法驱动执行。

主线2:Struts2处理Http请求------Filter的doFilter方法驱动

示意图:

        

参考网址:https://www.cnblogs.com/pengziqiang/p/5856663.html

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱若手握流沙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值