【Servlet】2:认识一下Web服务器——Tomcat

news2024/11/25 14:26:54

目录

第三章 | Tomcat 认识与配置

| 章节概述

| HTTP服务器概述

| Tomcat 安装与配置

| Tomcat 的目录结构、端口号

第四章 | Tomcat 基本使用

| 章节概述

| 本地Tomcat 静态资源网站访问

| IDEATomcat 静态资源网站访问

| IDEA中最基础web项目的目录结构


本文章属于后端全套笔记的第三部分

(更新中)【后端入门到入土!】Java+Servlet+JDBC+SSM+SpringBoot+SpringCloud 基础入门_Graskli的博客-CSDN博客一篇文章,后端入门到入土。包含 Java基础+高级、MySQL、JDBC、Servlet、SSM、SpringBoot、SpringCloud、项目 的笔记。https://blog.csdn.net/m0_57265007/article/details/127962617?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127962617%22%2C%22source%22%3A%22m0_57265007%22%7D

第三章 | Tomcat 认识与配置

| 章节概述

本章将学习

  • HTTP服务器的基本概念

  • Tomcat服务器的安装、配置以及安装目录的结构介绍


| HTTP服务器概述

  • 服务器,即一种安装在服务端计算机的【资源文件调度器】。对于Web相关的服务器,有时候也被称为【Web容器】

  • 不同的服务器由不同的特定功能,如MySQL也是一个服务器,专门对表文件进行管理和调度。

  • 下面介绍一下HTTP服务器:

    • HTTP服务器在B/S通信模型下被广泛使用,到目前为止已经产生了大量的类型,并且99%都是由JAVA命令所开发的软件。

    • HTTP服务器是服务器的一种,其行为与HTTP协议相关

  • HTTP服务器的作用:

    • 可以调用静态文件(文件、命令等)、动态文件(java类)

    • 可以接收来自于浏览器发送的HTTP请求协议包,并自动对HTTP请求协议包内容进行解析。

    • 解析后,自动定位被访问的文件。并将定位的文件内容写入到HTTP响应协议包中

    • 负责将HTTP相应协议包推送回发起请求的浏览器上

  • HTTP服务器的分类:

    • JBOSS服务器 —— 核心服务不包括支持 Servlet / JSP 的web容器,一般搭配Tomcat使用

    • Glassfish服务器 —— 和Tomcat一样,是优秀的web容器,且是另一套体系!一旦这个服务器研发成功,现有的HTTP网络协议全部作废

    • Websphere服务器 —— 一般只安装在Linux系统中,属于企业级。不适合WindowsOS

    • Tomcat服务器

  • Tomcat服务器详细介绍

    • Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖于Tomcat才能运行

    • Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范

    • 可以这样理解,在HTTP服务器概述中介绍的服务器,大多数用于企业的实战开发,并不能安装到某个人单独的计算机中。

      而Tomcat服务器属于轻量级服务器,用于一些中小型系统、并发量不大的场合下实验,也常常被适用于“在计算机上模拟互联网通信”的场景下。


| Tomcat 安装与配置

  • 【Step1】本地Tomcat的配置步骤

    • 解压tomcat压缩包,解压后即可使用,无需安装。

    • 使用

//进入Tomcat/bin 下CMD
startup //启动tomcat
shutdown  //关闭tomcat(用完之后一定要记得关闭)


【Step2】IDEA中配置Tomcat(注意:配置前请务必保证本地Tomcat是关闭的状态)

  • 通知IDEA,Tomcat所在的位置

设置一个Tomcat的启动开关

  • 至此,Tomcat在本机和IDEA中的配置全部完成。之后我们会验证配置是否生效


| Tomcat 的目录结构、端口号

  • bin:管理命令中心

  • conf:核心配置文件位置,其中最核心的文件是server.xml

    • 在server.xml中的下面代码,可以查看到本机Tomcat服务器的端口号为8080

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

  • lib:在tomcat开发过程中所需要的java包jar包

  • temp:存储运行时产生的一些临时文件,在tomcat工作完毕后 会被自动销毁

  • webapps:收到请求的时候,到该文件夹寻找相关资源文件

  • work:Tomcat的工作空间,把gfp的资源文件编辑为 .java对象文件-调用对应方法


第四章 | Tomcat 基本使用

| 章节概述

本章将学习

  • 进行Tomcat在第三章配置后成功与否的测试

  • Tomcat在本地、IDEA环境中的静态资源访问步骤,对Tomcat有个基本的认知

  • 介绍一下IDEA中最基础的web项目的目录结构


| 本地Tomcat 静态资源网站访问

我们将通过创建一个只有静态文件的网站,然后通过本地的Tomcat去访问这个网站的静态文件资源

通过本例,可以顺便测试本次Tomcat配置成功与否

【Step1】在Tomcat目录下的 -webapps文件夹中,新建一个文件夹,这个文件夹只能是英文名。这个文件夹就是一个网站

【Step2】放一张图片在刚才创建的文件夹中,作为网站的静态资源

【Step3】进入Tomcat/bin 目录下CMD 输入 startup,启动Tomcat服务器

【Step4】打开浏览器,输入url访问静态资源(如果不知道端口号的,可以去 conf/server.xml 中查看 Connector port)

//静态资源URL格式:网络协议包://服务端计算机IP地址:Http服务器端口号/网站名/资源文件
//例如
http://localhost:8080/firstWeb/klee.png

示例:

访问成功


<a name="IDEATomcat 静态资源网站访问"></a>

| IDEATomcat 静态资源网站访问

我们将通过创建一个只有静态文件的网站,然后通过IDEA中之前配置好的Tomcat去访问这个网站的静态文件资源

通过本例,可以顺便测试IDEA中的Tomcat配置成功与否

【Step1】创建一个普通Java Module

【Step2】右键模块,添加WEB框架支持。点击确认,就创建好了一个网站

【Step3】把静态资源放在 web文件夹下

【Step4】把当前网站文件夹,部署到IDEA中的Tomcat代为托管

Tips:一次能部署多个网站文件,但是网站的URL是唯一的,因此一次只能访问其中的一个网站文件

【Step5】给托管的网站起一个别名,然后点击确定。网站部署完毕

【Step6】点击IDEA左边的绿色箭头,Tomcat启动,开始读取网站文件。然后我们就可以进行静态资源的访问了

输入静态资源名字,可以手动访问静态资源


| IDEA中最基础web项目的目录结构

  • Web项目的目录结构都是固定好的,一定要遵循存放的位置。

  • 项目的不同目录有不同的访问权限,这些是需要特别注意的!如:URL无法直接访问WEB-INF下的静态资源文件。这些在今后会逐渐介绍

  • 下面展示的是最基础的基于 【Module+Web基本框架支持】 所构成的web目录。在今后还会有 基于Maven的目录、基于Springboot x Maven的目录等等

    不同的目录可能有所差异,但是其基本原理都遵循下图!(基础很重要!万变不离其中)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/27860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始操作系统-07:APIC

这一节主要主要是APIC。 所需要的文件在Github&#xff1a;https://github.com/yongkangluo/Ubuntu20.04OS/tree/main/Files/Lec7-ExternalInterrupt 历史方法&#xff1a;PIC&#xff08;Programmable Interrupt Controller&#xff09; Intel 8259&#xff1a; APIC&#…

小侃设计模式(十三)-策略模式

1.概述 策略模式&#xff08;Strategy Pattern&#xff09;是一种比较简单的模式&#xff0c;它定义了算法家族&#xff0c;分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;此模式让算法的变化&#xff0c;不会影响到使用算法的客户。策略模式具有较强的实用性&a…

ARM学习扫盲篇(一):CPSRSPSR、LcacheDcache、w/parityw/ECC

1、CPSR&SPSR CPSR—程序状态寄存器(current program status register) SPSR—程序状态保存寄存器&#xff08;saved program status register&#xff09; Icache&Dcache icache用来缓存指令&#xff1b; dcache用来缓存数据&#xff0c;dcache用的前提是mmu要启动…

(续)SSM整合之SSM整合笔记(ContextLoaderListener)(P177-178)

目录 ContextLoaderListener 一 ContextLoaderListener 二 测试ContextLoaderListener 1 新建模块spring_listener com.atguigu 2. 导入依赖 3 .转web 4 .web.xml 5 springmvc.xml 6 .spring.xml 7 首页index.html 8 控制层 HelloController 9 service接口…

【24计算机考研】备考前必须了解的避坑小知识,建议收藏

前言 我们可能已经了解到最近两三年的考研趋势&#xff0c;疫情的原因&#xff0c;不断增加的二战三战考生&#xff0c;导致每年考研人数持续增长&#xff0c;那么&#xff0c;如何在相同的时间里&#xff0c;赶超你的竞争对手&#xff0c;避坑 绝对是很重要的。 考研将是一场…

【Spring】——9、如何指定初始化和销毁的方法?

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

(STM32)从零开始的RT-Thread之旅--SPI驱动ST7735(3)使用DMA

上一篇&#xff1a; (STM32)从零开始的RT-Thread之旅--SPI驱动ST7735(2) 上一篇完成了ST7735驱动的移植&#xff0c;并已经可以通过SPI在屏幕上显示字符了&#xff0c;这一章会把SPI修改为DMA的传输方式。由于RTT对于STM32H7的SPI的DMA传输方式目前支持的并不好&#xff0c;这…

Vuex3使用教程(待续)

Vuex定义 以下是Vue官网对于Vuex的定义&#xff1a; Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 库。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 从官方定义上看&#xff1a; Vuex提供了一个全部组件…

Java注释:单行、多行和文档注释

注释是对程序语言的说明&#xff0c;有助于开发者和用户之间的交流&#xff0c;方便理解程序。注释不是编程语句&#xff0c;因此被编译器忽略。 Java入门基础视频教程&#xff0c;java零基础自学就选黑马程序员Java入门教程&#xff08;含Java项目和Java真题&#xff09; Ja…

【Django】Django4.1.2使用xadmin避坑指南(二)

上一篇【Django】Django4.1.2使用xadmin避坑指南调完后&#xff0c;还是继续有问题&#xff0c;没事&#xff0c;咱们继续&#xff0c;必须啃下硬骨头~ 文章目录环境问题一&#xff1a;if not ContentType._meta.installed:这一句报错&#xff1a;AttributeError: Options obje…

《深度学习进阶 自然语言处理》第八章:Attention介绍

文章目录8.1 Attention结构8.1.1 seq2seq存在的问题8.1.2 编码器的改进8.1.3 解码器的改进8.2 Attention的应用8.3 总结之前文章链接&#xff1a; 开篇介绍&#xff1a;《深度学习进阶 自然语言处理》书籍介绍 第一章&#xff1a;《深度学习进阶 自然语言处理》第一章&#xf…

SSH连接WSL2踩坑记录与增加端口转换规则,实现外网与WSL2的连接

SSH连接WSL2踩坑记录 文章目录SSH连接WSL2踩坑记录1. 在WSL里的操作2. ssh连接3. 可能出现的错误4. 再配置端口转发到WSL1. 在WSL里的操作 1.1 重装openssh-server sudo remove openssh-server # 如果已经安装了&#xff0c;建设先卸载 sudo apt install openssh-server…

Ansys Lumerical | 行波 Mach-Zehnder 调制器仿真分析

前言 本示例描述了行波 Mach-Zehnder 调制器的完整多物理场&#xff08;电气、光学、射频&#xff09;仿真&#xff0c;最后在INTERCONNECT中进行了紧凑模型电路仿真。计算了相对相移、光学传输、传输线带宽和眼图等关键结果。 综述 此示例中5毫米长的Si波导由5毫米长的Al共面…

SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.24 SpringBoot 整合 RabbitMQ(topic 模式)

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇5 整合第三方技术5.24 SpringBoot 整合 RabbitMQ(topic 模式)5.24.1 …

FL Studio2023水果编曲软件最新版安装教程

FL Studio中文版是知名的音乐制作软件&#xff0c;让你的计算机就像是全功能的录音室&#xff0c;软件包含13种虚拟音源&#xff0c;可同时录制64轨音频轨&#xff0c;FL Studio中文版拥有的漂亮的大混音盘&#xff0c;先进的创作工具&#xff0c;让你的音乐突破想象力的限制&a…

智能化油田建设规划

一、数字化油田-技术现状 数字化油田实现了设备的远程生产过程监控&#xff0c;使井场实现无人值守。所以目前的设备运行维护管理系统只能实现数据统计管理&#xff0c;并不能实现设备状态监控及远程维护及故障诊断。 1、数字化油田— 存在的问题 缺少设备状态在线监测系统&a…

第三章. 业务功能开发--用户登录安全退出

第三章. 业务功能开发--用户登录安全退出 1. 用户登录 需求&#xff1a; 用户在登录页面,输入用户名和密码,点击"登录"按钮或者回车,完成用户登录的功能.*用户名和密码不能为空*用户名或者密码错误,用户已过期,用户状态被锁定,ip受限 都不能登录成功*登录成功之后,所…

Android Jetpack之Lifecycle的使用及源码分析

Lifecycle生命周期感知型组件可执行操作来响应另一个组件&#xff08;如 Activity 和 Fragment&#xff09;的生命周期状态的变化。这些组件有助于您编写出更有条理且往往更精简的代码&#xff0c;此类代码更易于维护。 尤其是在Activity和Fragment在已经默认支持LifeCycle的情…

【第五部分 | JS WebAPI】3:DOM 节点操作

目录 | 节点操作 1-1 概述 2-1 获取父节点 3-1 获取子节点&#xff08;获取所有子对象 不推荐&#xff09; 3-2 获取子节点&#xff08;获取所有子【元素节点】&#xff09; 3-3 获取首尾子节点 4-1 获取兄弟节点 5-1 动态创建、添加节点 5-2 案例&#xff1a;评论区 …

性能测试_JMeter_connection timed out :connect

jmeter报错:failed:connection timed out :connect/java.net.BindException: Address already in use: connect java.net.BindException: Address already in use: connectat java.net.DualStackPlainSocketImpl.connect0(Native Method)at java.net.DualStackPlainSocketImpl…