JavaWeb Tomcat启动、部署、配置、集成IDEA

web服务器软件

服务器是安装了服务器软件的计算机,在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目。

Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。

web服务器软件:接收用户的请求,处理请求,做出响应。

常见的java相关的web服务器软件:

  • webLogic: oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  • webSphere: IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  • JBOSS: JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
  • Tomcat: Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。

Tomcat

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

因为Tomcat支持Servlet/JSP规范,所以Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖Tomcat才能运行。

Tomcat的官网:https://tomcat.apache.org/

Tomcat在解压缩的时候,解压所在的目录可以任意,但最好解压到一个不包含中文和空格的目录,因为后期在部署项目的时候,如果路径有中文或者空格可能会导致程序部署失败。

在这里插入图片描述

  • bin:目录下有两类文件,一种是以.bat结尾的,是Windows系统的可执行文件,一种是以.sh结尾的,是Linux系统的可执行文件。
  • webapps:就是以后项目部署的目录。

启动/关闭

启动:双击bin\startup.bat 即可

关闭:

  • 强制关闭:直接x掉运行窗口,不建议
  • 正常关闭:bin\shutdown.bat
  • 正常关闭:ctrl+c

可能遇到的问题

启动窗口一闪而过

没有正确配置JAVA_HOME环境变量,或已经开启了Tomcat

控制台中文乱码

tomcat的日志配置文件的编码需要修改,找到tomcat安装目录,找到conf/logging.properties文件,将其中的java.util.logging.ConsoleHandler.encoding = UTF-8的修改为GBK 即可。

端口号冲突

在这里插入图片描述

  • 暴力解决:找到占用的端口号,并且找到对应的进程,杀死该进程 netstat -ano
  • 温柔解决:修改自身的端口号,在conf/server.xml文件中修改,一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号,在访问时,就不用输入端口号。
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />

部署

  1. 直接将项目放到webapps目录下即可。

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

  1. 将项目打成一个war包,再将war包放置到webapps目录下。

在这里插入图片描述

配置

可以在conf/server.xml文件中进行映射配置。

比如:项目存放的路径为D:\hello ,不放在webapps目录中,可以在标签体中配置:

<Context docBase="D:\hello" path="/hehe" />
  • docBase:项目存放的路径
  • path:虚拟目录

在这里插入图片描述

也可以在conf\Catalina\localhost创建任意名称的xml文件。url映射的路径就是xml文件的名称。

在文件中编写:

<Context docBase="D:\hello" />

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

Maven创建Web项目

Web项目的结构分为:开发中的项目开发完可以部署的Web项目,这两种项目的结构是不一样的。

开发中的项目:

在这里插入图片描述

需要在pom.xml文件中配置打包方式为war(默认为jar),这样使用Maven的package 命令即可生成war包。

在这里插入图片描述

使用骨架创建web项目:

在这里插入图片描述

不使用骨架创建web项目:

在这里插入图片描述

开发完成部署的Web项目:

在这里插入图片描述

  • 开发项目通过执行Maven打包命令package,可以获取到部署的Web项目目录
  • 编译后的Java字节码文件和resources的资源文件,会被放到WEB-INF下的classes目录下
  • pom.xml中依赖坐标对应的jar包,会被放入WEB-INF下的lib目录下

IDEA集成Tomcat

第一种:使用本地的Tomcat

在这里插入图片描述

第二种:使用Tomcat Maven插件

Maven Tomcat插件目前只有Tomcat7版本,没有更高的版本可以使用,要想修改Tomcat的端口和访问路径,可以直接修改pom.xml。

  1. 在pom.xml中添加Tomcat插件
<build>
    <plugins>
    	<!--Tomcat插件 -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
            	<port>80</port><!--访问端口号 -->
                <!--项目访问路径
                    未配置访问路径: http://localhost:80/tomcat-demo2/a.html
                    配置/后访问路径: http://localhost:80/a.html
                    如果配置成 /hello,访问路径会变成 http://localhost:80/hello/a.html
		-->
                <path>/</path>
            </configuration>
        </plugin>
    </plugins>
</build>

启动:

在这里插入图片描述

可能遇到的问题

IDEA输出乱码问题

因为IDEA是使用UTF-8格式的,而Windows使用的是GBK,所以要把刚刚修改的编码重新修改为UTF-8格式的:

找到tomcat安装目录,找到conf/logging.properties文件,确保其中的java.util.logging.ConsoleHandler.encoding = UTF-8的编码格式为UTF-8

在这里插入图片描述

看不到Run Maven和Debug Maven

使用插件启动时,如果选中项目并右键点击后,看不到Run Maven和Debug Maven,这个时候就需要在IDEA中下载Maven Helper插件,具体的操作方式为: File --> Settings --> Plugins --> Maven Helper --> Install,安装完后按照提示重启IDEA,就可以看到了。

在这里插入图片描述

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

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

相关文章

每日一题——LeetCode1624.两个相同字符之间的最长子字符串

方法一 直接遍历 保存每种字符首次出现的位置&#xff0c;再碰到这个字符时用它的当前位置减去首次出现的位置得到的长度与最大长度进行比较 var maxLengthBetweenEqualCharacters function(s) {const firstIndex new Array(26).fill(-1);let maxLength -1;for (let i 0;…

StableDrag:一种基于Diffusion模型的图像编辑,可一键拖拽生成,DragGAN被革新了!

还记得DragGAN吗&#xff1f;可以拖动锚点进行图像编辑&#xff0c;当时代码发布以后大家发现生成速度慢&#xff0c;而且不能自己自定义外部图片就没人理了。 现在又有一个StableDrag&#xff0c;是基于Diffusion 模型的&#xff0c;也可以完成类似的拖动锚点编辑图片的能力。…

如何使用apk2url从APK中快速提取IP地址和URL节点

关于apk2url apk2url是一款功能强大的公开资源情报OSINT工具&#xff0c;该工具可以通过对APK文件执行反汇编和反编译&#xff0c;以从中快速提取出IP地址和URL节点&#xff0c;然后将结果过滤并存储到一个.txt输出文件中。 该工具本质上是一个Shell脚本&#xff0c;专为红队…

从2个角度来简单讨论一下伦敦金走势图怎么看

进入伦敦金市场之后&#xff0c;投资者无时无刻都在思考着一个问题&#xff0c;那就是伦敦金走势怎么看&#xff1f;关于这个问题&#xff0c;其实在市场中有很多的文章和视频去介绍&#xff0c;在书店里也有很多投资前贤所写的书籍讨论过这个问题。但是他们都有一个特征&#…

基于Web的skc分类管理系统

目 录 摘 要 I Abstract II 引 言 1 第1章 开发目的 3 1.1 开发背景 3 1.2 开发内容 3 1.3 本章小结 4 第2章 主要技术和工具介绍 5 2.1 JSP语言简介 5 2.2 MySQL数据简介 5 2.3 SSM框架简介 6 2.4 本章小结 6 第3章 系统分析 7 3.1 可行性分析 7 3.1.1 经济可行性分析 7 3.1.…

graylog API 弱密码

graylog web 页面密码设置 输入密码&#xff1a;获取sha256加密后密码 echo -n "Enter Password: " && head -1 </dev/stdin | tr -d \n | sha256sum | cut -d" " -f1vi /etc/graylog/server/server.conf #修改以下配置 root_usernameroot ro…

算法---双指针-4(盛水最多的容器)

题目 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;盛水最多的容器 2. 讲解算法原理 算法的主要思路是使用双指针的方法&#xff0c;通过不断调整指针的位置来计算面积&#xff0c;并更新最大面积。具体步骤如下&#xff1a; 初始化左指针x为数组…

融资项目——通过OpenFeign在分布式微服务框架中实现微服务的远程调用

1.OpenFeign配置 首先&#xff0c;在需要调用其他的微服务的微服务中引入相关依赖。&#xff08;大多数项目中各微服务需要互相调用&#xff0c;可以直接在每个微服务中引入依赖&#xff09; <!--服务调用--><dependency><groupId>org.springframework.clou…

Transformer算法详解

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 算法简介 Transformer架构于2017年6月推出。最初的研究重点是自然语言处理领域的翻译任务。随后&#xff0c;几个具有影响力的模型被引入&#…

使用 ANN 进行输电线路故障检测

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 背景 输电线路的重要性&#xff1a;输电线路在电力系统中至关重要&#xff0c;负责将电力从电源传输到配电网络。现代社会对可靠电力的需求呈指…

Windows Docker 部署 MySQL

部署 MySQL 打开 Docker Desktop&#xff0c;切换到 Linux 容器。然后在 PowerShell 执行下面命令&#xff0c;即可启动一个 MySQL 服务。这里安装的是 8.3.0 Tag版本&#xff0c;如果需要安装其他或者最新版本&#xff0c;可以到 Docker Hub 进行查找。 docker run -itd --n…

Linux安全--为Nginx加上PHP解析功能

yum install php-fpm -y安装php进程管理器 找到Nginx安装的路径 编辑Nginx配置文件

LVS集群 ----------------(直接路由 )DR模式部署 (二)

一、LVS集群的三种工作模式 lvs-nat&#xff1a;修改请求报文的目标IP,多目标IP的DNAT lvs-dr&#xff1a;操纵封装新的MAC地址&#xff08;直接路由&#xff09; lvs-tun&#xff1a;隧道模式 lvs-dr 是 LVS集群的 默认工作模式 NAT通过网络地址转换实现的虚拟服务器&…

3•8向女同胞致敬|营销枢纽SaaS厂商乐通达(ltd.com)正式更名枢纽云

为了向女同胞致敬&#xff0c;我们特地选择3月8日女神节变更公司名称&#xff0c;因为《如果SaaS有性别&#xff0c;那 TA一定是女性 》。 2024年3月8日&#xff0c;“杭州乐通达网络有限公司”名称正式变更为“杭州枢纽云计算有限公司”&#xff08;简称&#xff1a;营销枢纽&…

YOLOv8.1.0安装

【YOLO】YOLOv8训练环境配置 python 3.8.18 cuda 11.3.1 cudnn 8.2.1 pytorch 1.12.1-gpu版 - 知乎 (zhihu.com) 一、Anaconda 默认装好了可用的Anaconda&#xff0c;安装教程见Win10系统anaconda安装 - 知乎 (zhihu.com) 二、在虚拟环境下用conda安装 1.创建虚拟环境 …

双链表的实现(数据结构)

链表总体可以分为三大类 一、无头和有头 二、单向和双向 三、循环和不循环 从上面分类得知可以组合成8种不同类型链表&#xff0c;其中单链表最为简单&#xff0c;双联表最为复杂&#xff0c;两种链表都实现后其余链表都不成问题。 我们前期博客已将完成了单向无头不循环链表…

DNDC土地数据、土壤数据、结果分析、率定验证、土壤碳储量与作物产量、温室气体排放分析、农田减排潜力分析、土地变化下DNDC模拟、气候变化下的DNDC模拟

DNDC模型 DNDC模型是一个用于模拟和追踪农业生态系统中碳氮生物地球化学循环的过程模型&#xff0c;可以用来模拟农业生态系统碳氮排放、农作物产量、土壤固碳作用以及硝酸盐淋失等过程。 模型由两部分组成&#xff1a;第一部分包括土壤气候、植物生长和有机质分解等3个子模型…

二叉搜索树(BST)的创建及增,删,查,改(详解)

目录 初识二叉搜索树&#xff08;BST&#xff09;&#xff1a; 二叉搜索树查找元素&#xff1a; 二叉搜索树修改元素: 二叉搜索树中的增加元素&#xff1a; 二叉搜索树中的删除元素&#xff1a; 初识二叉搜索树&#xff08;BST&#xff09;&#xff1a; 一张图简要概括二…

虚幻4 | 制作游戏——学习记录(一)

1. 启动Epic后下载虚幻4&#xff0c;打开虚幻4后新建一个第三人称游戏项目&#xff0c;效果如下&#xff1a; &#xff08;1&#xff09;内容/ThirdPersonBP/Blueprints中的ThirdPersonCharacter&#xff08;左下角人物&#xff09; 这是模板中使用的主要蓝图类&#xff0c;它…

LED驱动控制芯片SM5166:可消除LED显示模组毛毛虫现象

SM5166是一款LED驱动控制芯片&#xff0c;专为LED显示模组设计&#xff0c;具备多项先进功能。以下是关于SM5166的详细解释&#xff1a; 1. 消除LED显示模组毛毛虫现象&#xff1a;毛毛虫现象是LED显示屏上一种常见的显示问题&#xff0c;表现为在显示动态图像时&#xff0c;L…