• springmvc和struts2的区别


    谈谈springmvc和struts2的区别
    相同点:二者都是基于mvc的web层的框架,都是负责接收用户浏览器提交的请求参数,通过某些校验操作调用业务层,而后获取到业务层返回的数据,将数据通过某种方式在前台展示。
    不同点
    (1)springmvc是基于方法开发的,struts2是基于类开发的。
    (2)因为二者基于的出发点不同,所以在接收请求参数时区别比较大。
       springmvc是通过参数绑定接收浏览器请求参数(方法上各种形参(request、response、session、Model、ModelMap、简单类型、简单pojo、包装类pojo)浏览器的请求参数),方法执行结束,形参数据就会销毁。
       struts2是通过类中的成员变量接收浏览器请求参数的。
    (3)由于接收请求参数方式的不同
       springmvc:因为方法之间是线程隔离的,所以springmvc支持单例和多例的开发方式。
       struts2:成员变量在开发中多线程会存在线程安全问题,所以struts2只能支持多例的开发方式。
     (4)springmvc是通过存储数据ModelAndView,在前台页面通过jstl(默认)展示数据的
       struts2是通过值栈存储数据,在页面通过OGNL展示数据的


    还有一点扩展的,想起来就大概说说
      springmvc通过映射器根据url找到对应Handler,该Handler中只包含了一个method方法,这种开发的方式更接近与 服务 的开发,目前来看基本没有扫除什么漏洞。
    struts2不是因为是多例开发比较慢,网上有说经过大量测试是使用了struts2的标签所以导致慢,所以建议使用jstl标签。而且建议使用较新的包,因为stuts2毕竟出来的早,漏洞能稍微多一点,不过使用较新的包也基本没有什么问题。


    以上是博主学习中总结的,如有错误,请在下方评论给出建议,共同进步,谢谢。

  • 相关阅读:
    相似性算法研究
    CNN实战篇-手把手教你利用开源数据进行图像识别(基于keras搭建)
    主流NoSQL数据库的分析与选择
    CentOS7下防火墙相关命令
    Error:(10, 32) java: 程序包org.springframework.xxxl不存在
    Windows下IDEA上传码云push的时候出现push to origin/master was rejected
    SpringBoot配置mybatis使用的两种方式
    SpringBoot+Mybatis-plus测试时碰到的奇怪时区问题
    Java String 在拼接时的编译器优化
    Java Maven项目更新后jdk版本变为1.5
  • 原文地址:https://www.cnblogs.com/gongchengshixiaobai/p/8024832.html
Copyright © 2020-2023  润新知