【JavaWeb】第七章 Tomcat

news/2024/11/7 22:38:37/

文章目录

  • 1、JavaWeb
  • 2、Web资源与Web服务器
  • 3、Tomcat的使用
  • 4、部署Web工程到Tomcat中
  • 5、工程和资源的访问
  • 6、IDEA集成Tomcat服务器
  • 7、创建动态web工程
  • 8、在IDEA中启动部署web模块

1、JavaWeb

JavaWeb是指通过Java语言编写的可以通过浏览器访问的程序的总称。

  • 请求:
    客户端给服务器发送数据,即Request

  • 响应:
    服务器给客户端回传数据,即Response

请求和响应是成对出现的。
客户端与服务器

2、Web资源与Web服务器

Web资源

按实现的技术和呈现的效果的不同,分为静态资源和动态资源两种。

  • 静态资源如:html、css、js、txt、mp4、jpg
  • 动态资源如:jsp页面、Servlet程序

常见的Web服务器

  • Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持,是一种轻量级的JavaWeb容器(服务器)
  • Jboss
  • GlassFish
  • Resin
  • WebLogic

Tomcat服务器和Servlet版本对应的关系:

版本对应

3、Tomcat的使用

安装

下载地址:https://tomcat.apache.org/
下载

找到需要的Tomcat版本的zip压缩包,解压到需要安装的目录即可

目录介绍

  • bin:存放Tomcat服务器的可执行程序
  • conf:存放Tomcat服务器的配置文件
  • lib:存放Tomcat服务器的jar包
  • logs:存放Tomcat服务器运行时输出的日志信息
  • temp:存放Tomcat运行时产生的临时数据
  • Webapps:存放部署的Web工程
  • work:Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码,和Session钝化(序列化)的目录

启动

❀方式一:双击bin目录下的startup.bat文件

❀方式二:打开DOS窗口,CD到Tomcat的bin目录,执行指令catalina run

catalina run

启动后,随便访问以下其中一个地址:

http://localhost:8080
http://127.0.0.1:8080
http://本地真实IP:8080

当跳转如下界面,即说明启动成功:
跳转

🍁常见的启动失败情况:

  • 双击startup.bat文件后,出现一个小黑窗口一闪而过。失败原因可能是没配置好JAVA_HOME环境变量
    环境变量

注意JAVA_HOME配置的路径只需要配置到jdk的安装目录即可,不需要带上bin目录!!

停止

  • 方式1:点击Tomcat服务器窗口的x关闭按钮
  • 方式2:把Tomcat服务器窗户置为当前窗口,然后Ctrl+C
  • 方式3:双击bin目录下的shutdown.bat

修改Tomcat的端口号

Mysql默认的端口号是3306,Tomcat默认的是8080。HTTP协议的默认端口号是80,访问时不用加,这也是只带域名(ip)www.baidu.com就能访问的原因。

Tomcat目录下的conf目录,找到server.xml配置文件,可修改默认端口:
port
修改完端口号一定要重启Tomcat才能生效。

4、部署Web工程到Tomcat中

方式1:

只需把web工程的目录拷贝到Tomcat的webapps目录即可
拷贝

localhost:8080实际到达的目录是tomcat/webapps,所以访问时,在浏览器输入:

http://ip:port/工程名/目录x/文件名

访问

方式2:

进入Tomcat的conf目录下的Catalina\localhost\,创建配置文件xx.xml:
9527.xml
文件内容:

<Context path="/9527" docBase="D:\html" />

其中:

  • Context表示一个工程的上下文
  • path表示工程的访问路径
  • docBase表示工程目录在哪里

重启Tomcat,此时,访问localhost:8080/9527就相当于访问D:\html:

http://localhost:8080/9527/jquery-10.html

第一种方式就像是方式二中把docBase配置成…tomcat/webapps,path就是/,当然方式一的底层实现原理可能不是这样。

访问效果:

访问

5、工程和资源的访问

🍁直接手拖文件进浏览器和在浏览器中输入localhost:8080/xx文件 访问有何不同?

手动拖html页面到浏览器,此时浏览器中的地址是:
手动拖

此时使用的是file://协议,表示file协议告诉浏览器直接读取file: 协议后面的路径,解析展示在浏览器上即可

如果是输入:http://ip:port/工程名/资源名

localhost
所使用的协议是http协议,背后的逻辑是:
localhost

访问默认工程和默认资源:

  • 当输入http://localhost:port/的时候,没有工程名,则默认访问的是webapps下的ROOT工程

  • 当输入http://localhost:port/工程名,没有资源名的时候,则默认访问的是该工程下的index.html页面

6、IDEA集成Tomcat服务器

用上面的方法,调试运行一个web项目就很烦,所以考虑直接在IDEA集成Tomcat服务器:(不同版本的IDEA操作入口不一样,社区版IDEA中叫Smart Cat)

setting
配置

有的版本在run那里下拉添加,如下图:
tomcat

7、创建动态web工程

2020.3版本的IDEA创建动态web工程跳转这里https://blog.csdn.net/weixin_43707152/article/details/111088178

下面是另一个版本的:

newMoudle
输入模块名:

moudle
创建成功:
目录
整个动态web工程目录介绍:
目录

8、在IDEA中启动部署web模块

创建好web工程后,编辑Tomcat运行实例
edit
确认Tomcat实例中有要部署的web工程模块:
添加工程
其他参数项的含义:
其余项

最后,重启按钮的各个选项的含义:

run

!!!运行时,如果控制台出现乱码,改完编码配置以后记得重启IDEA再看改好没有。 思路跳这篇文章: https://blog.csdn.net/qq_38188047/article/details/111031987

一些Tomcat实例使用的注意点:

  • 修改模块工程路径
    修改路径
  • 修改运行的端口号
    修改端口号
  • 修改运行使用的浏览器
    修改浏览器
  • 选择部署是热部署
    热部署

http://www.ppmy.cn/news/2117.html

相关文章

Python.03.函数使用

目录 函数与方法的区别 函数的定义 传参的情况 常见传参 其他传参 函数的返回值 函数嵌套 Lambda表达式 字典排序 map函数 filter函数 函数与方法的区别 直接调用的是函数 &#xff0c;通过对象点出来的是方法 print("hello") a [2, 1, 3] a.sort() pri…

C++ lambda表达式详解

一、lambda表达式基本用法 1、语法 Lambda 表达式的基本语法如下&#xff1a; 捕获列表 mutable(可选) 异常属性 -> 返回类型 { // 函数体 } 2、lambda值捕获 /*** brief lamdba值捕获*/ void test() {int nvalue 1;auto func_copyvalue [nvalue]{return nvalue;};nva…

SpringBoot —— 整合RabbitMQ常见问题及解决方案

前言 企业中最常用的消息中间件既不是RocketMQ&#xff0c;也不是Kafka&#xff0c;而是RabbitMQ。 RocketMQ很强大&#xff0c;但主要是阿里推广自己的云产品而开源出来的一款消息队列&#xff0c;其实中小企业用RocketMQ的没有想象中那么多。 至于Kafka&#xff0c;主要还是…

python 图形界面“诈金花”游戏,更新了!附完整代码

旧版本的代码请见上一篇博文&#xff1a; python 从一道作业题到制作一个图形界面的“诈金花”游戏_Hann Yang的博客-CSDN博客Player1: (♥Q, ♣2, ♣8) - 单张Player2: (♦10, ♥7, ♠6) - 单张Player3: (♣4, ♠4, ♦2) - 对子Player4: (♠5, ♠9, ♥6) - 单张Player5: (♠…

多数之和问题

文章目录多数求和问题1两数之和(无序)题解2两数之和(有序)题解3两数之和(二叉搜索树)题解4 三数之和题解5四数之和题解多数求和问题 针对给一组用例,和一个目标数target,求用例中多数相加等于target的所有数,且不能重复问题,一般有两种解法: 集合(不要求排序)双指针(要求排序…

springboot基于Java的电影院售票与管理系统毕业设计源码011449

电影院售票与管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对电影院售…

JVM—双亲委派

文章目录什么是双亲委派&#xff1f;为什么要有双亲委派原理&#xff1f;破坏双亲委派的例子————————————————————————————————什么是双亲委派&#xff1f; ​ 就是我们写的java源文件到最终运行&#xff0c;必须要经过编译和类加载这两个阶段…

Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做

Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做 【免费赠送源码】Springboot企业资源管理信息系统kvonv计算机毕业设计-课程设计-期末作业-毕设程序代做本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java…