就技术而言,JSP 与 jQuery 是天南地北的。但是,jsliang


程序猿的生活:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)zhuanlan.zhihu.com


程序猿的生活:web前端全栈资料粉丝福利(面试题、视频、资料笔记,进阶路线)zhuanlan.zhihu.com



何为 JSP?

JSP 全称 Java Server Page,是 Java 企业应用的一种动态技术。Java 和 JSP 是运行在服务器端的,也就是说他两运行的结果生成 HTML,HTML 是静态页面,而 JSP 是动态页面。

何为 jQuery?

jQuery 是一个轻量级的 JavaScript 库。jQuery 能够使用户的 HTML 页面 和 JS 内容分离,也就是说,jQuery 的使用,更有利于 HTML、CSS、JavaScript 三者的分离,使得前端代码得到更好的维护。




jquery 替换url jquery 替换jsp_jquery cdn地址


现在就相同功能进行 JSP 与 jQuery 代码比较:

JSP 代码片段


<ul>  
  <c:forEach items="${list}">  
    <li>${user.userName}</li>
  </c:forEach>
</ul>


jQuery 代码片段


<!-- HTML 内容填充 -->
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
  
  $(function() {
    // 通过 ajax 从 Java 接口获取数据
    var data;
    $.ajax({
      // ...请求地址、请求头及传参等
      success: function(res){
        data = res.data;

        // 拼接字符串,并渲染页面
        var html = '';
        $.each(data, function(index, item) {
          var html='<li>' + item.userName + '</li>';
          html += html;
        })
        html = '<ul>' + html + '</ul>';
      }
    })
  })
</script>


咋看之下,你会觉得:“啊,JSP 那么简单,用 JSP 好啊!”
是的,JSP 几行代码就能解决 jQuery 十几行代码才能解决的事,而且运行速度也快过 jQuery,为啥不一直用它呢?
就项目发展而言。公司初创的时候,项目初期结构不繁杂的情况下,使用 JSP 无可厚非,因为它快、省事,而且还能节省人力(前后端让一个 Java 写就可以搞定了)。
但是,在项目越来越繁杂、庞大的情况下,一个 Java 已经维护不过来了,企业必须不停地增加 Java 开发人手,而 Java 人员也深陷技术债中……


jquery 替换url jquery 替换jsp_jquery cdn地址_02


然而,就好比喜欢锻炼的不全都喜欢跑步一样,并不是所有操作数据的 Java 都喜欢写页面的,这时候就凸显了几个问题:

  1. 项目越来越大,模块越来越多,需要投入的人手也越来越多,这时候需要分模块分人手地去维护。而且这些 Java 开发人员必须喜欢操作数据也喜欢编写页面,要不然企业将面临员工频繁流动的困扰。
  2. 用户开始对界面操作提更高的要求,需要增加更多的 JavaScript 互动和特效,无形中增加 Java 开发人员的工作量。
  3. 当有员工辞职后,下一名员工接手熟悉项目的时间将逐渐增加,由 1 天增长为 1 周甚至 1 个月。因为他不仅要熟悉数据的操作部分,更需要去维护 JavaScript 的页面互动。而这段时间,辞职员工的工作将施压到其他 Java 开发人员身上。

综上,这时候企业不得不考虑了:能不能帮 Java 开发人员减轻负担,更好地维护发展项目。
以此同时,JavaScript 经过时间的沉淀,越发凸显了它的强大。所以,在诸多因素之下,就有了前后端的分离:


jquery 替换url jquery 替换jsp_jquery cdn地址_03


后端人员提供接口,前端人员使用 jQuery 中封装好的 Ajax 调取接口获取数据,渲染到页面上。