我对jsp和ajax 一直比较困惑, jsp动态网页技术,在服务器端执行,能在网页中显示数据这是一种方式 .
另一种方式是 我打开一个网页(html),加载完成之后,使用js,ajax访问网络得到json数据,使用js操作,在页面中追加元素,显示出来 。也行啊。
是不是说这种方式可以把jsp方式替代掉了?我想知道,一般是怎么使用这两种技术的。是都使用,还是说单独用一个。
举例个例子 第一种方式 :jsp初始化数据,ajax发送异步,进行刷新 假设,我要显示新闻列表界面。 http://localhost:8080/ecampus/getnewslistcontroller中有此方法
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.复用较低。