Struts1时代 goto Struts 2时代武林霸主变更记

           随着时间推移,Servlet+JSP+JavaBean模型开始暴露出它的缺点,霸主地位摇摇可危。

  • 流程凌乱:servlet完成对用户请求后,下一个页面就还要servlet处理,也就是说servlet既要处理请求还要负责页面流程。
  • 数据传递无序,数据都是javabean传来传去,使用较为麻烦,复杂数据嵌套就更累了
  • 缺乏辅助,一切从头做起

这时候这种乱局面就由Struts  1一统江湖了

它是按照MVC模式开发轻量级的web应用框架,因此那时候的江湖,如果有谁不知道structs  1,那就是不符合武林人士的资格,也导致面试官开始超级喜欢问Struts 1,如果求职者不能在简历上写熟练使用Structs的话,就好像给自己判了死缓一样。

然而一个江湖接替一个江湖,使用Action实现类就必须继承Strucs 1中的Action  降低了灵活性

1.一个应用中只能使用单一的ActionServlet,可能导致配置冲突

2.具有页面传值的javabean又得继承Struts 1  FormBean,其本质还就是一个javaBean用起来还是麻烦

这些问题出现后,江湖中就出现了很多挑战其地位的武林高手,什么Struts 2(web  work),TapestrySpringMVC等。虽然有那么多武林高手,但是名师出高徒,其中最优秀的还是Struts 1的关门弟子Struts 2.既继承了老师的衣钵,又改进了许多

 

之所以说又称Struts 2为webwork,是因为当Strucs 1高手陷入困境时,Strucs 1开发团队迎来了webwork,WebWork设计思想先进,但是呢,名气却不高,相当于初出茅庐的小子,于是呢两个框架准备合并,就得到了今天的Struts 2

我们看下Struts 2到底是什么?

  • Struts 2是一种基于MVC轻量级的web应用框架
  • 之所以叫框架,是因为框架就是一个完成了一定功能的半成品软件,没有框架时,一切就要从零做起,哪怕是简单的重复的工作,有了框架,提供的部分功能,我们就能在框架的一定基础上做起,大大提高了开发的效率和质量。
  • 轻量级:相当于重量级而言,指的是Struts 2运行时对web服务器资源消耗较少,cpu,内存会很开心的运行起来相当快
  • 基于MVC,Struts 2自然开发出来的web 应用也就能实现MVC

所以这就是Struts 22是一种基于MVC轻量级的Web应用框架。


Struts1时代 goto Struts 2时代武林霸主变更记_第1张图片
 
Struts1时代 goto Struts 2时代武林霸主变更记_第2张图片
 
 

 

1.控制器--FilterDispatcher

    用户请求先到达前端控制器FilterDispatcher,根据用户提交URL和structs.xml中的配置,选择合适的动作(Action),让Acrtion来处理用户请求。FilterDispatcher其实就是一个过滤器,Strucs 里面已经配置好的类,只需要在web.xml里面配置一下即可。

2.动作--Action

   Ation负责把用户中请求的参数组装成合适的数据模型,并调用相应的业务逻辑进行真正的功能处理,然后再获取下一个视图展示所需要的数据。

3.视图--Result 

   视图作用于Action动作中获取的数据展示给用户

 

接下来我们的代码生涯使用Strucs 框架时,也要按照这个流程去走才能顺畅,对于博大高深的SSH三大框架,就要先打散,再整合。

Struts 2 了解到此为止,到现在应该大致知道Struts 2 是什么,能干什么,粗略了解里面有什么了吧。那么接下来如何使用Struts 2来开发基于MVC的Web应用就让我们拭目以待。

你可能感兴趣的:(mvc,struts,struts,2,1)