JavaWeb入门(一)- Web基础

文章目录

        • 什么是Web程序?
          • Web程序的基本概念
            • 1. Web容器 、 Web服务器 和 应用服务器
            • 2. 静态资源 与 动态资源
        • 什么是JavaWeb程序?
          • JavaWeb基础概念
            • 1. 组件 与 容器
            • 2. Servlet 与 Servlet容器

什么是Web程序?

在搞清楚Web程序之前,首先搞清楚什么是Web?

WEB,即World Wide Web,即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。

就应用程序而言,有两种模式:C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。

Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。它是B/S模式的产物。
一个Web应用程序由Web组件和其他数据(如HTML页面)组成。

Web程序的基本概念
1. Web容器 、 Web服务器 和 应用服务器

Web应用程序是在Web服务器的Web容器内运行。Web容器通过提供命名上下文和生命周期管理的组件提供运行时环境。Web容器是Web服务器的一部分。

Web服务器:负责处理http请求,响应静态文件。某些Web服务器还可能提供其他服务,例如安全性和并发控制。常见的有 Apache, Nginx 以及微软的 IIS 等

JavaWeb入门(一)- Web基础_第1张图片

应用服务器:更多的是包含业务逻辑的处理,更加注重商业逻辑,负载均衡的处理。比如Java、php 、Python 的代码,是不能直接通过 Nginx 这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有 uwsgi 、 tomcat 等。

2. 静态资源 与 动态资源

静态资源:一般客户端发送请求到web服务器,web服务器从内存在取到相应的文件。如html、css等。最后,将其结果返回给客户端。返回给客户端,客户端解析并渲染显示出来。

动态资源:一般客户端请求的动态资源,先将请求交于web容器,web容器连接数据库,数据库处理数据之后,将内容交给web服务器,web服务器返回给客户端解析渲染处理。

Web服务器,通常只能处理静态资源。
应用服务器,通常处理动态资源。如 JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给应用服务器去处理。

JavaWeb入门(一)- Web基础_第2张图片

什么是JavaWeb程序?

所谓JavaWeb,就是用Java语言来实现的Web程序。如果在此基础上再细分,则把在Browser(浏览器)运行的程序,称为Web前端;把在Server(服务器)端运行的程序,称为Web后端。

什么是JavaWeb应用?

在Sun公司的规范中,JavaWeb应用的定义如下:

JavaWeb是由一组Servlet、HTML页、类、以及其他可以绑定的资源组成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。

基于此,可知JavaWeb的核心是Servlet。而运行环境是Servlet容器。

JavaWeb基础概念
1. 组件 与 容器

组件是指符合一定规范,实现部分功能的,并且需要重新部署到相应容器里,才能运行的软件模块。组件是封装了一个或多个程序模块的实体。组件强调的是封装,利用接口进行交互。

容器是符合一定规范,提供组件的运行环境的程序。

关于组件的理解:
轮胎在工业制造领域,就是一个组件
汽车产业的轮胎有如下特性:
①符合一定的规范
②实现部分的功能
③ 需要重新部署,即需要把轮胎部署到车里面,才能运行。所以,车就相当于一个容器。

2. Servlet 与 Servlet容器

Servlet是一个组件,
接收客户端的请求,专门接收客户端的请求数据。该组件需要部署到相应的容器里面,才能运行。
Tomcat就是一个Servlet容器,提供了servlet的运行环境,管理Servlet的生命周期。

两者的组装关系如下图所示:

JavaWeb入门(一)- Web基础_第3张图片

你可能感兴趣的:(JavaWeb)