7. Tomcat


7.1 官方文档

7.1.1 地址: https://tomcat.apache.org/tomcat-8.0-doc/.

7.2 WEB 开发介绍

  1. WEB,在英语中 web 表示网/网络资源(页面,图片,css,js)意思,它用于表示 WEB 服务器(主机)供浏览器访问的资源

  2. WEB 服务器(主机)上供外界访问的 Web 资源分为:

    静态 web 资源(如 html 页面):指 web 页面中供人们浏览的数据始终是不变
    动态 web 资源,比如 Servlet(java),PHP 等

  3. 静态 web 资源开发技术:

    ① Html
    ② CSS
    ③ js
    ④ …

  4. 常用动态 web 资源开发技术:

    ① Servlet
    ② SpringBoot
    ③ SpringMVC
    ④ PHP
    ⑤ ASP.NET
    ⑥ …

7.3 JavaWeb 开发技术栈图(一图胜千言)


在这里插入图片描述

7.4 BS 与 CS 开发介绍

7.4.1 BS 开发

  1. B: browser(浏览器, 种类太多 ff, chrome, ie, edge)
  2. S: Server(服务端,要考虑很多)
  3. 示意图

在这里插入图片描述


  1. 对 BS 的解读:

    兼容性 ,因为浏览器的种类很多,发现你写的程序,在某个浏览器会出现问题,其它浏览器正常
    安全性,通常情况下,BS 安全性不如 CS 好控制
    易用性,BS 好于 CS,浏览器电脑自带就有
    扩展性,BS 相对统一,只需要写 Server


在这里插入图片描述


7.4.2 CS 开发

  1. C:Client(客户端)
  2. S:Server(服务端)
  3. 示意图:

在这里插入图片描述


7.5 JavaWeb 服务软件

7.5.1 JavaWeb 服务器软件介绍

  1. 学习 JavaWeb 开发,需要先安装 JavaWeb 服务软件

  2. 我们把安装了 JavaWeb 服务软件的主机称为 Web 服务器/JavaWeb 服务器

  3. 然后在 web 服务器中开发相应的 web 资源

  4. 提问:学习 JavaWeb 开发,为什么必须要先装 WEB 服务软件?

    答:Tomcat 本质就是一个 Java 程序, 但是这个 Java 程序可以处理来自浏览器的 HTTP 请求

7.5.2 手写简单 Web 服务程序

  1. 需求: 手写 MyWebServer.java ,体验一下 JavaWeb 服务本质

    提示:http://localhost:9999 表示 浏览器向localhost(127.0.0.1)表示本机的 9999 端口发出请求

在这里插入图片描述

在这里插入图片描述


  1. 创建 tomcat 的 Java 应用程序.(如图)

在这里插入图片描述

  1. 在 src 目录下创建 hello.html

在这里插入图片描述

  1. 在 src 目录下创建 myTomcat.java
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @Author: 谢家升
 * @Date: 2022/2/16-02-16-10:45
 * @Version: 1.0
 * 这是我们自己写的一个web服务,可以返回hello.html给浏览器
 */
public class myTomcat {
    public static void main(String[] args) throws IOException {

        //1.在9999端口监听
        ServerSocket serverSocket = new ServerSocket(9999);

        //如果serverSocket没有关闭,就等待连接,不停的等待
        while (!serverSocket.isClosed()) {
            System.out.println("~~~~~~~~~~我的web服务在9999端口监听~~~~~~~~~~");
            //2.等待浏览器/客户端连接,得到socket
            Socket socket = serverSocket.accept();

            //3.通过socket得到输出流
            OutputStream outputStream = socket.getOutputStream();

            //4.读取hello.html文件的内容,返回即可
            //先得到和hello.html文件相关联的文件输入流
            BufferedReader bufferedReader = new BufferedReader(new FileReader("src/hello.html"));
            String buf = "";
            while ((buf = bufferedReader.readLine()) != null) {
                outputStream.write(buf.getBytes());
            }
            //outputStream.write("hello, i am myTomcat".getBytes());

            //4.关闭流
            outputStream.close();
            socket.close();
        }
        serverSocket.close();

    }
}

  1. 完成测试:浏览器访问 http://localhost:9999/

在这里插入图片描述


7.5.3 常用 JavaWeb 服务软件

  1. Tomcat:由 Apache 组织提供的一种 Web 服务器,提供对 jsp 和 Servlet 的支持。它是一种轻量级的 javaWeb 容器 (服务器),也是当前应用最广的 JavaWeb 服务器 (免费)
  2. Jboss:是一个遵从 JavaEE 规范的、它支持所有的 JavaEE 规范(免费)。
  3. GlassFish: 由 Oracle 公司开发的一款 JavaWeb 服务器,是一款商业服务器,达到产品级质量 (应用很少
  4. Resin:是 CAUCHO 公司的产品,是一个非常流行的服务器,对 servlet 和 JSP 提供了良好的支持, 性能也比较优良 (收费)
  5. WebLogic【很猛】:是 Oracle 公司的产品,支持 JavaEE 规范, 而且不断的完善以适应新的开发要求,适合大型项目 (收费,用的不多,适合大公司)

7.6 Tomcat

7.6.1 Tomcat 下载和安装

  1. Tomcat 官方站点:http://tomcat.apache.org/

  2. 获取 Tomcat 安装程序包

    ① tar.gz文件是Linux操作系统下的安装版本
    ② zip文件是Windows系统下的压缩版本

  3. 使用 zip 包安装 Tomcat ,找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可

  4. which version https://tomcat.apache.org/whichversion.html ,可以看到 Tomcat仍然是支持 jsp 和 el

在这里插入图片描述

  1. Tomcat 最好的小伙伴是 JSP+EL

7.6.2 Tomcat 启动

  1. 双击 bin 目录下的 startup.bat 文件
  2. 输入 http://localhost:8080/,显示如下界面代表安装成功,默认在 8080 端口
  3. 注意,不要关闭黑窗口,关闭了,tomcat 服务就停止了

在这里插入图片描述


在这里插入图片描述

  1. 在开发中,我们可以看一下哪些端口在监听

    => netstat -anb (使用管理员权限)

7.6.3 Tomcat 启动故障排除

  1. 双击 startup.bat 文件,出现一个小黑窗口然后就没了,原因是因为没有配置好JAVA_HOME 环境变量。Tomcat 本质是一个 Java 程序,所以要 jdk,会去根据 JAVA_HOME 使用指定 jdk
  2. JAVA_HOME 必须全大写
  3. JAVA_HOME 中间必须是下划线
  4. JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可。不需要带上 bin 目录
  5. 端口 8080 被占用 [查看端口 netstat -anb ,使用的非常多]
  6. 如果其它服务程序占用了 8080 端口,可以关闭该服务,或者修改 Tomcat 服务的默认端口 8080

7.6.4 Tomcat 目录结构


在这里插入图片描述


解读:

  1. server.xml 用于配置 tomcat 的基本设置(启动端口,关闭端口,主机名)
  2. web.xml 用于指定 tomcat 运行时配置(比如 servlet 等…)
  3. webapps 目录是存放 web 应用,就是网站

7.6.5 catalina 启动 Tomcat

  1. 进入到 Tomcat 的 bin 目录下

在这里插入图片描述


  1. 执行命令: catalina run

在这里插入图片描述

7.6.6 停止 Tomcat

  1. 点击 tomcat 服务器窗口,直接点击的关闭按钮
  2. 进入 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器(推荐)

7.6.7 修改 Tomcat 服务端口

  1. Tomcat 目录下的 conf 目录,修改 server.xml 配置文件

在这里插入图片描述

  1. 说明:http://localhost ,默 认 是 访 问 80 端 口
  2. http://localhost 等价 => http://localhost:80

7.6.8 Tomcat 服务中部署 WEB 应用

  • 什么是Web应用?

    ①. WEB应用是多个web资源的集合。简单的说,可以把web应用理解为硬盘上的一个目录,这个目录用于管理多个web资源
    ②. Web应用通常也称之为web应用程序,或web工程,通俗的说 就是网站

  • Web应用组成有哪些?

    ①. 一个 WEB 应用由多个 WEB 资源或其它文件组成,包括 html 文件、css 文件、js 文件、动态 web 页面、java 程序、支持 jar 包、配置文件等
    ②. 开发人员在开发 web 应用时,按照规定目录结构存放这些文件
    ③. 否则,在把 web 应用交给 web 服务器管理时,不仅可能会使 web 应用无法访问,还会导致 web 服务器启动报错

  • JavaWeb程序/应用/工程目录结构

在这里插入图片描述

  • 部署方式1:将 web 工程的目录拷贝到 Tomcat 的 webapps 目录下
  1. test Web工程(目前都是静态资源 html,图片)
  2. 将该test目录/文件夹 拷贝到 Tomcat 的webapps目录下
  3. 浏览器输入: http://ip[域名]:port/test/子目录…/文件名

在这里插入图片描述


在这里插入图片描述


  • 部署方式2:通过配置文件来部署(只做介绍)
  1. 在Tomcat 下的 conf 目录\Catalina\localhost\ 下,配置文件,比如xjs.xml
  2. 提醒:知道Tomcat通过配置,可以把一个web应用,映射到指定的目录,可以解决磁盘空间分配的问题
  • ROOT 的工程的访问
  1. 在浏览器地址栏中输入访问地址如下: http://ip[域名]:port, 没有Web工程/应用名时,默认访问的是 ROOT 工程
  2. 在浏览器地址栏中输入的访问地址如下: http://ip[域名]:port/工程名/ ,没有资源名,默认访问 index.jsp 页面

在这里插入图片描述

在这里插入图片描述

7.6.9 浏览器访问 Web 服务过程详解

7.6.9.1 回顾前面的 JavaWeb 开发技术栈图

在这里插入图片描述

7.6.9.2 浏览器访问 web 服务器文件 UML 时序图!!
  1. 对浏览器访问 web 服务器资源 (html,css,图片,js) 做详解,通过一个时序图加强对这个重要过程的理解【重要,核心

在这里插入图片描述


7.7 IDEA 开发 JavaWeb 工程

7.7.1 开发 javaweb 工程 & 配置 TomCat &启动项目

  • 参考开发文档

在这里插入图片描述


7.7.2 注意事项和细节

  1. 热加载选项说明

在这里插入图片描述

  • on update action:表示当我们更新操作是,Tomcat 会自动更新类和资源 (当jsp/html文件修改时,可以生效,但是如果你修改的 java 文件,需要 Redepoly 才会生效)
  • on frame deactivation : 表示 IDEA 失去焦点(比如最小化),也会导致 jsp/html 发生更新,但是 java 修改了,还是需要 redeploy
  1. 端口修改

在这里插入图片描述

  • 这里修改的端口, 只会影响到当前的项目,而不是去修改 server.xml
  1. out 目录是什么?

    答:当 tomcat 启动时,会生成 out 目录,该目录就是 原项目资源的映射,我们浏览器访问的资源是 out 目录

  2. 当我们从外部拷贝资源到项目(图片, 文件, js , css 等),如果出现 404 不能访问错误,解决方式 rebulid project -> 重启 Tomcat

7.7.3 JavaWeb 工程的目录介绍

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要学就学灰太狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值