zoukankan      html  css  js  c++  java
  • 纯Html+Ajax和JSP两者对比的个人理解

    最近写个人web,用jsp+servlet做,突然想到一个问题:html+ajax似乎和jsp实现效果一样;那么,两者到底有什么区别呢?

    这里参考老猿的一段话:

    1. 全站ajax会维护大量的js代码,如何管理好这些js需要考虑。js的技术选型也需要考虑。我当时是require+backbone+underscore+jquery等。效果上,页面流畅度不错,体验也不错。作为后端来说,只需提供数据接口,前端压力较大。前端没有什么规范可遵循。

    2. 传统后端渲染比较直接一点,大部分的框架都有现成的机制和规范,开发速度比较快。用户体验上不如ajax来的流畅。因为有规范化的体系,管理后端代码比管理前端代码更容易。

    对此,我非常认同。有些人表示,尽可能项目不用jsp,完全使用html+ajax,完全不用JSP或者任何的模版在一个大点的项目里都有些极端。

    毕竟很多数据在后端生成比前端AJAX访问效率更高。AJAX做一些交互的通信,局部刷新更合适。


    具体问题 :Ajax在什么情况下不如jsp,php?

    在返回查询的实时性上,ajax不如jsp.php.asp等动态语言
    ajax的显示效果确实是比jsp好,因为它实现的是无刷新技术,可以不用刷新、跳转网页就可以查询、返回数据,但实时性不太好控制。
    非ajax的是比如说:a页面是一个注册信息的页面,用户写完后,可以点"注册"后,提交到b页面(在b页面中检测用户名是否已注册),这时产生了一个刷新页面的操作.
    而ajax是可以在a页面中就直接不用刷新页面就可以检测用户名是否被注册(可以看一下现在的各大网站的用户注册大部分采用的是ajax技术检测的).
    但是,这个但是很重要,在ajax检测完页面后,到页面提交这段时间可能会有人注册你正在注册的用户名,所以,你还要在b页面中再检测一次.
    还有一个但是,比如说在服务器过慢时(虽然这种情况不多),可能长时间无法返回检测用户是否已注的信息.
    这两个但是就是我所指的实时性的问题.ajax不可能作到这两点.
    当两种事情无明显的先后顺序时,你可以用ajax技术,而且这样作方便使用者.
    但是当两件事有先后顺序时,比如用户要先注册,后佬能登录,这时你就不能用ajax同时进行,因为这样易出错.
    总结:
    一.ajax的优点:
        1.开发过程中前端与后端脱离,交互通过JSON传输来实现
    
    
        2.跨平台能力更强,依托于浏览器的支持
    
    
        3.使后台数据接口能够得到复用
    
    
    二.ajax的缺点:
    
    
        1.开发难度大,考虑浏览器的兼容性
    
    
        2.页面请求过多
    
    
        3.属于后加载,无法被爬虫爬到
    
    
        4.接口代码需要新增很多
    
    
        5.无法直接显示java实体类对象,需要转换为json格式
    
    
    三.jsp的优点:
    
    
        1.可被爬虫爬到
    
    
        2.减少请求次数
    
    
        3.不用考虑浏览器的兼容性
    
    
    四.jsp的缺点:
    
    
        1.增大了服务器的压力
    
    
        2.前端与后端未脱离,拖慢开发进度
    
    
        3.过于依赖java运行环境
    
    
        4.复用较低。
    
    

    作为一个java,前端水平有限,我还是倾向于jsp快速完成开发,但如果页面有大量交互 需要多次和服务器沟通 ajax 十分方便的, 如果是个偏静态的页,直接服务端生成内容就好了!

  • 相关阅读:
    redis删除指定前缀的缓存
    php生成N个不重复的随机数实例
    Redis数据持久化,安全
    MySQL LOAD DATA
    utf 8无bom和utf 8什么区别
    MySQL直接导出CSV文件,并解决中文乱码的问题
    php 中将完整的年月日时分秒的时间转换成 年月日的形式
    PHP如何根据数组中的键值进行排序
    PHP array_multisort—对多个数组或多维数组进行排序
    sql case 函数与详细说明
  • 原文地址:https://www.cnblogs.com/jokerjason/p/5735232.html
Copyright © 2011-2022 走看看