Tomcat

1.HTTP协议特点

HTTP协议有它自己的一些特点,分别是:

  • 基于TCP协议: 面向连接,安全

    TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全。

  • 基于请求-响应模型的:一次请求对应一次响应

    请求和响应是一一对应关系

  • HTTP协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的

    无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。这种特性有优点也有缺点,

    • 缺点:多次请求间不能共享数据
    • 优点:速度快

  1.请求数据格式

  • 请求行: HTTP请求中的第一行数据,请求行包含三块内容,分别是 GET[请求方式] /[请求URL路径] HTTP/1.1[HTTP协议及版本]

    请求方式有七种,最常用的是GET和POST

  • 请求头: 第二行开始,格式为key: value形式

    请求头中会包含若干个属性,常见的HTTP请求头有:

    Host: 表示请求的主机名
    User-Agent: 浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 …Chrome/79,IE浏览器的标识类似Mozilla/5.0 (Windows NT …)like Gecko;
    Accept:表示浏览器能接收的资源类型,如text/*,image/或者/*表示所有;
    Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
    Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。

  • 请求体: POST请求的最后一部分,存储请求参数

区别:

  • GET请求请求参数在请求行中,没有请求体,POST请求请求参数在请求体中
    GET请求请求参数大小有限制,POST没有

  2.响应数据格式

  • 响应行:响应数据的第一行,响应行包含三块内容,分别是 HTTP/1.1[HTTP协议及版本] 200[响应状态码] ok[状态码的描述]

  • 响应头:第二行开始,格式为key:value形式

    响应头中会包含若干个属性,常见的HTTP响应头有:

    Content-Type:表示该响应内容的类型,例如text/html,image/jpeg;
    Content-Length:表示该响应内容的长度(字节数);
    Content-Encoding:表示该响应压缩算法,例如gzip;
    Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒

  • 响应体: 最后一部分。存放响应数据

...这部分内容就是响应体,它和响应头之间有一个空行隔开。

  3.响应状态码

关于响应状态码,我们先主要认识三个状态码,其余的等后期用到了再去掌握:

  • 200 ok 客户端请求成功
  • 404 Not Found 请求资源不存在
  • 500 Internal Server Error 服务端发生不可预期的错误


2.Tomcat

1.安装

直接解压安装即可
直接删除文件夹即可
在这里插入图片描述

2.关闭

  • 直接x掉运行窗口:强制关闭[不建议]
  • bin\shutdown.bat:正常关闭
  • ctrl+c: 正常关闭

3. 配置

1.修改服务器启动乱码问题—conf–logging.properties
在这里插入图片描述

2.tomcat默认的端口是8080,要想修改Tomcat启动的端口号,需要修改 conf/server.xml
在这里插入图片描述

注: HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。

启动时可能出现的错误

  • Tomcat的端口号取值范围是0-65535之间任意未被占用的端口,如果设置的端口号被占用,启动的时候就会包如下的错误
  • Tomcat启动的时候,启动窗口一闪而过: 需要检查JAVA_HOME环境变量是否正确配置

4. 部署

1.Tomcat部署项目: 将项目放置到webapps目录下,即部署完成。
2.一般JavaWeb项目会被打包称war包,然后将war包放到Webapps目录下,Tomcat会自动解压缩war文件

5.Maven创建Web项目

Web项目的结构分为:开发中的项目和开发完可以部署的Web项目,这两种项目的结构是不一样的。

  • 开发中的项目
    在这里插入图片描述

  • 开发完可以部署的Web项目
    在这里插入图片描述

  • 开发项目通过执行Maven打包命令package,可以获取到部署的Web项目目录

  • 编译后的Java字节码文件和resources的资源文件,会被放到WEB-INF下的classes目录下

  • pom.xml中依赖坐标对应的jar包,会被放入WEB-INF下的lib目录下

6.创建Maven Web项目

介绍完Maven Web的项目结构后,接下来使用Maven来创建Web项目,创建方式有两种:使用骨架和不使用骨架

  1.使用骨架 —没办法使用Servlet

具体的步骤包含:

1.创建Maven项目
在这里插入图片描述

2.选择使用Web项目骨架
在这里插入图片描述

3.输入Maven项目坐标创建项目
在这里插入图片描述

4.确认Maven相关的配置信息后,完成项目创建
在这里插入图片描述

5.删除pom.xml中多余内容
在这里插入图片描述

6.补齐Maven Web项目缺失的目录结构
在这里插入图片描述

  2.不使用骨架

具体的步骤包含:

1.创建Maven项目
在这里插入图片描述

2.选择不使用Web项目骨架
在这里插入图片描述

3.输入Maven项目坐标创建项目
在这里插入图片描述

4.在pom.xml设置打包方式为war
在这里插入图片描述

5.补齐Maven Web项目缺失webapp的目录结构
按住ctrl+alt+shift+s 弹出Project Structure
1.
在这里插入图片描述
创建文件夹webapp
在这里插入图片描述

6.补齐Maven Web项目缺失WEB-INF/web.xml的目录结构
在这里插入图片描述

5.IDEA使用Tomcat

1. 集成本地Tomcat

目标: 将刚才本地安装好的Tomcat8集成到IDEA中,完成项目部署,具体的实现步骤

  1. 打开添加本地Tomcat的面板
    在这里插入图片描述
    2.指定本地Tomcat的具体路径
    在这里插入图片描述
    3.将开发项目部署项目到Tomcat中
    在这里插入图片描述

扩展内容: xxx.war和 xxx.war exploded这两种部署项目模式的区别?

  • war模式是将WEB工程打成war包,把war包发布到Tomcat服务器上
  • war exploded模式是将WEB工程以当前文件夹的位置关系发布到Tomcat服务器上
  • war模式部署成功后,Tomcat的webapps目录下会有部署的项目内容
  • war exploded模式部署成功后,Tomcat的webapps目录下没有,而使用的是项目的target目录下的内容进行部署
  • 建议大家都选war模式进行部署,更符合项目部署的实际情况

4.部署成功后,就可以启动项目,为了能更好的看到启动的效果,可以在webapp目录下添加a.html页面
在这里插入图片描述

2.Tomcat Maven插件

在IDEA中使用本地Tomcat进行项目部署,相对来说步骤比较繁琐,所以我们需要一种更简便的方式来替换它,那就是直接使用Maven中的Tomcat插件来部署项目,具体的实现步骤,只需要两步,分别是:

相当于项目中部署了一个tomcat服务器 ,但是他是属于Maven插件
最高版本只有tomcat7

1.在pom.xml中添加Tomcat插件

<build>
    <plugins>
    	<!--Tomcat插件 -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
        </plugin>
    </plugins>
</build>

2.使用Maven Helper插件快速启动项目,选中项目,右键–>Run Maven --> tomcat7:run

注意:

  • 如果选中项目并右键点击后,看不到Run Maven和Debug Maven,这个时候就需要在IDEA中下载Maven Helper插件,具体的操作方式为: File --> Settings --> Plugins --> Maven Helper —> Install,安装完后按照提示重启IDEA,就可以看到了。
  • Maven Tomcat插件目前只有Tomcat7版本,没有更高的版本可以使用
  • 使用Maven Tomcat插件,要想修改Tomcat的端口和访问路径,可以直接修改pom.xml
<build>
            <!-- Maven中的tomcat插件       -->
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                        <!--端口号-->
                    <port>80</port>
                    <!--项目访问路径
                   未配置访问路径: http://localhost:80/tomcat-demo2/a.html
                   配置/后访问路径: http://localhost:80/a.html
                   如果配置成 /hello,访问路径会变成什么?
                       答案: http://localhost:80/hello/a.html
               -->
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值