众所周知,struts2是用来解决web开发所遇到的问题。那么什么是web开发,web开发有那几种模式。只有弄清楚了web开发模式,我们才知道struts2用在何处,怎么用
最为大家所知的web开发模式就是分层开发模式,web开发分为三层
表示层:负责处理与界面交互相关的功能。这里就是struts2用武之地
业务层:负责复杂的业务逻辑计算和判断。spring的地盘,学完struts2再学spring
持久层:负责将业务逻辑数据进行持久化存储。hibernate的山头,可能会学一下spring,但是由于工作需要,也许就是mybatis。
为什么要分层呢?
我觉得是提高代码可读性,看到action就知道是表示层,manager就知道是业务逻辑层,dao就是持久层。当然或许有的项目不这么叫,但是功能是一样的。
说到这里,有人就会想,这样分层好啊。那以后做项目都分层?
答案是否定的,小项目,一个人一两天就可以搞定的,就没必要分层了,分层会更加麻烦。
主角struts2在我废话这么多以后终于出场了
既然struts2解决的是表示层的问题。那么看看表示层都干了什么。
web开发其实就是请求响应的过程
请求源是浏览器,很久很久以前那时程序员用的还是html,没有请求,只能跳转页面。但是在和谐的大中华,我们用上了jsp等技术,提供了动态的交互功能,也就有了请求源。有请求就要传输点数据什么的吧,要不然多浪费资源。于是就有了数据流,数据流到了后台,怎么也要加工处理,否则数据流过来也是白流。处理完以后我要告诉请求源我处理的结果吧。
综上,就有了表示层的MVC模式,数据流是M(javaBean),处理结果是V(JSP),处理程序是C(Struts2)。帖一张比较老的图