美文网首页java基础
java基础-day38-Tomcat和HTTP协议

java基础-day38-Tomcat和HTTP协议

作者: 触手不可及 | 来源:发表于2021-07-01 16:20 被阅读0次

页面案例,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

相关文章

网友评论

    本文标题:java基础-day38-Tomcat和HTTP协议

    本文链接:https://www.haomeiwen.com/subject/hynjultx.html