struts2有必要学吗?(Struts2实现Action的方式有哪些)

struts2有必要学吗?

完全可以,很多人说,学了1再学2很轻松但是学了2再学1会有点困难我觉得也是这样的,反正我当初学1的时候没怎么明白,但是学2很快就学会了总之你要知道他们都是MVC框架,为的是代码清晰,层次结构明显另外struts2是webwork2发展过来的,而且很重要的区别在于不依赖servelt API,另外action是线程安全的,这个和struts1是不一样的总之绝对可以

如何实现MVC模式?

最简单的方法是使用struts或jsf等mvc的框架,本身就是一个实现。如果自己实现,比较复杂的就是要自己写一个总控制器,接受所有用户的请求,进行分发给其他servlet或直接进行页面跳转。不建议自己实现,建议使用一个mvc框架,然后搞明白他的生命周期和原理,再去看框架总控制器的源代码,这样比较好。

原理:

jsp发展经历了两个模型时代,jsp模型一时代是把代码都写在jsp页面上,用户访问jsp页面时,jsp页面来对数据库进行操作并返回值到jsp页面,这样第一不好维护,第二安全性不高,第三代码结构不清晰,第四重用性不高。于是就有了jsp模型二时代,人们将所有的页面请求交给一个servlet控制器来接受,然后进行分发,由该servlet来决定调用其他servlet访问数据库还是进行页面跳转,这个servelt就是MVC中的C,struts中好像叫ActionServlet,Jsf中叫FacesServelt,web.xml中配置的就是总servlet控制器,为了更好的分层,重用,降低依赖性,就有了MVC,由M层接受和绑定用户的数据,V层进行展现,C层进行控制。

目前主流的开发模式是四层开发模式:界面层(page)+动作处理层(action)+业务逻辑层(service)+数据访问层(dao),page层用于展现页面,action层用于捕获用户事件并调用service层处理业务逻辑,service要处理业务逻辑肯定就要对数据库进行增删改查,拼接HQL语句,然后调用dao层对数据库进行操作,hibernate完成的就是DAO层。但是这样一来action层对service层产生了依赖,因为要创建一个service接口的引用,service层对dao层产生了依赖,就是说实例化一个action层的对象,同时要至少实例化一个service层和至少实例化一个dao层,于是spring的IOC就可以起作用了,就可以降低各层之间的依赖。将各层做为接口对象实例配置到spring中,降低依赖。

Action、Dao、DaoImpl、Service、ServiceImpl各自的作用是什么,他们之间有什么关系?

你这是Struts2的东东把,这是struts2项目的基本框架,是一个三层结构。

action从service接口得到数据负责处理业务与过滤业务,把数据给网页。service是定义接口,serviceimpl是定义接口的实现,是功能代码编写地方,它从DaoImpl接口中得到数据,而dao是对数据库进行操作的代码。简而言之,action调用serviceimpl,service实现serviceimpl,serviceimpl调用daoimpl,dao实现daoimpl。你看看struts2三层结构就知道怎么回事了

到此,以上就是小编对于struts2 action的问题就介绍到这了,希望这3点解答对大家有用。

网页名称:struts2有必要学吗?(Struts2实现Action的方式有哪些)
当前URL:http://www.shufengxianlan.com/qtweb/news10/460410.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联