页面案例,Tomcat和HTTP协议
1. CSS
1.1 CSS3.0拓展属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>01-边框CSS3样式</title>
<style>
div {
width: 200px;
height: 50px;
background-color: red;
color: white;
font-size: 30px;
text-align: center;
line-height: 50px;
border: 1px solid black;
/* 边框圆角 */
border-radius: 25px;
/*
阴影效果
第一个参数是水平阴影偏移
第二个参数是垂直阴影偏移
第三个参数是阴影发散程度
第四个参数是阴影颜色
*/
box-shadow: 10px 10px 5px navy;
}
body {
/* 背景图片尺寸设置 */
background-size: 1000px 1000px;
background-repeat: no-repeat;
/* 背景图片 */
/*background-image: url("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1585371219400&di=f0366a885f9f399ddf6dfa38cd6972e3&imgtype=0&src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farticle%2F96daaba25629e9948a4683e89a8b8e749b97d31b.jpg");*/
}
p {
font-size: 30px;
text-shadow: 5px 5px 5px gray;
}
</style>
</head>
<body>
<div>圆角属性</div>
<p>
美国确诊人数超10W,欧洲预期感染人数会超过60W
</p>
</body>
</html>
2. HTML+CSS案例
image.png
3. Tomcat服务器
3.1 Tomcat服务器概述
Apache组织,Sun公司以及个人一起维护一个符合JavaEE一部分规范的轻量级服务器软件。
Tomcat服务器免费开源,对于用户使用比较友好,完全兼容JSP和Servlet,同时可以相应HTML页面
JBoss符合全部JavaEE规范的服务器,收费
WebLogic符合全部JavaEE规范的服务器,收费
WEB服务器软件是提供的WEB服务工具,安装到计算机中,开启服务,并且打开【对应端口】限制就可以对外提供的WEB操作。
3.2 Tomcat服务器下载和安装
老规范,所有的软件下载都是从官网获取。
官网地址: http://tomcat.apache.org/
【注意】
1.推荐下载对应的zip压缩包,不建议下载windows安装程序。
2.下载安装解压缩的路径是一个没有特殊字符,没有中文路径,别放C盘
3.启动Tomcat服务器是在安装路径下bin目录中找到 startup.bat 批处理文件,双击打开。
4. 开启Tomcat服务器,需要关闭时使用shutdown.bat关闭,不要使用X号
【Tomcat启动失败】
1. 检查JDK环境变量配置
JAVA_HOME CLASS_PATH Path
2. 检查是否在环境变量中存在一个Catalina,删除
3. 路径有中文。
4. 已经打开一个Tomcat了
3.3 Tomcat目录结构介绍
bin
二进制目录,对应Tomcat服务器的可执行文件,对应都是.sh .bat
.sh Linux系统下使用的Shell脚本,.bat是Windows系统中使用的批处理文件。启动Tomcat使用startup.bat/(Linux)startup.sh,关闭Tomcat服务器使用shutdown.bat/(Linux)shutdown.sh。
conf
配置文件所在的路径
server.xml
配置整个服务器的信息,例如这里可以用于修改端口号,添加虚拟主机
web.xml
存储当前Tomcat服务器支持的数据类型,文档类型。MIME类型
tomcatusers.xml
tomcat用户,在Tomcat管理页面中,Manager Tomcat登录需要用户名和密码。
lib
Tomcat服务所需的库文件,都是Jar包形式
servlet-api.jar Servlet支持的核心Jar
logs
日志,Tomcat运行过程中存在错误,都是记录到当前Log日志中。
temp
临时文件目录,Tomcat关闭之后是自动删除
webapps
存放WEB项目路径
work
WEB项目运行过程中一些资源的保存目录,JSP文件运行过程中需要通过Tomcat解析,解析完成生成一个对应的servlet程序,会保存到work目录中
LICENSE
许可证
NOTICE
说明文件
3.5 启动Tomcat服务器和验证
启动Tomcat服务器是在安装路径下bin目录中找到 startup.bat 批处理文件,双击打开。
在浏览器中输入
http://localhost:8080/
image.png
3.6 IDEA配置Tomcat服务器
新建项目
image.png
选择Tomcat安装路径
image.png
3.7 Eclipse配置Tomcat服务器过程
菜单栏 Windows -->
image.png
选择Tomcat版本
image.png
选择Tomcat安装包路径
image.png
开发页面Server配置当前tomcat服务器
image.png
修改Tomcat配置
image.png
4. IDEA创建JavaWEB项目以及配置
选择创建项目版本的对应Tomcat服务器
image.png
在WEB-INF下创建classes文件夹和lib文件夹
image.png
添加项目依赖Jar包
image.png
配置修改Tomcat
image.png
5. IDEA项目目录结构
image.png
Web Preject
--| src
--| web
----| WEB-INF
------| classes
------| lib
------| web.xml
----| context内容
src路径
Java源代码,Servlet,Dao,Service
WEB路径
WEB项目路径
context内容 静态资源,HTML,JavaScript,CSS,img,video
WEB-INF
该路径中的内容是不允许直接通过URL访问的,是受到Tomcat服务器限制,一般通
过web.xml文件限制,或者【注解限制】
classes Java源代码对应的.class字节码文件,可以在Tomcat服务器运行。
lib 是当前WEB项目运行所需的jar包,第三方库,需要交给Tomcat服务器使用。
web.xml 当前WEB项目的配置文件,支持所有的Servlet版本!!!
WEB.xml 配置Servlet,Filter,Listener,WEB项目初始化参数
6. HTTP协议
6.1 HTTP协议概述
HyperText Transfer Protocol 超文本传输协议
目前网络端使用的协议都是1.1版本,或者是HTTP升级版,安全性更强的HTTPS
HTTP协议传输数据有很多方式
GET和POST
协议的作用是保障协议双方可以满足通信的要求,HTTP协议是基于TCP/IP协议的
在JavaWEB中HTTP协议对应的一个非常重要的类 HttpServlet,符合HTTP协议的一个Server applet程序要求,也是重要的组件之一
6.2 GET和POST
GET:
1. 通过URL明文传递
2. 数据传输不安全
3. 数据传输有大小限制,一般在2KB以内
4. 速度传输快
5. 一般用于查询操作,百度搜索,Google搜索....
POST:
1. 通过【HTTP请求实体】完成数据传递
2. 较为安全,当然需要其他技术进行数据加密
3. 数据传输大小不限制
4. 数据传输速度较慢
5. 一般用于数据修改,添加,删除,登录验证...
6.3 HTTP请求头
6.3.1 GET请求 HTTP请求头案例
GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Sec-Fetch-Dest: document
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,zh-TW;q=0.6
Cookie: BIDUPSID=29858ECF7C91E21F0B37717184071950; PSTM=1585114401; BAIDUID=29858ECF7C91E21F4C14880E29E50643:FG=1; BD_UPN=12314753; COOKIE_SESSION=7706_0_8_6_17_11_0_0_8_4_1_0_0_0_13_0_1585376605_0_1585384298%7C9%230_0_1585384298%7C1
6.3.2 GET请求 HTTP请求头分析
GET / HTTP/1.1
请求方式为GET方法,请求的目标路径是 / 根目录 ,目前采用的协议是HTTP 1.1
Host: www.baidu.com
请求的主机地址,域名,主机名 www.baidu.com
Connection: keep-alive
保持连接状态
Cookie:
很重要!!!在WEB项目中的【会话控制】浏览器本地保存的聊天记录
COOKIE_SESSION=7706_0_8_6_17_11_0_0_8_4_1_0_0_0_13_0_1585376605_0_1585384298%7C9%230_0_1585384298%7C1
6.3.3 POST请求 HTTP请求头案例
POST /Day41_SL_IDEA_WEB/TestPost HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 23
Cache-Control: max-age=0
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Sec-Fetch-Dest: document
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Referer: http://localhost:8080/Day41_SL_IDEA_WEB/01-testpost.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,zh-TW;q=0.6
Cookie: JSESSIONID=1FAE85AEA34276DFF7420DFCDB4A1419; Idea-dea629c4=b04c4a41-0fa9-4df6-a203-95ca69ac2699
6.3.4 POST请求 HTTP请求头分析
POST /Day41_SL_IDEA_WEB/TestPost HTTP/1.1
请求方式为POST方式,请求的资源是/Day41_SL_IDEA_WEB/TestPost,使用的HTTP协议为1.1协议
Host: localhost:8080
请求去主机名,域名或者说是IP地址,8080是Tomcat服务器在当前电脑上的端口号
POST请求中存在一个请求实体,在浏览器开发者工具内可以看到
From Data
name:骚磊
6.4 HTTP协议响应头
HTTP/1.1 200 OK
Bdpagetype: 2
Bdqid: 0xdb1fc9630002719a
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Sat, 28 Mar 2020 08:51:37 GMT
Expires: Sat, 28 Mar 2020 08:51:36 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=430; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=1426_31170_21111_30842_31186_30824_31085_26350; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1585385497161029095415789560245623353754
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
HTTP/1.1 200 OK
响应数据使用的协议是HTTP1.1版本,状态码 200 OK
Server: BWS/1.1
当前服务器的版本名字和对应的编号
Date: Sat, 28 Mar 2020 08:51:37 GMT
日期格林尼治时间,中国是+8区
Set-Cookie: BDSVRTM=430; path=/
保存对应的Cookie信息,【会话控制技术】
BDSVRTM=430; BDSVRTM Cookie名字 430 Cookie数据
path=/ 有效路径
6.5 HTTP响应状态码
|
已定义范围 |
分类 |
1XX |
100-101 |
信息提示 |
2XX |
200-206 |
成功 |
3XX |
300-305 |
重定向 |
4XX |
400-415 |
客户端错误 |
5XX |
500-505 |
服务器错误 |
200 OK!!!
302 重定向提示
404 Source Not Found 资源未找到!!!最常见错误!!!
500 服务器GG思密达
6.6 HTTP和HttpServlet关系
HttpServlet是Java中符合HTTP协议的Servlet程序基类
HttpServletRequest对应HTTP协议的请求头
请求参数,IP地址,请求主机资源,请求URL,请求的时间,请求的数据长度,上传的Cookie...
HttpServletResponse对应HTTP协议的响应头
状态码,数据内容格式,响应的内容,传输的数据,设置的Cookie
网友评论