大家好,我是乐字节的小乐,今天接着上期文章《Javaweb的概念与C/S、B/S体系结构》继续往下介绍Java Web ,这次要说的是web应用程序。

1. Web 应用程序的工作原理

Web 应用程序大体上可以分为两种,即静态网站和动态网站。早期的 Web 应用主要是 静态页面的浏览,即静态网站。这些网站使用 HTML 语言来编写,放在 Web 服务器上,用户使用浏览器通过 HTTP 协议请求服务器上的 Web 页面,服务器上的 Web 服务器将接收到 的用户请求处理后,再发送给客户端浏览器,显示给用户。

随着网络的发展,很多线下业务开始向网上发展,基于 Internet 的 Web 应用也变得越来越复杂,用户所访问的资源已不能只是局限于服务器上保存的静态网页,更多的内容需要根据用户的请求动态生成页面信息,即动态网站。这些网站通常使用 HTML 语言和动态脚本语言(如 JSP、ASP 或者是 PHP 等)编写,并将编写后的程序部署到 Web 服务器上,由 Web 服务器对动态脚本代码进行处理,并转化为浏览器可以解析的 HTML 代码,返回给客户端浏览器,显示给用户。

就好比,静态网站类似于 10 年前的手机,这种手机只能使用出厂时设置的功能和铃声,用户自己并不能对其铃声进行添加和删除等;而动态网站则类似于现在研制的手机,用户在使用这些手机时,不再是只能使用手机中默认的铃声,而是可以根据自己的喜好任意设置。

2. Web 应用技术

在开发 Web 应用程序时,通常需要应用客户端和服务器端两方面的技术。其中,客户端应用的技术主要用于展现信息内容,而服务器端应用的技术,则主要用于进行业务逻辑的处理和与数据库的交互等。

1) 、客户端应用的技术

在进行 Web 应用开发时,离不开客户端技术的支持。目前,比较常用的客户端技术包 括 HTML 语言、CSS、Flash 和客户端脚本技术。

✓ HTML

HTML 语言是客户端技术的基础,主要用于显示网页信息,有浏览器解释执行,它不需 要编译。

✓ CSS

CSS 就是一种叫做样式表的技术,也有人称之为层叠样式表。在制作网页时才有用 CSS 样式,可以有效地对页面的布局、字体、颜色、背景和其他效果实现更加精确的控制。

✓ Flash

Flash 是一种交互式矢量动画制作技术,它可以包含动画、音频、视频以及应用程序, 而且 Flash 文件比较小,非常适合在 Web 上应用。

✓ 客户端脚本技术

客户端脚本技术是指嵌入到 Web 页面中的程序代码,这些程序代码是一种解释性的语言,浏览器可以对客户端脚本进行解释。通过脚本语言可以实现以编程的方式对页面元素进行控制,从而增加页面的灵活性。常用的客户端脚本语言由 JavaScript 和 VBScript。目前, 应用最广泛的客户端脚本语言是 JavaScript 脚本,它是 Ajax 的重要组成部分。

2)、 服务器端应用的技术

在开发动态网站时,离不开服务器端技术,比较传统和经典的 Web 服务器端技术主要 有:CGI、ASP、SERVLET/JSP、PHP 等。

✓ CGI(公用网关接口)

CGI 可以说是最早的 WEB 服务器端技术,它是个 HTTP 过滤程序,其大致的原理是:CGI 是在 WEB 服务器上运行的一个程序,该程序定义了 WEB 客户请求与应答的一种方法。客户 向服务器的请求(主要是 HTML 表单)只要属于 CGI 定义范围,就启动 CGI 程序,其任务是 把客户的请求从网管的环境变量中取出并加以转换,提交给服务器上的 CGI 应用程序,这些 程序可以用 C/C++/PERL 等语言编写,这些程序具备访问服务器资源(比如数据库)的能力, 这些程序的运行结果,通过 CGI 转换成 HTML 格式,发送到客户端。 CGI 程序很容易实现对服务器资源的访问,但是向客户端输出则比较麻烦,程序员不能 使用“所见即所得”的网页制作工具,只能一行行手写 HTML 代码,向客户端输出,不适合生成复杂页面,这项技术现在使用的人不多。 但是,CGI 的基本原理却被后续的服务器端网页技术沿用。

✓ ASP

ASP 是微软研发的技术,出现于 1997 年前后。它解决了 CGI 的输出麻烦。 ASP 允许 HTML 和服务器端脚本混合编程。可以在 HTML 中插入括起来的代码段, 这些代码可以用 JavaScript\VBScript 等脚本语言编写,但他们是在服务器上执行的。 ASP 编程是非常方便的,你可以先用“所见即所得”的网页制作工具把页面效果做出来, 然后再在其中插入服务器端脚本输出服务器端的计算结果。它的缺点是:HTML 和脚本混合编程,使程序的可读性很差,不利于维护大型 WEB 项目,脚本程序的调试也是个问题。2003 年前后退出的 http://ASP.NET 基本解决了上述问题。 ASP 还内置了几个对象,这些对象不需要实例化即可使用,实现网页的状态维护、HTTP 模拟等功能,这些对象后来大都出现于 JSP 中。

✓ PHP

PHP 语法类似于 C,别切混合了 Perl、C++和 Java 的一些特性。它是一种开元的 Web 服 务器脚本语言,于 ASP 一样可以在页面中加入脚本代码来生成动态内容。对于一些复杂的 操作可以封装到函数或类中。在 PHP 中提供了许多已经定义好的函数,例如提供的标准的 数据库接口,是的数据库连接方面,扩展性强。PHP 可以被多个平台支持但被广泛应用于 UNIX/Linux 平台。由于 PHP 本身的代码对外开放,并且经过许多软件工程师的检测,因此到 目前为止该技术具有公认的安全性能。

✓ JSP

Java Server Page 简称 JSP。JSP 是以 Java 为基础开发的,所以它沿用 Java 强大的 API 功 能。JSP 页面中的 HTML 代码用来显示静态内容部分,嵌入到页面中的 Java 代码与 JSP 标记 用来生成动态的内容。JSP 允许程序员编写自己的标签库来完成应用程序的特定要求。JSP 可以被预编译,提高了程序的运行速度。另外,JSP 开发的应用程序经过一次编译后,便可 随时随地运行。所以在绝大部分系统平台中,代码无需做修改即可在支持 JSP 的任何服务器中运行。

✓ Servlet

Servlet 是 Java 早期的 Web 服务器端技术,用 Java 语言编写。无论是从原理和编程方式 上,几乎就是 CGI 的翻版,具有 CGI 的缺点和优点,与 CGI 主要不同的是,Servlet 对每个请求都是单独启动一个线程,而不是进程。

关于Javaweb应用程序就介绍到这里,下次小乐会带来Tomcat,详细讲解Tomcat的前前后后和安装使用。

java web应用程序_说说Java Web中的Web应用程序|乐字节相关推荐

  1. 单片机中段程序_单片机c语言中的一小段程序解读

    函数名称:System_CalculateSolubility()函数功能:采样ADC0832的电压值,换算成浮点数溶度值*************************************** ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java webservice接口开发_给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)

    J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...

  4. java web统计报表_用Java在Web页面上输出统计图 统计报表

    用Java在Web页面上输出统计图 河南省焦作水利局 聂春生 在Internet 和Intranet 的应用中,数据库和Web 技术的结合是传统MIS 系统移植到Internet(Intrant) 环 ...

  5. java私塾 设计模式 视频_[章节]Java Web开发理论部分视频教程 之 04 mvc设计模式详解视频教程 - 我的学习中心 - 私塾在线 - 只做精品视频课程服务...

    第01节课:进行整体课程概览:复习事件机制:复习表现层的功能:复习表现层的开发 第02节课:Web应用的基础知识,包括:Internet.Http.IP.Port.MIME规范.Web客户端和服务端. ...

  6. java web.xml 监听器_【JAVA 核心技术】java web 中的监听器

    为什么要有监听器? 监听器是用来处理一系列事件的java类,可被配置在java web项目中. 既然如此,为什么不用代码直接调用监听器? 这可能是因为J2EE规范规定的项目工程标准,用web.xml指 ...

  7. 创建react应用程序_使用SpringWebFlux的React式Web应用程序

    创建react应用程序 1.React式编程简介 React式编程是为具有以下特征的应用程序创造的术语: 非阻塞应用 事件驱动和异步 需要少量线程来垂直扩展(即在JVM中) 就像面向对象的编程,函数式 ...

  8. 构建meteor应用程序_我构建了一个渐进式Web应用程序并将其发布在3个应用程序商店中。 这是我学到的。...

    构建meteor应用程序 by JudahGabriel Himango 犹大(Gabriel Himango) 我构建了一个渐进式Web应用程序并将其发布在3个应用程序商店中. 这是我学到的. (I ...

  9. java开发wap程序_应用Java技术开发WAP应用程序

    WAP开发入门--搭建开发环境一文中介绍了如何搭建WAP开发应用程序,这篇文章将讲述如何使用Java技术开发WAP应用程序. 我们还是采用Tomcat作为web服务器,如果你对如何使用tomcat还不 ...

最新文章

  1. python的计算符号说明_python中的计算符号
  2. leetcode算法题--二叉树中序遍历迭代法
  3. 反射(操作MetaData)
  4. boost::reinterpret_pointer_cast相关的测试程序
  5. Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  6. 为什么最近的食盐用量增加了?
  7. TP-Link路由器设置上网知识笔记
  8. LeetCode387-字符串中的第一个唯一字符(查找,自定义数据结构)
  9. Lesson Plan 教学计划 翻译
  10. IDEA快捷键+使用小技巧
  11. 区块链 Fisco bcos 智能合约(11)-深入浅出Solidity
  12. 0. Unix / Linux操作系统介绍
  13. c语言课程信息系统排序学分_您可以免费访问具有实际大学学分的400多种在线课程
  14. lisp弧度转度分秒_度分秒转弧度)
  15. java连接点菜基站_基于JAVA的电信基站接口调用代码实例
  16. 拉丁字母表及中英文发音
  17. linux强制连接蓝牙键盘,Thinkpad 蓝牙键盘 Fn 键处于锁定状态的解决方法
  18. 对比“码绘”与“手绘”的区别
  19. 项目风险应对策略总结
  20. 基于cesium实现城市查询并定位

热门文章

  1. 在一个windows服务下,安装多个mysql服务。
  2. Mysql的备份与恢复类型
  3. 普通web项目转maven项目
  4. 一个html可以有几个h1,关于html:HTML5大纲和多个H1 SEO
  5. 韩国大面积断网事情,可能遭受了DDoS攻击,网友:真的是黑客攻击吗?
  6. 售票系统的组件图和部署图_门禁安装大样图、管线图、系统图、电锁安装图
  7. 遗传算法求解装箱问题c语言,装箱或背包问题? (或者遗传算法解决)
  8. c语言的数据有常量与,C语言数据与常量.ppt
  9. python语言只采用解释一种翻译方式对吗_python与脚本语言
  10. 涤纶针织物用分散染料染色时,为什么小样与大样不符?