ok了家人们,今天开始学习javaweb,我们一起看看吧
一.WEB开发介绍
1.1 WEB介绍
Web
(
World Wide Web
)即全球广域网,也称为万维网。简
单说,能够通过浏览器访问的网站。在我们日常的生活中,经
常会使用浏览器去访问百度、京东等这些网站,这些网站统称
为
Web
网站。
JavaWeb
就是用
Java
技术来解决相关
web
互联网领域的技术
栈。
1.2 软件架构模式
BS
模式
:browser server
浏览器服务器。
例如
:
天猫、京东、知乎网站
优点:只需要开发服务器代码,用户下载浏览器,维护方便;
减少用户的磁盘空间
缺点:给服务器造成压力;用户观看体验不友好。
- CS模式:client server 客户端 服务器
例如
: QQ
,绝地求生,
LOL
优点:具有客户端和服务器端,减轻服务器的压力
;
用户观看
体验友好
缺点:维护成本大;版本升级麻烦,占用户磁盘空间
1.3 B/S和C/S通信模式特点
- 先有请求
- 后有响应
- 请求和响应是成对出现的
1.4 WEB资源
静态资源:
WEB
页面中共用户访问的数据始终是不变的,比
如说
:html
、
css
、
js
、图片、音视频等等。
动态资源:指
web
页面中供人们浏览的数据是由程序产生的,
不同的用户或者不同时间点访问
web
页面看到的内容各不相
同。例如:
servlet
,
jsp
。
1.5 URL请求路径
URL
(
Uniform Resource Locator
) ,
统一资源定位符
是对
互联网上资源位置的一种表示,互联网上的每个文件都有一个
唯一
的
URL
。
作用:通过资源路径可以访问到具体的服务器。
格式:协议
://
服务器的
ip
地址
:
服务器的端口号
/
项目名
/
资源路
径
例如:jdbc:mysql://localhost:3306/数据库名
https://www.baidu.com
协议:是一种规范。对数据格式和计算机之间交换数据时必须遵守
的规则的正式描述。
服务器的ip地址:就是访问的服务器的地址。
服务器的端口号:访问服务器端的进程号,属于唯一标识。
二.服务器
2.1 服务器介绍
服务器,是提供计算服务的设备。由于服务器需要请求响应,
并进行处理,因此一般来说服务器应具备承担服务并且保障服
务的能力。
服务器分类
:
硬件服务器:服务器的构成包括处理器、硬盘、内存、系统总
线等,和通用的计算机架构类似,但是由于需要提供高可靠的
服务,因此在处理能力、稳定性、可靠性、安全性、可扩展
性、可管理性等方面要求较高。
软件服务器
:
服务器软件本质上是一个应用程序(由代码编写
而成),运行在服务器设备上。能够接收请求并根据请求给客
户端响应数据,发布资源
(
静态和动态
)
。数据库服务器、邮件
服务器
(
易邮
)
、网页服务器(
tomcat nginx发布网页)等
2.2 常见的Web服务器
Tomcat: Apache
软件基金开源免费的
web
服务器
,
支持
JavaEE
规(
Servlet/Jsp
)
JBoss: RedHat
红帽公司的开源免费的
web
服务器
,
支持
JavaEE
规范
Jetty:Apache
组织开源免费的小型
web
服务器
,
支持
JavaEE
规范
Glass Fish:Sun
公司开源免费的
web
服务器
,
支持
JavaEE
规
范
WebLogic: Oracle
公司收费的
web
服务器
,
支持
JavaEE
规范
2.3 Tomcat服务器
部署项目
在
webapps
文件夹下创建
xm
文件夹
在
xm
文件夹中并创建
index.html
页面
使用记事本打开
html
页面输入如下内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
嘿嘿
</body>
</html>
启动
tomcat
访问:必须加项目名
xm
http://localhost:8080/xm/index.html
三.使用IDEA创建web工程
3.1 创建方式一
直接创建
JavaWeb
项目
3.2 创建方式二
先创建普通
Java
工程
3.3 IDEA集成Tomcat
3.4 IDEA部署项目
3.5 WEB项目目录介绍
3.6 IDEA部署并运行项目的原理
idea
并没有直接进将编译好的项目放入
tomcat
的
webapps
中
idea
根据关联的
tomcat,
创建了一个
tomcat
副本
,
将项目部
署到了这个副本中
idea
的
tomcat
副本在
C:\
用户
\
当前用户
\AppData\Local\JetBrains\IntelliJIdea2022.2\tomcat\
中
idea
的
tomcat
副本并不是一个完整的
tomcat,
副本里只是
准备了和当前项目相关的配置文件而已
idea
启动
tomcat
时
,
是让本地
tomcat
程序按照
tomcat
副本
里的配置文件运行
idea
的
tomcat
副本部署项目的模式是通过
conf/Catalina/localhost/*.xml
配置文件的形式实现项目部
署的
3.7 war包发布
进入到
D:\develop\code\out\artifacts\web_0901_war_explode
d
在
DOS
命令窗口输入
jar -cvf
打包名称
.war .
(
点
表示
当前目录下 )
把打好的
war
拷贝到
tomcat
的
webapps
目录中
四.HTTP协议
4.1 HTTP协议简介
HTTP
协议:
HyperText Transfer Protocol
,超文本传输协
议,规定了浏览器和服务器之间数据传输的规则。
HTTP
就是
一个通信规则,这个规则规定了客户端发送给服务器的报文格
式,也规定了服务器发送给客户端的报文格式。
客户端发送给服务器的称为
"
请求报文
"
,
服务器发送给客户端的称为
"
响应报文
"
。
4.2 Http请求报文详解
HTTP
请求报文:由客户端向服务器端发出的报文。
HTTP
请求报文格式:包含请求行、请求头、空行、请求体 四
个部分
GET
请求没有请求体;
POST
请求才有请求体
GET
请求
POST
请求
请求头详解
Accept:浏览器可接受的MIME类型 ,告诉服务器客户端能接收什
么样类型的文件。
User-Agent:浏览器信息.(浏览器类型, 浏览器的版本....)
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种
字符集
Content-Length:表示请求参数的长度
Host:初始URL中的主机和端口
Content-Type:内容类型,告诉服务器,请求体内容类型[服务器
根据类型解析请求体参数]
Accept-Encoding:浏览器能够进行解码的数据编码方式,比如
gzip
Connection:表示是否需要持久连接。如果服务器看到这里的值
为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP
1.1默认进行持久连接 )
Cookie:这是最重要的请求头信息之一(会话技术, 后面会有专
门的时间来讲的)
Date:Mon, 22Aug 2011 01:55:39 GMT 请求时间GMT
4.3 Http响应报文详解
响应报文:从服务端到客户端的报文。
HTTP
响应报文格式:响应行、响应头、空行、响应体 四个部
分
响应头详解
Location:
指定响应的路径,需要与状态码
302
配合使用,完成
跳转。
Content-Type: text/html
响应体数据的类型
[
浏览器根据
类型解析响应体数据
]
Refresh: 5;url=http://www.baidu.com
指示客户端刷新
频率。单位是秒
eg:
告诉浏览器
5s
之后跳转到百度
Content-Disposition:
文件下载的时候使用。通过浏览器以
下载方式解析正文
Content-Length:80
告诉浏览器正文的长度
Server:apachetomcat
服务器的类型
Content-Encoding: gzip
服务器发送的数据采用的编码类型
Set-Cookie:
与会话相关技术。服务器向浏览器写入
cookie
响应状态码
200
:
请求成功,浏览器会把响应体内容(通常是
html
)显示在浏览器中;
404
:
请求的资源没有找到,说明客户端错误的请求了
不存在的资源;
405
:
请求的方式不允许
500
:
请求资源找到了,但服务器内部出现了错误;
302
:
重定向,当响应码为
302
时,表示服务器要求浏
览器重新再发一个请求,服务器会发送一个响应头
Location
指定新请求的
URL
地址;
304
:
使用了本地缓存
JAVAEE
版本和
Servlet
版本号对应关系
Jakarta EE Releases
Tomcat
版本和
Servlet
版本之间的对应关系
ok家人们明天见 嘻嘻