asp、jsp与html+ajax优缺比较

2023-05-16

我对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.复用较低。
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp、jsp与html+ajax优缺比较 的相关文章

  • 如何转义 HTML 字符?在.NET中-->“

    如何在 NET 中转义 HTML 字符 我正在从 json 字符串中获取 html 并在标题中得到 amp quot more text 看起来我需要做两次才能得到 amp quot 成为 quot 那么它就是一个 如何转义 NET 中的所
  • 适用于移动设备的响应式订单确认电子邮件?

    我从未见过令人惊叹的订单确认 发票电子邮件 即使是最好的 html5 网站也会发送糟糕的订单确认电子邮件 有时是纯文本 我相信这是因为发票通常需要使用表格来显示购买的物品 这在移动设备上实现起来非常困难 我发现了一些让手机上的表格更易于管理
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • Facebook 点赞按钮消失

    我的网站中的 Facebook Like 按钮出现问题 添加此代码 由 facebook 提供 按钮在创建时正确显示在任何页面中
  • 如何在数据列表 HTML PHP 中设置选择

    您好我想知道是否有一种方法可以在数据列表中设置选定的值 我想要这样的东西
  • Python:如何下载 blob url 视频?

    我想使用 Python 脚本从网站下载视频 但是该视频由如下 Blob URL 提供
  • 我可以用 HTML5/JS 编写文件吗?

    我想知道是否有什么方法可以从 HTML5 JS 写入文件 在浏览器中 假设您的最终目标是让用户将您的文件保存在他们能找到的地方 例如右键单击链接并选择 另存为 时 这些 API 的浏览器覆盖范围还不够广泛 这可能是由于出于安全考虑 然而 无
  • 无法在jspdf中加载多个图像

    我正在尝试加载动态生成的多个图像 我想将这些图像转换为 PDF 格式 HTML 代码如下
  • 重新加载更新的 javascript> 代码而不完全重新加载 html 页面

    我正在开发一个单页 Web 应用程序 它具有许多不同的功能和形式 当开发一个深度 我的意思是主页上没有的 功能时 我会经历这个循环 开发代码 编辑类和函数 刷新整个页面 一路点击 直到到达我需要测试的部分 有时加起来大约一分钟 测试新代码
  • 从字体到跨度(大小和颜色)和背面的正则表达式(VB.NET)

    我正在寻找一个正则表达式 可以将我的字体标签 仅具有大小和颜色属性 转换为具有相关内联CSS的span标签 如果有帮助的话 这将在 VB NET 中完成 我还需要一个正则表达式来实现相反的效果 下面详细说明的是我正在寻找的转换示例 font
  • Bootstrap Affix Nav 导致下面的 Div 向上跳转

    我使用 Bootstrap 的 Affix 函数创建了一个 JSFiddle 以便在向下滚动并且标题移出视图时使导航保持在屏幕顶部 我遇到的问题是 当使用纯 HTML 时 导航下方的文本会过早地跳起来并隐藏在导航后面 查看有问题的代码her
  • 如果一个设置多个html标签的id属性值相同,会发生什么?

    我最近看到一个html页面 我认为几个html标签的id是相同的 然后我意识到id是唯一的 但这提出了一个问题 如果页面实际上使用了多个标签 会发生什么 正如我听说每个 html 标签 如果有的话 的 id 属性必须是唯一的 现在我想知道如
  • 如何在没有 JavaScript 的情况下预加载图像?

    在我的 HTML 页面之一上 当我将鼠标悬停在某些链接上时 会显示一些大图像 并且加载这些图像需要一些时间 我不想使用 JavaScript 来预加载图像 有什么好的解决办法吗 HTML5 有一种新方法可以做到这一点 即link prefe
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • HTML5 支持命名空间吗?

    我们是否可以使用新标签来扩展 HTML5 例如
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • 弹出窗口的动态高度取决于内容,可能吗?

    是否有可能获得一个宽度始终为 400px 的弹出窗口 但根据弹出窗口中的内容动态高度 我已经看到了这个 但不知道如何将其应用到弹出窗口 调整 iframe 的宽度高度以适应其中的内容 https stackoverflow com ques
  • 水平对齐输入字段

    我正在尝试获取一个输入字段 并且它与同一水平线上的关联提交按钮相关 但事实证明这是一个挑战 这是我的代码
  • 如何通过 ajax 加载页面后显示 Twitter / Facebook / Google+ 按钮?

    我有一个 Rails 3 1 应用程序 我希望允许用户通过 Twitter Google 和 Facebook HTML5 版本的 Like 按钮 共享项目 我让它在项目的显示页面上工作得很好 即 仅显示该项目 但我在通过 Ajax 加载列

随机推荐

  • select搜索功能实现

    select搜索功能实现 最近在找工作 没时间写博客 现在找到了 就发发工作上的代码吧 xff01 今天我们说说select标签的搜索功能 xff1b 拿到任务时 xff0c 我先想到就是上网找资料 xff0c 最后看到的都是各种jquer
  • Spring源码--IOC容器实现(5)--Bean对象的创建

    前言 Github xff1a https github com yihonglei thinking in spring 在前面文章中分析了容器初始化过程 xff0c 已经建立了一个可以使用的容器 1 xff09 BeanDefiniti
  • Spring Data Jpa之nativeQuery(仅案例

    Spring Data Jpa 默认实现是hibernate xff0c 我们都知道hibernate使用HQL查询 xff08 Hibernate是JPA的实现之一 xff09 xff0c 而不推荐使用sql查询 xff0c 因为这样子就
  • 消息代理RabbitMQ——介绍篇

    1消息队列概述 我们现在生活的是一个信息高质量高可用并且持久的一个时代 xff0c 作为技术开发人员 xff0c 我们造就的代码程序需要有能力以简单并且高效可靠的方式将信息传送给需要的接受者 更为重要的是我们要优化消息传递的方式 xff0c
  • Spring Cloud Stream中文翻译

    Ditmars RELEASE 1 Spring Cloud Stream 介绍 Spring Cloud Stream是一个用于构建消息驱动应用的微服务框架 Spring Cloud Stream基于Spring Boot来构建独立生产级
  • Spring Security Architecture翻译

    Spring Security 架构 本指南是Spring Security的入门 xff0c 致力于深入了解框架设计和基本构建块 虽然仅设计应用程序安全性的基础知识 xff0c 但是这样做可以清除开发人员使用Spring Security
  • Spring Boot and OAuth2翻译

    Spring Boot and OAuth2 本指南将向您展示如何使用OAuth2和Spring Boot构建一个使用 社交登录 功能做各种事情的应用程序示例 它从一个简单的单一提供者单点登录开始 xff0c 并运行一个带有身份验证提供程序
  • 实现线程安全的常见手段

    Thread safety 线程安全是我们设计一个类是必须考虑的问题 xff0c 在一些常用的工具类库上 xff0c 是否线程安全也会作为一个很重要的标注告诉使用者 常见的实现线程安全的手段有哪些呢 xff1f 无状态 即 xff0c 将接
  • 【ROM定制】Android 12 制作『MIUI官改』那点事④修改

    作者 xff1a 小谢 内容 xff1a MIUI官改 的修改 时间 xff1a 2022 10 14 机型 xff1a 小米10 安卓 xff1a Android 12 版本 xff1a V13 0 7 0稳定版 制作 MIUI官改 工具
  • ubuntu(17):ubuntu循环登录/无法进入图形化界面解决方法--因为系统内核版本冲突/不合适

    1 问题排查 2 查找合适内核 3 删除多余内核版本 删除启动项 3 1 删除内核 3 2 删除启动项 这一步没起作用 3 3 修改默认启动内核 参考链接 xff1a 1 问题排查 昨天重装了nvidia显卡驱动 开机后一直循环登录 xff
  • Android Studio targetApi=33 android 13 setAppCacheEnabled/setAppCachePath/setAppCacheMaxSize 报红问题探究

    报红如下 可以看到即使加了Api版本判断依然是报红的 编译后有如下类似错误提示 Launching lib main dart on sdk gphone64 arm64 in debug mode Users dararii Dev fl
  • MATLAB自适应中值滤波代码

    最近数字图像处理课程课后作业 xff0c 要求自己用代码实现自适应中值滤波器 xff0c 虽然很简单 xff0c 但是在网上找了一圈也没有可以直接拿来用的 xff0c 所以就在网上找了一段代码 xff0c 并且自己改了一下 xff0c 能够
  • VNC连接超时

    一 bug截图 二 原因分析 远程连接 远程连接是要提供地址的 xff0c 这里的地址是IP 43 桌面号 xff0c 比如 xff1a 192 168 1 23 2 随后提示你输入密码 xff0c 此密码就是刚才第1个步骤这是的密码 一般
  • WebApi 异常处理解决方案

    C 进阶系列 WebApi 异常处理解决方案 前端开发 waitig 1年前 2017 04 14 238 百度已收录 0评论 阅读目录 一 使用异常筛选器捕获所有异常 二 HttpResponseException自定义异常信息 三 返回
  • springboot applicaton.properties配置多种数据源

    html view plain copy print DB Connection Config DB Type the database of the application mysql sqlserver oracle databaseT
  • SpringBoot项目在IntelliJ IDEA中实现热部署

    spring boot devtools是一个为开发者服务的一个模块 xff0c 其中最重要的功能就是自动应用代码更改到最新的App上面去 原理是在发现代码有更改之后 xff0c 重新启动应用 xff0c 但是速度比手动停止后再启动更快 其
  • Spring Boot集成webService

    服务端 使用idea创建spring boot工程 xff1a File New Project Spring Initializr 在pom添加依赖 span class hljs tag span class hljs tag lt s
  • spring boot整合OAuth2保证api接口安全

    1 OAuth 概念 OAuth 是一个开放标准 xff0c 允许用户让第三方应用访问该用户在某一网站上存储的私密的资源 xff08 如照片 xff0c 视频 xff0c 联系人列表 xff09 xff0c 而不需要将用户名和密码提供给第三
  • 软件项目的开发流程

    一个软件开发项目过程 xff1a 1 项目启动 1 项目组成立 公司成员 客户成员 2 制定项目预期目标 3 制定项目计划周期 4 建立好项目组成员沟通机制 2 需求调研 1 创建调研计划 协调调研时间 2 收集客户资料 xff0c 获取客
  • asp、jsp与html+ajax优缺比较

    我对jsp和ajax 一直比较困惑 xff0c jsp动态网页技术 xff0c 在服务器端执行 xff0c 能在网页中显示数据这是一种方式 另一种方式是 我打开一个网页 xff08 html xff09 xff0c 加载完成之后 xff0c