我对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. springmvc报错 org.springframework.web.servlet.DispatcherServlet

    在写springMVC时,导入所有需要的包后,运行程序,控制台报以下错误: 严重: Servlet [springDispatcherServlet] in web application [/Spr ...

  2. 【javascript基础知识】javascript中的转义序列和特殊数值常量

    javascript的转义序列 \0 NUL字符(\u0000) \b 退格符(\u0008) \t 水平制表符(\u0009) \n 换行符(\u000A) \v 垂直制表符(\u000B) \f ...

  3. 查看mysql数据库及表编码格式

    1.查看数据库编码格式 mysql> show variables like 'character_set_database'; 2.查看数据表的编码格式 mysql> show crea ...

  4. oracle AWR深入研究分析,如何使用

    AWR的前身是statspack,当然现在还在,只不过大家都在使用AWR,因为它方便,简单,直观,形象. AWR是oracle内置工具,安装oracle时已经自动安装完毕,无需额外安装了. SELEC ...

  5. jQuery EasyUI中常常遇到的问题(FAQ)

    1.easyui弹出页面中无法引入其它外部js文件的问题 easyui弹出的对话框假设为jsp.html页面,easyui仅仅会将这些页面中的<body></body>内部的内 ...

  6. POCISO-採购创建内部订单(R12.2.3)

     採购创建内部订单(R12.2.3) --US Program:Create Internal Orders Short Name:POCISO Application:Purchasing Ex ...

  7. js原型继承

    原型链: Object(构造函数) object(类型(对象)) var o = {}; alert(typeof o); //结果是object alert(typeof Object); //结果 ...

  8. xslt语法之---基础语法

    1. XSLT常用元素: 1.1 <xsl:template>:创建模板     Match属性的作用是使模板和XML元素相关联 <xsl:template match=" ...

  9. webservice 发布到外网的时候

    在web.config的<system.web></system.web>中间加入如下配置节内容<webServices>          <protoco ...

  10. listview的动态加载数据问题

    1:调用adapter.notifyDataSetChanged()却不起作用 原因可能有一下几点 1.数据源没有更新,调用notifyDataSetChanged无效. 2.数据源更新了,但是它指向 ...