zoukankan      html  css  js  c++  java
  • 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这一套,性能低外,报个异常都不能直接报出错位置。
    新生的小心情
  • 相关阅读:
    NYOJ题目916胖子小的百宝袋
    NYOJ题目893十字架
    NYOJ题目874签到
    设计模式之Singleton
    Elo rating system 模拟
    JDBC之SqlHelper
    《Thinking in Java》十四章类型信息_习题解
    NYOJ题目842整除的尾数
    NYOJ题目840吃花生
    NYOJ题目839合并
  • 原文地址:https://www.cnblogs.com/jianmianruxin/p/8056418.html
Copyright © 2011-2022 走看看