一、WEB应用的定义
1. WEB是什么
WEB是一种基于超文本语言(HTML)和HTTP传输协议的、动态交互的、跨平台的分布式图形信息系统,是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超链接将Internet上的信息节点组织成一个互为关联的网状结构,是运行在互联网上的一种分布式系统。
2. WEB应用是什么
一个WEB应用是基于WEB技术为用户提供服务的程序和资源的集合,供用户使用浏览器或基于浏览器的软件进行访问,也称为WEB应用程序。一个WEB应用由静态资源、动态资源和数据组成。
静态资源:一般包括静态HTML页面和图像、音频、视频等多媒体文件等,内容无法动态更新,不参与用户交互。
动态资源:一般指可运行的程序,分为后台程序和前台程序,在服务器上运行的就是后台程序,在用户浏览器中运行的就是前台程序。
数据:程序运行过程中使用和产生的数据,最常见的存储方式是数据库,也可以保存在文件和其他介质中,如日志等。
二、WEB应用的构成和运行机制
1. 基本构成
(1)浏览器作为客户端为用户提供使用界面和交互手段。
(2)WEB服务器是系统运行的核心,所有资源(包括静态资源和动态程序,前台程序和后台程序)和数据都存储在WEB服务器上(硬件角度),并必须由WEB服务器向用户提供(软件角度)。
(3)浏览器和WEB服务器相互协作为用户提供服务,缺一不可。
(4)浏览器与服务器之间使用HTTP协议传输数据。
(5)WEB服务器向浏览器传输的数据,也就是提供给用户的界面和数据,主要是HTML格式的内容,HTML既是一种文件格式,也是一种计算机语言,浏览器负责解析和执行从服务器获得的HTML结果。
2. WEB应用中的程序
(1)应用程序在WEB容器(WEB服务器)中运行,不是可以独立运行的程序,WEB服务器根据用户的请求决定执行哪个应用程序。
(2)程序的输入是浏览器发送给服务器的用户数据(参数),输出通常是HTML格式的内容。用户输入以参数的形式经WEB服务器处理后提供给应用程序,应用程序输出的结果经WEB服务器处理后传送给浏览器。
(3)HTTP是无状态协议,每次请求和响应都是独立的过程,在两次请求处理之间不保存任何状态,对于应用程序来说,每次运行同样都是独立的过程,可以认为程序每次运行之后的临时数据都会被清除。
(4)应用程序在处理请求的过程中通常要与数据库进行交互
3. 前后端分离WEB框架
(1)前后端分离指将一个应用中用户界面逻辑处理部分和业务逻辑处理部分的程序放在各自独立的项目中,甚至部署在两个独立的WEB服务器中。
(2)在WEB模式下处理更丰富的用户界面逻辑和更复杂的业务逻辑。
(3)满足一个应用中使用多种前端设备的要求。
(4)降低个模块之间的耦合性,提高开发效率。
三、WEB应用开发常用技术
1. HTML
HTML的英文全称是 Hyper Text Markup Language,即超文本标记语言,它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX, Windows等)。使用HTML,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML文件“翻译”成可以识别的信息,即现在所见到的网页。
2. CSS
英文全称:Cascading Style Sheets,是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和显示的方式。CSS样式可以直接存储于HTML网页或者单独的样式单文件。
3. JavaScript
JavaScript(简称“JS”) 是一种解释性脚本语言,主要用来向HTML页面添加交互行为,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
4. Java
面向对象编程语言,常用于WEB应用开发和移动设备APP开发等领域。
5. SpringMVC
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发。提供了模型 - 视图 - 控制器架构以及可用于开发灵活,松散耦合的Web应用程序准备的组件。 MVC模式会导致分离的应用程序(输入逻辑,业务逻辑和UI逻辑)的不同方面,同时提供这些元素之间的松耦合。
6. Hibernate和Mybatis
访问数据库的ORM工具。
四、JAVA WEB应用开发的基本框架
(1)Tomcat服务器是使用最广泛的JAVA WEB服务器
(2)以Servlet和JSP为程序运行的基本单元
(1)客户端向Web服务器发起一个HTTP请求。
(2)HTTP请求被Web服务器接受,如果请求的是静态页面,则由Web服务器负责处理。如果请求的是Java Web组件(Servlet或者JSP),则移交给Web容器。Web容器可以在主机的同一个进程、不同的进程或其他的Web服务主机的进程中启动。
(3)Web容器根据Servlet的配置文件确定调用的具体Servlet类,并把request对象、response对象传给它。
(4)Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。Servlet处理完请求后把要返回的信息放入response对象返回到客户端。
(5)一旦Servlet完成了请求的处理,Web容器就会刷新response,把控制权返回给web服务器。