我对jsp和ajax 一直比较困惑, jsp动态网页技术,在服务器端执行,能在网页中显示数据这是一种方式 .
另一种方式是
我打开一个网页(html),加载完成之后,使用js,ajax访问网络得到json数据,使用js操作,在页面中追加元素,显示出来 。也行啊。

是不是说这种方式可以把jsp方式替代掉了?我想知道,一般是怎么使用这两种技术的。是都使用,还是说单独用一个。
举例个例子
第一种方式 :jsp初始化数据,ajax发送异步,进行刷新
假设,我要显示新闻列表界面。
http://localhost:8080/ecampus/getnewslist

controller中有此方法
getNewsList(){
//得到 news的list<news>
//session.set(“newslist”, newslist)
//return “news”
}

然后跳转到了news.jsp 页面中。
在news.jsp界面中,使用jsp:for 标签在新闻div 区域显示session中newslist.
假设 news.jsp中有一个刷新按钮,当点击刷新按钮后,使用ajax,发送网络请求
显示最新的新闻。

第二种方式 :完全不使用jsp,使用js,ajax完成数据读取,显示新闻
假设,我要打开显示新闻界面。
http://localhost:8080/ecampus/news.html
然后跳转到了news.html 页面中。
在news.html界面中,事先留出一个div用于显示新闻的。
在news.html加载完成后,调用使用js,发送ajax请求,得到数据后,解析,并显示到div上。
假设 news.html中有一个刷新按钮,当点击刷新按钮后,使用ajax,发送网络请求
显示最新的新闻。

这种方式也行。

哪种方式更好一些呢?一般采用哪种方式?

我能想到的就是, 使用jsp,速度应该会快很多,而采用第二种方式 ,因为js,ajax,显示数据,都是在客户端执行的,速度应该会慢。。

一般应该是采用第一种方式吧。

根据上面的问题,我的看法如下:
一.ajax的优点:
    1.开发过程中前端与后端脱离,交互通过JSON传输来实现
    2.跨平台能力更强,依托于浏览器的支持
    3.使后台数据接口能够得到复用
二.ajax的缺点:
    1.开发难度大,考虑浏览器的兼容性
    2.页面请求过多
    3.属于后加载,无法被爬虫爬到
    4.接口代码需要新增很多
    5.无法直接显示java实体类对象,需要转换为json格式
三.jsp的优点:
    1.可被爬虫爬到
    2.减少请求次数
    3.不用考虑浏览器的兼容性
四.jsp的缺点:
    1.增大了服务器的压力
    2.前端与后端未脱离,拖慢开发进度
    3.过于依赖java运行环境
    4.复用较低。
 

纯Html+Ajax和JSP两者的优缺点的更多相关文章

  1. 纯Html+Ajax和JSP两者对比的个人理解

    最近写个人web,用jsp+servlet做,突然想到一个问题:html+ajax似乎和jsp实现效果一样:那么,两者到底有什么区别呢? 这里参考老猿的一段话: 全站ajax会维护大量的js代码,如何 ...

  2. Spring security csrf实现前端纯html+ajax

    spring security集成csrf进行post等请求时,为了防止csrf攻击,需要获取token才能访问 因此需要添加 <input type="hidden" na ...

  3. html+Ajax和JSP的比较

    1.有人说JSP会泄露源码(可能会有一些代码痕迹,但肯定没啥大事)2.又说,Ajax是为了分离前后台,让控制部分在前台处理,降低代码耦合度,后台只相当于服务. 3.能够让前台移植,降低后期维护成本.纯 ...

  4. 利用ajax向jsp传输数据

    ajax代码 var obtn=document.getElementsByTagName('input')[0]; obtn.onclick=function () { var xhr=null; ...

  5. AJAX的工作原理及其优缺点

    1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它使用:使用XHTML ...

  6. 什么是ajax,ajax原理是什么 ,优缺点是什么

    AJAX工作原理及其优缺点   1.什么是AJAX?AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页 ...

  7. Ajax的工作原理以及优缺点

    Ajax的工作原理 : 相当于在客户端与服务端之间加了一个抽象层(Ajax引擎),使用户请求和服务器响应异步化,并不是所有的请求都提交给服务器,像一些数据验证和数据处理 都交给Ajax引擎来完成,只有 ...

  8. HTML实现包含公共部分:通过ECMA6的模块化,纯前端实现类似jsp:include的功能

    以前一直是用 jsp:include 的方式来引入 html 头部的公共部分 php也有类似的方式 但以上两种,个人感觉都并不纯粹,本着折腾的精神,优化原有代码,解耦合 使用 ECMA6 的模块化方式 ...

  9. ajax +jsp+iframe无刷新上传文件[转]

    http://hi.baidu.com/zj360202/blog/item/f23e3711f929c774cb80c475.html ajax jsp 无刷新上传文件 2009-10-26 16: ...

随机推荐

  1. VMware-workstation-full-12.0.1-3160714

    https://download3.vmware.com/software/wkst/file/VMware-workstation-full-12.0.1-3160714.exe 5A02H-AU2 ...

  2. 《Android群英传》读书笔记 (5) 第十一章 搭建云端服务器 + 第十二章 Android 5.X新特性详解 + 第十三章 Android实例提高

    第十一章 搭建云端服务器 该章主要介绍了移动后端服务的概念以及Bmob的使用,比较简单,所以略过不总结. 第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所 ...

  3. css 权威指南笔记(三)结合css和XHTML

    link rel stylesheet alternate stylesheet(候选样式表) title type media all screen print ..... 内联样式

  4. JQuery的$命名冲突详细解析

    在Jquery中,$是JQuery的别名,所有使用$的地方也都可以使用JQuery来替换,如$('#msg')等同于JQuery('#msg')的写法.然而,当我们引入多个js库后,在另外一个js库中 ...

  5. java对象与xml相互转换 ---- xstream

    XStream是一个Java对象和XML相互转换的工具,很好很强大.提供了所有的基础类型.数组.集合等类型直接转换的支持. XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用 ...

  6. String or binary data would be truncated. The statement has been terminated.

    常见的情况为:插入的值大于字段定义的最大长度. String or binary data would be truncated. The statement has been terminated

  7. dnw for linux: Ubuntu下可用,无需编译驱动,mini2440可用

    1.安装所需库文件 sudo apt-get install libusb-dev 2.源代码如下 /* dnw2 linux main file. This depends on libusb. * ...

  8. php100视频原始地址列表整理:

    php100视频原始地址列表整理: 教程名称 . 1:环境配置与代码调试 2:PHP的数据类型与源码调试 3:常用PHP运算类型介绍与应用 4: PHP条件语句介绍与应用 5:PHP循环语句的介绍与应 ...

  9. 【转】iOS-Core-Animation-Advanced-Techniques(一)

     图层树.寄宿图以及图层几何学(一)图层的树状结构 巨妖有图层,洋葱也有图层,你有吗?我们都有图层 -- 史莱克 原文:http://www.cocoachina.com/ios/20150104/1 ...

  10. OC - 27.CATransition

    概述 简介 CATransition又称转场动画,是CAAnimation的子类,可以直接使用 转场动画主要用于为图层提供移入/移出屏幕的动画效果 转场动画常见的应用是UINavigationCont ...