JavaWeb复习01、02
JavaWeb复习01、02
CH01概述与基础知识
Web简介
Web与互联网的关系
互联网是基础设施,Web是互联网的一项服务(应用)。
互联网指20世纪末兴起的计算机网络模式,通过一系列网络协议实现计算机之间的网络通信,是一种网络基础设施。
web,万维网,是一种基于互联网进行访问的应用模式,主要要素包括HTTP、HTML、URL、浏览器等。
Web的发展:1.0,2.0,3.0
Web1.0:主要由平台、公司搭建服务器,创造内容,以静态或动态网页的形式向互联网用户提供信息,用户一般不参与内容的创造,少互动,web1.0也被称为 只读网络
Web2.0:平台、公司除了向用户提供内容外,更多的是提供平台来共享用户生产的内容,让用户可以交互,是可读可写的网络
**Web3.0:**近年来提出的一个模糊的概念,大致思想包括去中心化、无需许可/审核,用户拥有内容,原生支付等
Web应用程序的工作原理
请求——响应模式
客户端把请求发送到服务器端的Web应用程序,Web应用程序接受请求后进行相关处理,把客户端请求的资源以文本、图片、网页等形式,作为响应返回到客户端
B/S和C/S
由于解析HTML文件一般为浏览器,所以将这种架构称为B/S架构
C/S架构:客户端/服务器
Web服务器
一般来说指安装了Web服务器应用的物理主机。Web服务器主要功能包括:处理HTTP协议栈,文件系统映射I/O、多线程处理请求/响应、日志记录、代理服务等。常用的软件有Apache、Nginx等
Web的三个基础技术
HTML
HTTP
**HTTP请求:**包括请求行,请求头,请求体:
请求行包括:请求方法、资源路径、协议/版本
HTTP1.1规定有7种请求方法,get和post常用于Web应用
**HTTP响应:**响应行,响应头,响应体:
响应行包括:协议/版本、状态码和状态码描述三部分
响应头包括响应的相关描述,最重要的是内容类型Content-Type
响应体一般为HTML网页
**HTTP请求类型:**7种请求方法:
| 请求方法 | 用途 |
|---|---|
| get | 从服务器获取资源 |
| post | 向服务器提交实体内容 |
| put | 向服务器传输文件 |
| delete | 请求删除服务器上的资源 |
| head | 只获取服务器响应头的头部 |
| options | 询问服务器支持的请求方法 |
| trace | 请求跟踪路径 |
HTTP响应:
常用的响应状态码:
| HTTP状态码 | 含义 |
|---|---|
| 200 | 请求成功 |
| 201 | 请求成功并在服务器上创建新资源 |
| 202 | 请求被接受但未处理完成 |
| 204 | 请求成功,但未发布任何新内容 |
| 404 | 请求的资源不可用 |
| 500 | 服务器内部发生错误 |
| 501 | 服务器不支持完成请求所需功能 |
| 503 | 服务器过载,不能对请求进行服务 |
常用的内容类型Content-Type:
| 描述 | MIME |
|---|---|
| 网页 | text/html |
| 字符串 | text/plain |
| application/pdf | |
| 视频 | video/quicktime |
| 图片 | image/jpeg |
| 压缩文件 | application/x-zip |
| 应用程序 | applicatiion/java |
URL&URI
**URL:**统一资源定位符:
协议,指定和服务器的通信方式+主机,可以是ip地址或能经dns解析的主机名+资源路径和文件名+参数,以?开始,多个参数通过&连接
**URI:**统一资源表示符:
URL是URI的子集,URI还在进一步研究当中,方向是弥补url的缺点
CH02 Servlet基础
Web服务器和Web容器
Web服务器:
一般来说指安装了Web服务器应用的物理主机。Web服务器主要功能包括:处理HTTP协议栈,文件系统映射I/O、多线程处理请求/响应、日志记录、代理服务等。常用的软件有Apache、Nginx等。
Web容器:
给web应用的服务的程序提供运行环境的容器称为Web容器。常见的Web容器有Tomcat、JBoss、IIS等。
主要功能包括通信支持、生命周期管理和多线程支持等
Tomcat
Tomcat概念
Tomcat准确定位为:JavaWeb容器+Web服务器。
作为Web服务器,Tomcat能完成Apache的部分功能,如实现HTTP协议、处理,响应请求等,默认在8080端口监听。
作为JavaWeb容器,Tomcat负责编译、运行、部署Servlet、jsp,也叫servlet容器。
Tomcat目录结构
- **bin目录:**可执行程序,包括启动和关闭的程序startup.sh和shutdown.sh
- **conf目录:**配置文件,包括核心配置文件server.xml和context.xml
- **lib目录:**库文件,包括编写Servlets必须的servlet-api.jar和jsp-api.jar
- **webapps目录:**Web应用程序,每个Web应用程序都有一个目录,名称映射根路径
XML
概念
**xml:**可扩展标记语言
xml是目前互联网中数据描述、存储和表达的事实标准,xml文件为纯文本文档,被设计为简单、通用、自我描述。
xml和html同属标记类语言,主要异同有:
- 都使用标记进行数据描述,都是单根树型结构
- sml标记为自定义,html有语法限定
- xml主要用于数据存储,核心是数据内容,html则是展现数据。
语法和格式要求
一个xml文档由两部分组成:声明和文档元素
- 声明必须位于第一行,用于设定文档的编码、版本等信息
- 文档元素由一个单根的树形自定义标记结构组成
1 |
|
Servlet
Servlet技术的核心是javax.servlet.Servlet接口,所有的Servlet类必须直接或间接实现Servlet接口。
Servelt容器负责加载和调用具体的Servlet类,每一个具体的Servlet类都是单例模式
其中init、service、destroy三个方法是生命周期方法。
另外两个非生命周期方法:getServletInfo返回servlet的描述信息,getServletConfig返回Servlet配置信息。
Servlet的生命周期
- Servlet的生命周期包括加载、实例化、处理客户端请求和销毁。
- 当有请求到达时,Tomcat容器负责加载Servlet,然后调用init()方法进行初始化操作,紧接着开启一个service()方法线程进行处理请求,当所有的service()线程均执行完成后,Tomcat容器垃圾回收机制调用destroy()方式销毁Servlet。



