一、Java Web的基本概念
1. Java Web
Java Web,是用Java技术来解决web互联网领域相关的技术栈。
2. web应用程序
-
Web应用程序是一种可以通过Web访问的应用程序。
-
Web应用程序首先是“应用程序”,和用标准的程序语言如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物, web应用程序编写完毕必须由一个统一的服务器管理。
3. 静态web资源
-
指web页面中供人们浏览的数据始终是不变。
-
静态web资源开发技术:HTML、CSS。
4. 动态web资源
-
web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
-
动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等(在Java中,动态web资源开发技术统称为Java Web)。
5. Web服务器
-
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应;可以放置网站文件,让全世界浏览;也可以放置数据文件,让全世界下载。
-
目前最主流的三个Web服务器是tomcat、 Nginx 、IIS(微软的)。
二、Tomcat
1. 基本介绍
-
Tomcat是Apache旗下的一个产品,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。
-
Tomcat服务器技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
2. 下载地址
3. 目录分析
4. Tomcat的启动和关闭
5. Tomcat的配置
5.1 端口号的配置
Tomcat默认端口号为 8080
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
5.2 主机的配置。
- 默认主机名字为 localhost或者127.0.0.1
- 默认web程序存放的目录为 webapps
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
5.3 环境变量的配置。
环境变量的配置和jdk的环境变量配置类似。配置的目的是能够在任何地方都能使用可执行文件。
5.4 命令行窗口中文乱码的配置
三、HTTP
1. 基本介绍
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
2. HTTP请求
2.1 HTTP协议请求格式
2.2 请求行
请求行分为三个部分:请求方法、请求地址和协议版本
2.2.1 请求方法
HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。
2.2.2 请求地址
URL:统一资源定位符,是一种资源位置的抽象表示方法。
组成:<协议>://<主机>:<端口>/<路径>
端口和路径有时可以省略(http协议的默认端口号是80,https协议的默认端口号是443。)
2.2.3 协议版本
协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1
2.3 请求头
常见请求头如下:
2.4 请求体
get请求一般没有请求体。post请求有。
HTTP请求示例:
3. HTTP响应
3.1 HTTP协议响应格式:
3.2 状态行
由3部分组成,分别为:协议版本,状态码,状态码描述。
其中协议版本与请求报文一致,状态码描述是对状态码的简单描述,所以这里就只介绍状态码。
响应状态码
- 200:请求成功
- 3xx:请求重定向,即重新去另一个位置找。
- 4xx:找不到资源。404
- 5xx:服务器代码错误。502(网关错误)
3.3 响应头
常见的响应头如下:
3.4 响应体
不是所有响应都有body,具有状态码(比如201或204)的响应,通常不会有body