我对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. 关于我们的Jquery操作下拉列表和复选框,自定义下拉

    后半部分还有自定义下拉列表和开灯关灯的效果,可以进来来看一下 哦 如果网页有下拉列表和复选框,看一下Jquery怎么来操作他们,主要怎么来选取他们的数据,怎么设置某一项选中 先来看个下拉列表 < ...

  2. eclipse GWT开发环境的离线布置方法

    安装方法http://blog.csdn.net/u011029071/article/details/10143841 用eclipse自动更新安装失败N次,还是得手动来 以Google Plugi ...

  3. android 09

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  4. Qss

    *{ font-size:13px; color:white; font-family:"宋体"; } CallWidget QLineEdit#telEdt { font-siz ...

  5. Java实现常见排序算法

    常见的排序算法有冒泡排序.选择排序.插入排序.堆排序.归并排序.快速排序.希尔排序.基数排序.计数排序,下面通过Java实现这些排序 1.冒泡排序 package com.buaa; import j ...

  6. linux-3.0下input_dev模型按键驱动

    该代码在FL2440开发板上测试通过,为方便教学,将驱动中的platform_device和platform_driver故意分为两个驱动模块. [guowenxue@centos6 input_kb ...

  7. noip 2003 传染病控制(历史遗留问题2333)

    /*codevs 1091 搜索 几个月之前写的70分 今天又写了一遍 并且找到了错误 */ #include<cstdio> #include<vector> #define ...

  8. [Redis] C#中使用redis

    C#中使用redis 首先打开Visual Studio建立一个简单的控制台应用程序,我这里暂时使用的VS2013的版本. 然后通过Nuget进行安装Redis常用组件ServiceStack.Red ...

  9. Unity3D 常用事件

    这里总结一下U3D常用的一些事件 //按下事件,GetKeyDown //抬起事件,Input.GetKeyUp //长按事件,Input.GetKey //任意键按下事件,Input.anyKeyD ...

  10. JavaScript核心

    JavaScript核心 arguments对象 Array对象 Boolean对象 Date对象 Error对象 Function对象 Global对象 Math对象 Number对象 Object ...