美文网首页
《学习笔记》struts1和struts2的区别总结

《学习笔记》struts1和struts2的区别总结

作者: 打工这件小事 | 来源:发表于2018-11-03 22:34 被阅读0次

    struts2是在struts1和WebWork技术的基础上进行合并后的全新框架。其核心是WebWork。

    1、本质区别:struts2的核心是基于Filter实现的,而struts1的核心是ActionServlet。struts2在web.xml中定义了一个FilterDispatcher(StrutsPrepareAndExecuteFilter)来拦截客户端的请求,而struts1在web.xml中定义了一个ActionServlet来拦截客户端的请求。

    2、线程方面:struts2采用WebWork的核心,对于每一个request请求都会创建一个Action实例,没有线程安全问题。而struts1中Action是单例模式并且必须是线程安全的(因为只有一个Action实例处理所有请求,所以必须是线程安全的),单例的好处:多个request共用一个Action实例,节省了资源,但由于共用,线程不安全(not thread safe)。

    3、Action实现类方面:struts1的Action在实现时必须继承Action类或者Action的子类,而struts2的Action在实现时可以不用实现任何类和接口,也可以实现Action接口和其它接口,实现了可选和定制服务。同时struts2提供了一个ActionSupport基类实现常用的接口,但是不是必须要实现的。只要实现了public String execute()方法的POJO类都可以当做struts2的Action

    4、struts2提供了拦截器(Interceptor)等struts1没有的技术。

    相关文章

      网友评论

          本文标题:《学习笔记》struts1和struts2的区别总结

          本文链接:https://www.haomeiwen.com/subject/sspkxqtx.html