码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Tomcat服务器的简介


    文章目录

    • 1.概念
      • 1.1 什么是Web服务器?
      • 1.2 静态资源和动态资源
      • 1.3 常用服务器产品
    • 2. Tomcat的安装
      • 2.1 下载
      • 2.2 解压安装
      • 2.3 Tomcat的目录结构
      • 2.4 Tomcat服务器的启动和关闭
      • 2.5 tomcat启动失败的原因
        • 2.5.1 查看报错原因
        • 2.5.2 错误原因
          • 2.5.2.1 查看JAVA_HOME配置是正确
          • 2.5.2.2端口号被占用
    • 3.项目部署及访问静态资源
      • 3.1 创建项目
      • 3.2 web项目部署

    1.概念

    1.1 什么是Web服务器?

    web服务器就是web项目的容器,我们将开发好的web项目部署到web容器中,才能使用网络中的用户通过浏览器进行访问。
    在这里插入图片描述

    1.2 静态资源和动态资源

    web项目中的资源根据其特性可以分为两类:
    (1)静态网页:网页界面中的数据始终保持不变(HTML/CSS/JS/图片)
    (2)动态网页:网页中的数据根据用户不同的请求可以会发生变化,也就是说网页中的数据是由程序根据用户的请求意图动态产生的

    1.3 常用服务器产品

    (1)Tomcat(Apache开源,主流的web服务器之一,多应用于Javaweb项目开发)
    Tomcat官网:https://tomcat.apache.org/
    (2)Jetty(运行效率高于Tomcat)
    (3)WebLogic (Oracle,收费)
    (4)WebSpere(IBM)
    (5)Nginx(web静态资源服务器)

    2. Tomcat的安装

    2.1 下载

    官网下载:https://tomcat.apache.org/
    以Tomcat8.5.72版本页面为例:
    在这里插入图片描述

    2.2 解压安装

    (1)如果下载的是压缩包,则解压即可使用
    (2)解压注意事项:
    ①建议解压的目标目录层级不要多
    ②不建议解压到中文目录中

    2.3 Tomcat的目录结构

    (1)bin 该目录存放的是可执行的二进制文件
    ①startup.bat用于启动Tomcat
    ②shutdown.bat用于停止Tomcat
    (2)conf 存放的是Tomcat的配置文件
    (server.xml可以配置Tomcat的端口,web.xml关于项目部署的描述文件)
    (3)lib Tomcat的类库,里面存放了Tomcat运行所需要的jar文件
    (4)logs 存放Tomcat服务器的运行日志、记录了服务器启动、运行异常及关闭等操作的记录
    (5)temp 临时目录,存放Tomcat运行过程中产生的临时文件
    (6)webapps 存放web项目的目录,其中每个文件夹都是一个项目;其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目、
    (7)work Tomcat可以运行动态网页,动态网页就是在服务器上将数据加载到网页生成的页面,此目录就是存放Tomcat生成的文件

    2.4 Tomcat服务器的启动和关闭

    (1)Tomcat的启动:进入Tomcat的安装目录的bin下,双击startup.cmd
    (2)Tomcat的关闭:双击shutdown.bat即可关闭

    2.5 tomcat启动失败的原因

    2.5.1 查看报错原因

    (1)编辑startup.cmd
    在这里插入图片描述
    (2)修改文件
    ①原始文件
    在这里插入图片描述
    ②修改后的文件
    在这里插入图片描述
    ③保存文件重新启动就能看到错误信息

    2.5.2 错误原因

    2.5.2.1 查看JAVA_HOME配置是正确

    在这里插入图片描述
    在这里插入图片描述

    2.5.2.2端口号被占用

    (1)错误信息如下

    在这里插入图片描述
    (2)查找被占用的进程并杀死掉
    ①查询出8080端口被那些进程占用着
    netstat -ano | findstr 8080
    ②按照进程查找应用
    tasklist | findstr <进程号>
    ③强制关闭
    taskkill -PID <进程号> -F

    在这里插入图片描述

    3.项目部署及访问静态资源

    Tomcat是web服务器,我们的项目应用是部署在webapps下,然后通过特定的URL访问

    3.1 创建项目

    在webapps中建立文件夹(项目名称),比如:myweb
    (1)创建WEB-INF文件夹,用于存放项目的核心内容
    ①创建classes,用于存放 .class 文件
    ②创建lib,用于存放jar文件
    ③创建web.xml项目配置文件(到ROOT项目下的WEB-INF复制即可)
    (2)把网页(例如hello.html)复制到myweb文件夹中,与WEB-INF在同一级目录
    (3)以访问hello.html为例,浏览器中输入:http://localhost:8080/myweb/hello.html
    (4)URL主要由4部分组成:协议、主机、端口、资源路径
    在这里插入图片描述

    3.2 web项目部署

    web项目部署:将web项目交给Tomcat管理,当用户访问Tomcat时,Tomcat可以将web项目中的资源响应给用户浏览器。
    (1)方式1:直接将web项目拷贝到Tomcat的webapps目录 (访问路径就是项目名)
    (2)方式2:将web项目的路径配置到Tomcat中
    ①拷贝web项目的路径 (例如:E:\JavaWeb\workspace\html\demo1)
    ②在Tomcat的conf目录中Catalina\localhost创建一个xml文件(xml文件名可以自定义,建议和项目名称一致)

    
    
    
    <Context path="/demo1" docBase="E:\JavaWeb\workspace\html\demo1">Context>
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    KTL 一个支持C++14编辑公式的K线技术工具平台 - 第七版,体验GPGPU。
    Elasticsearch实战(七)---BestFields MostFields CrossFields 多字段搜索策略
    在Linux上配置Spug自动化运维平台,实现公网远程访问
    Broken pipe. The Gradle daemon may be trying to use ipv4 instead of ipv6.
    助力,NTP网络时间服务器(GPS北斗时钟)助力精准大数据
    Matlab论文插图绘制模板第61期—横向多组堆叠图
    AppInfo应用信息查看V1.0.2测试版
    Air001 TIM1高级定时器单脉冲输出模式使用
    基于VueCli创建自定义项目
    Keil MDK Armcc6 总是全编译项目的问题
  • 原文地址:https://blog.csdn.net/y516369/article/details/128111368
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号