Java Web框架:Struts2简介

历史


Struts历史。JSP经历了JSPModel1和JSPModel2阶段。JSPModel1就像现在的PHP一样,每个文件中都混合了业务逻辑和HTML代码,每个JSP都直接与数据库交互。这种模型非常具有局限性,代码重用性较差。后面出现了改进版本的JSPModel1,它增加了JavaBean。JSP文件需要通过JavaBean间接访问数据库。JSPModel2中使用了三种技术:Servlet、JavaBean、JSP。Servlet相当于控制器,负责流程的控制,将请求进行分派,调用JavaBean和JSP。JavaBean负责与数据库交互。JSP只做页面的显示,用于生成动态网页。JSPModel2已经开始显现出MVC思想了。


简介


Struts是一个Web框架,而Web框架需要解决的问题就是HTTP无状态和基于文本两个问题。解决无状态问题可以通过Cookie或者会话管理,这两个在Servlet中就已经解决了。基于文本的问题是Struts要重点解决的问题。HTTP是一个文本协议,要转换成Java中的数据结构、方法调用是非常繁琐的一个过程。有了Struts框架之后这些繁琐的事就不需要自己处理了。


Struts2并不是在Struts1基础上改进的一个框架,而是基于WebWork的全新框架。但是如果已经熟悉Struts1,那么Struts2的学习是非常容易的。


Struts中的MVC。控制器是FilterDispatcher,也称为前端控制器,因为它最先接收到请求。它的本质是一个Servlet,只要经过配置把Http请求导流到FilterDispatcher上即可让Struts2运作。在最新版Struts中FilterDispatcher已经改名为StrutsPrepareAndExecuteFilter,命名更加明确。模型(动作)是对事物本身的一个建模,业务逻辑、数据存储都应该放在模型中。视图就是结果,客户端能看到的东西。Web容器首先找到web.xml,开发者首先要在web.xml中指定FilterDispatcher,从而让struts有机会执行。


Struts2的整个工作流程如下:

上图看起来非常简洁,整个Struts框架需要掌握的知识也就是上面那些内容了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。