2019独角兽企业重金招聘Python工程师标准>>>

传统处理方式:

这是我们最常用的 web 项目请求 - 处理流程。

主要由服务端响应用户请求,处理业务数据,生成 html 页面,并最终将组织好的html 页面发送到客户端。

客户端主要负责显示 html 页面。

ajax 请求方式:

这种方式,服务器上的内容可以分成2部分:

1.静态资源。比如 html 页面 ,css ,js ,images 等 处理这些资源及响应用户请求只需要 web 服务器就可以了,比如 apache 就已经足够。

2.动态业务逻辑,动态业务数据。 比如 会员信息,订单信息,创建评论操作等 ... 这些内容需要应用服务器的支持,部署在应用服务器上的项目主要是 services ,提供标准的业务方法接口就可以了,不需要services 处理静态资源。

当然,这种方式明显加重客户端的负担,不光需要呈现html页面,还要处理大量的 js 脚本,同时也带来客户端js并发请求的问题。页面响应速度,用户体验将最终由客户端的性能绝决定。

但是我觉得其优点也很明显。

1. 页面与业务数据分离。(增加了页面 js 处理,但是目前有很多优秀的 js 框架 jQuery 等,已经很好用了)页面呈现技术将脱离限制,不必再考虑 jsp ,php ,jsf ,jstl  等等 页面显示技术。简简单单的直接使用设计部给的html 就可以了。

2.静态资源与业务接口分离。 services 可以专心吧业务接口做好,不用关心页面呈现问题,给其他三方平台访问接口打好基础。并且 services 出现异常停机了 也不影响网站页面呈现。

3.ajax 异步请求。这种方式完全可以制作“富客户端” 网站,给用户的感觉就跟使用桌面程序一样。

以上不成熟的观点,欢迎大家讨论。

转载于:https://my.oschina.net/zhenghao/blog/60067

关于web项目的 ajax 处理方式相关推荐

  1. Tomcat部署Web项目的3种方式

    一.将war包丢进webapps 这是最简单粗暴的方式:将web工程打成war,丢进tomcat/webapps目录即可,tomcat会自动解压.无需修改任何配置文件即可完成部署. 这里我准备了tom ...

  2. 手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令

    手动将web项目的class文件打成jar包. 我们的项目在使用IDE进行编译后,在项目的target目录下将会生成class文件.我们可以将class文件打成jar包. 使用的到命令为: 在targ ...

  3. eclipse 配置java路径_Java修改eclipse中web项目的server部署路径问题

    和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...

  4. Maven(三):将web项目的war包热部署到远程Tomcat服务器

    相关阅读: Maven(一):安装与环境配置.使用Maven搭建web项目 Maven(二):常用命令.依赖管理 Maven(三):将web项目的war包热部署到远程Tomcat服务器 Maven(四 ...

  5. Eclipse修改web项目的jdk编译版本

    Eclipse修改web项目的jdk编译版本 有的时候因为项目需要的原因我们需要指定web项目的编译版本,下边是两种修改编译版本的方法 1.修改所有项目的默认jdk版本 点击Window->Pr ...

  6. java项目如何更改路径_Java修改eclipse中web项目的server部署路径问题

    和MyEclipse不一样,在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的,会发布到工作空间的某个目录,因此无法在外部启动Tomcat来运行Web项目,只有打开Eclipse ...

  7. 【IDEA】关于 IDEA 中新建 web 项目的 webapp 文件夹没有小蓝点 ,启动服务,访问不到解决方案

    [IDEA]关于 IDEA 中新建 web 项目的 webapp 文件夹没有小蓝点 ,启动服务,访问不到解决方案 参考文章: (1)[IDEA]关于 IDEA 中新建 web 项目的 webapp 文 ...

  8. 【Struts2】Struts2框架创建web项目的6个步骤

    Struts2框架创建web项目的6个步骤 1.创建WEB项目 2.导入Struts2核心jar包 3.在web.xml文件中配置前端控制器filter ※如果Struts2框架是2.1.3之后的版本 ...

  9. 参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!

    头图来源:https://opensource.guide/ 来源 | 阿里巴巴云原生公众号 ​ 只有贡献代码才算是参与开源项目社区贡献吗? 一说到参与开源项目贡献,一般大家的反应都是代码级别的贡献, ...

最新文章

  1. 人脸识别再遭弃用,美国之后这回轮到欧盟
  2. 【有图有真相】静态NAT、动态NAT、PAT、端口映射的详细配置过程
  3. 苹果系统里面 dictionary 如何加入中文词典
  4. jsp/servlet上传
  5. Python 爬取可用代理 IP
  6. MVC-05 Model(1)
  7. java定义基础变量语句_编程语言第一:JAVA语言基础,变量
  8. 关于 m1 xcode12 编译报错 this target. for architecture arm64等问题解决方案
  9. 普通用户的sudo权限,禁止root用户登录
  10. 服务器虚拟化的培训,VMware服务器虚拟化及桌面虚拟化培训.pptx
  11. Linux用户管理命令详解,useradd、passwd
  12. C++基础:如何去使用extern?
  13. 博客系统php源码,tjheer博客系统php版 v1.10
  14. 15个顶级多线程面试题及答案
  15. axure rp9是什么软件?如何在Mac中安装使用?
  16. android机器人聊天软件,虚拟男友聊天机器人
  17. 《我十年的程序员生涯》系列之三:阳光灿烂的日子
  18. android粘性广播删除,android 广播机制(2) 粘性广播-Go语言中文社区
  19. 3D刷脸支付推动新零售行业发展
  20. 231个web前端的javascript特效分享(仅供本人学习,非教程类型)

热门文章

  1. mysql 5000万条数据库_1亿条数据如何分表100张到Mysql数据库中(PHP)
  2. 高校计算机通识教育目标,美国高校计算机通识教育研究
  3. php7 定义变量,基于PHP7的PHP扩展开发之七(定义变量)
  4. 千言万句,Nginx从入门到精通,看这一篇足矣
  5. 想要学习Python爬虫,看这几本书就够了
  6. java ee eclipse idea,转----从Eclipse转移到IntelliJ IDEA一点心得
  7. 计算机技术在本专业方面的论文,计算机技术专业论文
  8. vector can通信源码_CAN总线IMU在自动驾驶安全控制中的应用
  9. 为啥我的页面模板的from提交不了数据_小程序,组件与模板对比,及其简单使用
  10. python游戏服务器框架_mqant首页、文档和下载 - Golang/python语言开发的分布式游戏服务器框架 - OSCHINA - 中文开源技术交流社区...