• java web的进化


    作者:王忠进
    链接:https://www.zhihu.com/question/36032573/answer/140945219
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    java web的进化历程大致如下:
    开始:servlet
    因为标签解耦:jsp
    因为页面数据解耦:jsp+javabean
    因为控制层解耦:jsp+servlet+javabean
    因为控制层共用:jsp+struts
    因为解耦数据库:jsp+struts+hibernate
    因为解耦控制层和数据层:jsp+struts+spring+hibernate
    因为界面和控制层解耦:jsp+struts2+spring+hibernate
    因为struts2安全问题:jsp+springmvc+spring+hibernate
    因为mybatis更能适应业务复杂性:jsp+springmvc+spring+mybatis
    ........
    整个过程前期主要推动因素解耦,后期两次是因为安全和业务复杂性要求。
    hibernate其实也可以用于复杂业务复杂sql,性能也可以比较高,但是这样的话对技能要求就比较高。其实不管是hibernate还是mybatis,都可以直接获取数据库的connection,对于数据很大性能要求又高的部分,直接用jdbc来操作,也不用封装为pojo。
    我们用ssm框架主要是可以解决我们90%的问题,学习比较简单,培训机构多,招人比较容易。
    但是不好的地方就是用spring后性能不好,特别是写数据库多时跟jsp+servlet+javabean比差不多有10倍性能差距,内存消耗也特别大,在高性能高并发的情况下就有点难了。当然了说阿里也用这个框架,那是因为读的多写的少,而且大量缓存大量机器支持的。
    就我本人来讲,不是很喜欢spring这一套,性能低外,报个异常都不能直接报出错位置。
    新生的小心情
  • 相关阅读:
    HDU 4691
    cin和scanf的速度差别
    一点点webservice的小知识
    Geetest 极验验证 验证图片拼图
    web api post传一个参数时 值永远是null
    关于支付宝支付的
    发布网站后只能在服务器上访问 外网访问不了??
    sidePagination: "server"和responseHandler: responseHandler
    .net 找回密码的第一步 第二步 第三步的进程条
    关于设置一个全局只读变量来实现验证
  • 原文地址:https://www.cnblogs.com/jianmianruxin/p/8056418.html
Copyright © 2020-2023  润新知