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

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.mfbz.cn/a/610473.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈如何自我实现一个消息队列服务器(7)——编写服务器部分

文章目录 一、编写服务器代码1.1、分析一个服务器应具备的功能1.1.1、成员变量1.1.2、对外提供的接口 一、编写服务器代码 再次拿出这张图&#xff0c;前面我们已经将重要概念&#xff1a;VirtualHost、exchange、msgQueue、message、binding 都实现了&#xff0c;此时就可以开…

传统行业商家转到抖音开店怎么操作?电商的本质其实都一样

我是王路飞。 现在越来越多的传统行业商家开始转型到抖音上开店了。 不仅仅是因为现在的传统电商平台的环境、玩法、规则等&#xff0c;都对中小卖家非常苛刻&#xff0c;尤其是没有团队自己单干的&#xff0c;想做起来&#xff0c;真的挺难的。 更关键的是&#xff0c;抖音…

PCIE协议-1

1. PCIe结构拓扑 一个结构由点对点的链路组成&#xff0c;这些链路将一组组件互相连接 - 图1-2展示了一个结构拓扑示例。该图展示了一个称为层级结构的单一结构实例&#xff0c;由一个根复合体&#xff08;Root Complex, RC&#xff09;、多个端点&#xff08;I/O设备&#xf…

Dependencies:查找项目中dll关联文件是否缺失。

前言 Dependencies工具作为一款优秀的DLL解析工具&#xff0c;能让你很直观地看到DLL的相关信息&#xff0c;如具备哪些功能函数、参数&#xff0c;又比如该DLL基于哪些DLL运行。判断该dll基于哪些dll运行&#xff0c;如果基于的dll丢失&#xff0c;那么就会提示。就能判断缺少…

《第一行代码》第二版学习笔记(10)——基于位置的服务

文章目录 一、使用百度定位二、获取经纬度使用百度地图移动到我的位置并让“我”显示在地图上 Android Studio中没有signingReport文件&#xff0c;解决参考文档 一、使用百度定位 下载百度LBS开放平台的SDK 在项目的app.gradle文件下添加依赖&#xff1a;implementation fil…

【北京迅为】《iTOP-3588开发板从零搭建ubuntu环境手册》-第2章 获取并安装Ubuntu操作系统

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

buildroot添加ssh功能

在制作了自己的buildroot生成的根文件系统之后&#xff0c;是没有ssh服务的&#xff0c;需要自行添加。 在buildroot的menuconfig里&#xff1a; Target packages -> Networking applications -> openssh 重新编译&#xff0c;还不能通过电脑连接&#xff0c;还需配置并…

101_Linux文件挂载系统相关

一、文件系统简介 传统的磁盘与文件系统应用中,一个分区就只能够被格式化成为一个文件系统,所以我们可以说一个文件系统就是一个硬盘分区。 随着新技术的出现如LMM与软件磁盘阵列software raid),这些技术可以将一个分区格式化为多个文件系统(例如LWM),也能够将多个分区合成一…

又被System.out.print给坑了一把

学过java的同学都应该知道&#xff0c;第一个程序很多人都是这样&#xff1a; public class Hello {public static void main(String[] args) { System.out.print("Hello,world&#xff01;");} } 打印结果是&#xff1a;Hello,world&#xff01; 接着可能会…

SSIM(Structural Similarity),结构相似性及MATLAB实现

参考文献 Wang, Zhou; Bovik, A.C.; Sheikh, H.R.; Simoncelli, E.P. (2004-04-01). “Image quality assessment: from error visibility to structural similarity”. IEEE Transactions on Image Processing. 13 (4): 600–612. Bibcode:2004ITIP…13…600W. CiteSeerX 10.…

ctype--数据类型转换函数——vb.net

CType 函数 语法 CType(expression, typename) 组成部分 expression 任何有效表达式。 如果 expression 的值超出 typename 所允许的范围&#xff0c;Visual Basic 将引发异常。 typenameDim 语句的 As 子句中的任何合法表达式&#xff0c;即任何数据类型、对象、结构、类或接…

【系统架构师】-选择题(十三)数据库基础

1、在某企业的营销管理系统设计阶段&#xff0c;属性"员工"在考勤管理子系统中被称为"员工"&#xff0c;而在档案管理子系统中被称为"职工"&#xff0c;这类冲突称为&#xff08; 命名冲突&#xff09;。 同一个实体在同系统中存在不同的命名&am…

2024年财富自由秘籍,创业项目大揭秘!

2024年&#xff0c;一个崭新的创业项目如日中天般迅速崛起&#xff0c;吸引了无数创业者的目光——那就是APP广告变现。这不仅是一条轻松实现财富自由的道路&#xff0c;更是一个充满无限可能的黄金领域。 在移动互联网高速发展的今天&#xff0c;智能手机已成为我们生活中不可…

UE4\UE5 调试源代码流程(重点讲不去Github装源代码情况)

UE4\UE5 调试源代码流程 前言&#xff1a; 很多写UE C代码的小伙伴&#xff0c;肯定发现了&#xff0c;在虚幻源代码里面是没办法打断点进行调试的&#xff0c;就算走Debug调试流程&#xff0c;也依旧不能正常打断点调试&#xff0c;今天我们来分享一下不装Github源代码情况下…

各种数据获取stream流的方式

1.单列集合&#xff08;直接调用&#xff09; ArrayList<Integer> list new ArrayList<>();list.stream(); 2.双列集合 HashMap<String, Integer> map new HashMap<>();map.put("aaa",111);map.put("bbb",222);map.put("c…

Vue中引入Element组件、路由router、Nginx打包部署

目录 1、Element-ui(饿了么ui) 演示&#xff1a; 怎么打开NPM脚本&#xff1f; Vue路由router Nginx打包部署Vue-Cli项目 1、Element-ui(饿了么ui) element-ui(饿了么ui)是一个非常好用且美观的组件库(插件库)&#xff0c;主要用于网站快速成型&#xff0c;由国产团队饿了么…

RH850F1KM Part1 创建一个新工程

1、选择File->New ECU Project.# 2、填写工程名和工程文件路径&#xff0c;点击Next 3、点击Next 4、点击Finish 5、报错&#xff1a;# 6、步骤5报错原因&#xff1a; RH850F1KM 搭建MCAL配置环境中复制到BSWMD文件夹下的文件过多&#xff0c;除包含当前芯片型号外&#…

618值得入手的平价好物清单,看完再买不吃亏!

即将到来的618年中购物狂欢节&#xff0c;无疑是一年一度的购物盛宴。为了让大家的购物体验更加愉悦和充实&#xff0c;我特地为大家精选了一系列好物。如果你也打算在618尽情购物&#xff0c;那就赶紧收藏这份清单吧&#xff01; 一、舒适佩戴不伤耳——南卡骨传导耳机Runner…

EDA(四)Verilog

EDA&#xff08;四&#xff09;Verilog Verilog是一种用于电子系统设计自动化&#xff08;EDA&#xff09;的硬件描述语言&#xff08;HDL&#xff09;&#xff0c;主要用于设计和模拟电子系统&#xff0c;特别是在集成电路&#xff08;IC&#xff09;和印刷电路板&#xff08;…

关于服务端接口知识的汇总

大家好&#xff0c;今天给大家分享一下之前整理的关于接口知识的汇总&#xff0c;对于测试人员来说&#xff0c;深入了解接口知识能带来诸多显著的好处。 一、为什么要了解接口知识&#xff1f; 接口是系统不同模块之间交互的关键通道。只有充分掌握接口知识&#xff0c;才能…
最新文章