当前位置:编程学习 > JAVA >>

关于struts的问题,求解答。。。

1)struts1.X中有一个中央控制器是ActionServlet,所有请求都由它来接受,然后再分给各个对应Action。我在想为什么不直接在Web.xml中全配置成Servlet,各自请求用各自对应的Servlet,为什么非要一个总的Servlet+多个Action这种模式呢?难道因为Servlet多了,web.xml中要配好多个Servlet不好维护么?那Action多了一样不好维护啊,再struts.xml中还是要配好多个Action啊。搞不懂,等高手。
 
2)struts2.x中为啥把中央控制器从Servlet换成Filter了? 调Filter的doFilter(req,res,chain)方法是还是要把request和response传进去的。和servlet的doService(req,res)有什么本质区别么? --------------------编程问答-------------------- 第一个问题其实是采用的门面模式这个设计模式,就好像你最初学习一门语法的的时候明明可以用面向过程的方法解决的问题,为什么一定要用面向对象呢,这是同一个道理。

第二个问题我只知道他们的原理是差不多的,至于为什么要用Filter,这个我也不是很清楚,请下面的大神来解决吧... --------------------编程问答-------------------- 第一个问题:Action各干各的,公共的问题谁来干?核心控制器接收到请求,然后分发给业务控制器,但是在业务控制器执行之前和之后可能存在一些公共的同时又与各特定Action有关系的问题需要处理,这些公共问题在struts中是通过拦截器来实现的。
--------------------编程问答-------------------- 第一个问题我不知道因为没用过struts1,我说下第二个问题吧struts2的核心是一个filter过滤器,为什么用filter是因为filter用了一种设计模式叫责任链模式,可以调用下一个filter。doFilter和doService的本质区别doFilter可以调用下一个filter。就这么说吧filter可以用来做一个servlet但是servlet做不了filter。。。 --------------------编程问答-------------------- 建议楼主先学习通了再研究为什么. --------------------编程问答--------------------   你可以使用着Servlet来做 --------------------编程问答-------------------- 原本 filter servlet jsp 就是一个 MVC 模式,基于某些原因,就有人在这个大框架上建立了一堆小框架,struts 就是其中比较有名的,其实就是加了一层包装,加点功能而已。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,