zoukankan      html  css  js  c++  java
  • springmvc与Structs2本质区别

    1.前端控制器不同:structs2入口是一个filter过滤器,springmvc入口是一个servlet.

    2、设计思想不同: struts2通过在action类中定义成员变量接收请求参数,struts2只能使用多例模式管理action。

    springmvc通过在controller方法中定义形参接收请求参数,springmvc可以使用单例模式管理controller。

     

    3、springmvc是基于方法开发的,注解开发中使用requestMapping将url和方法进行映射,如果根据url找到controller类的方法生成一个Handler处理器对象(只包括一个method)。

    struts2是基于类开发,每个请求过来创建一个action实例,实例对象中有若干的方法。

     

    开发中建议使用springmvc,springmvc方法更类似service业务方法。

     

    4、Struts采用值栈存储请求和响应的数据,通过OGNL存取数据, springmvc通过参数绑定器是将request请求内容解析,并给方法形参赋值。

     

    5、struts2和springmvc的速度是相当的,由于struts2的漏洞较多,很多企业转向使用springmvc了。

     

    为什么structs2设计成多例而不是单例?

    如果我们把struts2设计为单例,那么在内存中只有一份,成员变量在内存中也只有一份!而我们定义成员变量的作用是接受参数,如果多个线程操作这个成员变量,给它设置值,那么一个线程设置的值就会覆盖掉之前设置的值.

  • 相关阅读:
    4、Work-Queue
    一个简单servlet容器
    一个简单的Web服务器
    jersey实现RESTful接口PUT方法JSON数据传递
    Java数据库连接组件C3P0和DBCP
    C/S架构和B/S架构
    一些同样适用于人生的计算机原理
    网络编程初探--使用UDP协议的简易聊天室
    IO练习--按字节截取字符串
    IO包中的其他类总结
  • 原文地址:https://www.cnblogs.com/wwwzzz/p/8298435.html
Copyright © 2011-2022 走看看