大数据------JavaWeb------Tomcat(完整知识点汇总)

news/2024/5/21 3:01:28

Web服务器——Tomcat

  • Web服务器定义
    • 它是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更便捷
  • Web服务器主要功能
    • 封装HTTP协议操作,简化开发
    • 将Web项目部署到服务器中,提供网上信息浏览服务
  • Tomcat
    • 是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范
    • 它也被称为Web容器、Servlet容器(Servlet需要依赖于Tomcat才可运行)
  • JavaEE(Java Enterprise Edition)
    • 为java企业版。指的是Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF

Tomcat基本使用

Tomcat安装

  • Tomcat下载(以Tomcat9.x版本为例)

    • 进入官网,查看目前Tomcat官方支持的Tomcat版本及其对应的jdk版本

      在这里插入图片描述

    • 下载Tomcat9

      在这里插入图片描述

    • 将下载后的压缩包解压到本地即可安装完成

  • Tomcat目录中各子目录的作用

    在这里插入图片描述

    在这里插入图片描述

  • Tomcat环境配置

    • 高级系统设置→环境变量→单击系统变量中的新建→变量名设置为CATALINA_HOME,变量值设置为自己的Tomcat安装目录

      在这里插入图片描述

      在这里插入图片描述

    • 找到系统变量中的Path,双击打开→单击新建→输入%CATALINA_HOME%\bin,然后一路单击确定即可

      在这里插入图片描述

      在这里插入图片描述

  • Tmcat卸载

    • 直接删除Tomcat安装的目录即可卸载

Tomcat启动及关闭

  • Tomcat启动

    • 双击bin目录下的startup.bat后会出现Tomcat控制台运行窗口

      在这里插入图片描述

    • 启动成功判断:在浏览器输入:localhost:8080,若出现Tomcat窗口则说明启动成功,如图所示

      在这里插入图片描述

  • Tomcat关闭

    • 强制关闭:直接x掉控制台运行窗口
    • 正常关闭一:单击bin目录下的shutdown.bat进行关闭
    • 正常关闭二:Ctrl+C
  • Tomcat启动时可能出现的问题

    • Tomcat控制台中文乱码 :修改conf/logging.properties中的如下代码(若UTF-8乱码则改为GBK)

      java.util.logging.ConsoleHandler.encoding = UTF-8
      

      控制台乱码如图所示

      在这里插入图片描述

      更改编码格式后,乱码问题即可解决

    • 端口号冲突(其他程序将Tomcat的端口号占用) :找到对应程序将其关掉即可

      在这里插入图片描述

    • 启动窗口一闪而过 :检查JAVA_HOME环境变量是否正确配置

Tomcat文件配置

  • Tomcat配置

    • 修改Tomcat默认启动端口号(端口号的取值范围是:0~65535 :打开conf/server.xml

      • server.xml中默认启动端口号为8080,如下所示
          <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"/>
      
      • 若将Tomcat端口号改为80,则将来访问Tomcat时就不用再输入端口号(原因:HTTP协议默认端口号为80),如下所示
          <Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"/>
      

      此时启动成功判断:直接在浏览器输入localhost然后回车即可,不需要再输入端口号若出现Tomcat窗口则说明启动成功,如图所示

      在这里插入图片描述

Tomcat部署项目

  • 将项目放到webapps目录下即可部署完成

    • 示例:将hello项目放到webapps下,此时部署完成。在该hello目录下有个a.html页面,此时即可打开浏览器输入:localhost:8080/hello/a.html访问该页面,若在浏览器中成功访问该页面则说明部署成功

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

  • 一般JavaWeb项目会被打包成war包 (idea可以生成war包),然后将war包放到webapps目录下,Tomcat会自动将war文件解压缩到webapps目录下

    • 将压缩后的JavaWeb项目haha.war复制到webapps目录下,此时会自动将该war包解压缩

      在这里插入图片描述

    • 此时即可打开浏览器输入:localhost:8080/haha/a.html访问该页面,若在浏览器中成功访问该页面则说明部署成功

      在这里插入图片描述

IDEA创建Maven Web项目

Web项目结构

  • Web项目结构分类

    • 开发中的项目

      在这里插入图片描述

      在这里插入图片描述

    • 开发完成部署的Web项目

      在这里插入图片描述

      • 开发中的项目完成后通过执行Maven打包命令 package,可以获取到开发完成部署的Web项目的war包(注意该war包不会自动到webapps目录下,需要自己手动转移)
      • 编译后的Java字节码文件和resources的资源文件,会被放到WEB-INF下的classes目录下
      • pom.xml中依赖坐标对应的jar包,会被放入WEB-INF下的lib目录下

    在这里插入图片描述

创建Maven Web项目

使用骨架方式创建
  • 步骤

    • 选择Web项目骨架创建项目
    • 删除pom.xml多余的坐标
    • 补齐缺失的目录结构
  • 使用骨架方式创建—方式一

    • 选择Web项目骨架创建项目 :File→New→Project→Mavne Archetype,然后按图示写入信息,最后单击Create

      在这里插入图片描述

      在这里插入图片描述

    • 删除pom.xml多余的坐标 :删减为如下代码

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>MavenWebDemo</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version>
      </project>
      

      在这里插入图片描述

      注意:<packaging>war</packaging>代表打包方式,标签体为war时打包为Web项目;标签体为jar时打包为jar包方式

    • 补齐缺失的目录结构

      • 右键src→New→Directory→双击自己需要的目录

        在这里插入图片描述

        在这里插入图片描述

      • 右键test→New→Directory→双击自己需要的目录

        在这里插入图片描述

        在这里插入图片描述

      • 右键webapp→New→Directory→输入html回车

        在这里插入图片描述

        在这里插入图片描述

      • 同理即可将Web项目结构补充完成,最终形式如图所示

        在这里插入图片描述

  • 使用骨架方式创建—方式二

    • 选择Web项目骨架创建项目 :File(或右上角设置按钮)→Project Structure→Modules,然后按图示操作

    在这里插入图片描述

    在这里插入图片描述

    • 删除pom.xml多余的坐标 :删减为如下代码

      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>MavenWebDemo</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version>
      </project>
      

      在这里插入图片描述

      注意:<packaging>war</packaging>代表打包方式,标签体为war时打包为Web项目;标签体为jar时打包为jar包方式

    • 补齐缺失的目录结构

      • 按照使用骨架方式创建的方式一进行目录及文件的补充,将其补充为标准的Web项目结构即可,如图所示

      在这里插入图片描述

不使用骨架方式创建
  • 步骤

    • 选择Web项目骨架创建项目
    • pom.xml中添加打包方式为war
    • 补齐缺失的目录结构
  • 具体步骤如下

    • 创建一个标准的Maven项目(创建方式详见Maven部分),然后在pom.xml文件中添加Web项目的打包方式,添加完打包方式后单击刷新, 如图所示

      在这里插入图片描述

    • 补齐缺失的目录结构

      • File(或右上角设置按钮)→Project Structure→Facets,然后按图示操作

        在这里插入图片描述

      • 创建webapp目录

        在这里插入图片描述

        在这里插入图片描述

      • 创建webapp目录下的子目录及文件

        在这里插入图片描述

        在这里插入图片描述

      • 手动右键→New→Directory补齐其他缺失文件即可

        在这里插入图片描述

IDEA中使用Tomcat

  • IDEA若不配置Tomcat的麻烦之处

    IDEA若不配置Tomcat则需要在使用Maven中的package命令手动将Web项目打包成war包,并找到该Web包的位置将其转移到Tomcat目录下的webapps目录下完成项目部署

  • IDEA配置Tomcat方式一:将本地的Tomcat集成到IDEA中,然后进行项目部署

    • 配置本地Tomcat

      在这里插入图片描述

      在这里插入图片描述

    • 部署项目

      在这里插入图片描述

      在这里插入图片描述

    • Tomcat集成到IDEA中的成功性测试

      • 创建一个a.html文件并写入简单页面代码,然后单击启动按钮

        <!DOCTYPE html>
        <html lang="en">
        <head><meta charset="UTF-8"><title>Title</title>
        </head>
        <body>
        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        </body>
        </html>
        

        在这里插入图片描述

      • 浏览器页面为空或者HTTP状态404(如图一、图二所示),原因是页面打开的是该项目的根目录,我们需要手动将url补充为http://localhost:8080/MavenWebDemoThree_war/html/a.html,如图三所示。

        在这里插入图片描述

        在这里插入图片描述

        在这里插入图片描述

      • 若不想手动添加url,则需要修改Tomcat的启动路径,如图所示

        在这里插入图片描述

  • IDEA配置Tomcat方式二:使用Tomcat Maven插件

    • pom.xml中添加Tomcat插件:Alt+InsertPlugin Template,然后单击刷新按钮即可添加成功

      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>MavenWebDemoThree</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><build><plugins><!-- Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></build>
      </project>
      

      在这里插入图片描述

      在这里插入图片描述

    • 若浏览器页面为空或者HTTP状态404,则处理方式有两种

      • 手动将url补充为http://localhost:8080/MavenWebDemoThree_war/html/a.html,

      • 配置tomcat插件代码参数,如下:

        <build><plugins><!-- Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port><!--设置访问端口号--></port><path><!--设置访问路径--></path></configuration></plugin></plugins></build>
        
  • IDEA中使用Tomcat的两种方式注意点

    • 设置访问路径只能设置到项目访问路径(即虚拟目录),不能设置到项目访问路径下的子目录,因为虚拟目录下的子目录属于核心目录,若没有这些目录则Web项目无法运行成功

      在这里插入图片描述


http://www.mrgr.cn/p/75550161

相关文章

【Azure App Service】列举为App Service集成虚拟网络(VNET)操作时所需要的最小权限

问题描述 作为Azure资源管理人员,对每一种资源操作时,都需要考虑权限设置。否则,会遇见类似如下错误:The client *************** with object id ********-****-****-****-************ does not have authorization to perform action Microsoft.Network/virtualNetworks…

简单的神经网络

一、softmax的基本概念 我们之前学过sigmoid、relu、tanh等等激活函数&#xff0c;今天我们来看一下softmax。 先简单回顾一些其他激活函数&#xff1a; Sigmoid激活函数&#xff1a;Sigmoid函数&#xff08;也称为Logistic函数&#xff09;是一种常见的激活函数&#xff0c…

精准读取CSV/Excel数据 - 灵活指定行列范围的 Python 解决方案

文章目录 源代码项目简介导入相关库__file_exists 装饰器函数的签名和注释主要功能的实现运行演示读取 Excel 文件 源代码 https://github.com/ma0513207162/PyPrecip。pyprecip\reading\read_api.py 路径下。 项目简介 PyPrecip 是一个专注于气候数据处理的 Python 库&#xf…

【C语言】整数和浮点数在内存中的存储

大家可能在学习的时候会经常疑惑数据在内存中是怎样存储的&#xff0c;今天用一篇博客给你讲清楚&#xff01;&#xff01;&#xff01;从此不再疑惑&#xff01;&#xff01;&#xff01; 文章目录 1. 整数在内存中的存储2. 大小端字节序和字节序判断2.1 什么是大小端2.2 为什…

Makdown语法合集

目录页 1. Markdown使用平台1.1. VS Code 平台1.1.1. 安装链接 1.1.2. Markdown使用的插件安装1.1.2.1. Markdown All in On 1.1.2.2. Markdown Preview Enhanced2. 普通文本编写规则2.1. 标题使用样式 2.2. 标题目录的生成 2.3. 自动添加章节号码 2.4. 常规格式 2…

【Java】获取近六个月的年月

以当前月份为标准,向前获取近6个月的年月(year_month)形成列表数据库里面存储的字段类型就是varchar,数据格式就是类似2024-12这样的年月格式。 目标: 以当前月份为标准,向前获取近6个月的年月(year_month)形成列表// 获取近6个月的年月列表List<String> recentM…

esp32-cam 2. python opencv 拉取摄像头内容

0. 环境 - win10 python3 - pycharm - esp32-cam http://192.168.4.1 1. 创建工程 File -> Create Project -> -> Location: E:\Workspaces\PycharmProjects\esp32cam_opencv -> Create 2. opencv hello 2.1 添加脚本 File -> New -> Python f…

Java 集合-List

集合主要分为两组(单列集合, 双列集合) Connection 接口有两个重要的子接口LIst 和 Set, 它们的实现子类都是单列集合, Map 接口的实现子类是双列集合, 存放的是 K-V Connection 接口 Collection 接口和常用方法 下面以 ArrayList 演示一下 add: 添加单个元素remove: 删除指…

T2,3,4,5,9动态背包问题

本文主要介绍常见的四种背包问题前言 本文主要介绍常见的四种背包问题,思维导图如下:一、01背包💡 现有 N 件物品和一个最多能承重 M 的背包,第 i 件物品的重量是 wi​,价值是 vi​。在背包能承受的范围内,试问将哪些物品装入背包后可使总价值最大,求这个最大价值。因为…

luogu P4342[IOI1998]Polygon

题目大意 给定一个多边形,对应节点上标记有一个数字,每条边上标记有加(t)或乘(x)表示相邻两个节点可进行的操作,操作后两个节点将合并为一个节点,首先删去一条边(不进行操作),之后在若干次操作后使得该多边形只剩一个节点,且要求所剩节点标记的数最大化,询问最大的…

ES底层原理

1、倒排索引 Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。 有倒排索引,肯定会对应有正向索引:正向索引(forward index) 反向索引(inverted index,实际就是倒排索引)所谓的正向索引,就是搜索引擎会将待搜索的文件都对应一个文件ID,搜索时将这个…

Spring Security基础教程:从入门到实战

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c…

Jenkins(超详细的Docker安装Jenkins教程!!!)

Jenkins Jenkins&#xff0c;原名 Hudson&#xff0c;2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。 官方网站&#xff1a;https://www.jenkins.io/ 中文文档&#xff1a;https://www.jenkins.io/zh/ 为什么需要Jenkins&#xff1f; 我们以前写完代码&a…

24-有参转录组实战10-差异基因KEGG富集分析

KEGG富集分析##########下面做KEGG######## emapper <- read.delim("out.emapper.annotations") emapper[emapper=="-"] <- NA#change "-" to "NA" emapper <- emapper[-(49584:49586),]#remove the final 3 rows DE <- r…

学习笔记:【QC】Android Q - IMS 模块

一、IMS init 流程图 高清的流程图参考&#xff1a;【高清图&#xff0c;保存后可以放大看】 二、IMS turnon 流程图 高清的流程图参考&#xff1a;【高清图&#xff0c;保存后可以放大看】 三、分析说明 1、nv702870 不创建ims apn pdp 2、nv702811 nv702811的时候才创建…

基于FPGA实现的HDMI TO MIPI扩展显示器方案

FPGA方案&#xff0c;HDMI IN接收原始HDMI 信号&#xff0c;输出显示到LCD 屏上 客户应用&#xff1a;扩展显示器 主要特性&#xff1a; 1.支持2K以下任意分辨率显示 2.支持OSD 叠加多个图层 3.支持MIPI/EDP/LVDS/RGB屏 4.支持放大缩小匹配屏分辨率 5.零延时&#xff0c;输…

docker部署nginx并配置https

1.准备SSL证书&#xff1a; 生成私钥&#xff1a;运行以下命令生成一个私钥文件。 生成证书请求&#xff08;CSR&#xff09;&#xff1a;运行以下命令生成证书请求文件。 生成自签名证书&#xff1a;使用以下命令生成自签名证书。 openssl genrsa -out example.com.key 2048 …

【js】将一维数组处理成树形数据并且实现模糊查询

项目中由于数据量不大&#xff0c;后台并未做处理&#xff0c;因此前端拿到返回的Table数据需要处理成树形数据再渲染到表格中 原始数据 const dataList[{"id": 44,"seedlingName": "测试2","seedlingType": "测试2",&quo…

Flutter笔记:Widgets Easier组件库(13)- 使用底部弹窗

Flutter笔记 Widgets Easier组件库&#xff08;13&#xff09;使用底部弹窗 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this …