web服务之Tomcat

article/2025/9/15 0:08:42

目录

Tomcat介绍

Tomcat组件

Tomcat组件

JavaServlet

JSP容器

Tomcat部署步骤

关闭防火墙,将安装 Tomcat 所需软件包上传到 /opt 目录下

安装 JDK

设置 JDK 环境变量 

 安装启动 Tomcat

 tomcat的主要目录

 Tomcat 虚拟主机配置

创建test1和test2项目目录和文件

修改 Tomcat 主配置文件 

 浏览器访问验证

 小结


Tomcat介绍

免费的、开放源代码的Web应用服务器,属于轻量级应用服务器
在中小型系统和并发访问用户不是很多的场合下被普遍使用
是开发和调试JSP程序的首选
Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目
由Apache、Sun和一些公司及个人共同开发而成
深受Java爱好者的喜爱,并得到部分软件开发商的认可
目前比较流行的Web应用服务器
Tomcat对比于Apache或者Nginx这些Web服务器,都具有处理HTML页面的功能,然而由于其处理静态HTML的能力远不及Apache或者Nginx,所以Tomcat通常是作为一个Servlet和JSP容器,单独运行在后端。
 

Tomcat组件

Tomcat组件

Tomcat由一系列的组件构成,其中核心的组件有三个:

  • Web容器------完成Web服务器的功能。
  • Servlet 容器------名字为catalina, 用于处理Servlet代码。
  • JSP容器------用于将JSP动态网页翻译成Servlet代码。

JavaServlet

JavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。与CGI (公共网关接口)功能相类似。

JSP容器

JSP全称:Java Server Pages
是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头 以%>结束。JSP是一 种Java servlet,主要用于实现Java web应用程序的用户界面部分。
JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
 

Tomcat部署步骤

关闭防火墙,将安装 Tomcat 所需软件包上传到 /opt 目录下

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

安装 JDK

#查询指定软件包的文件列表
rpm -qpl jdk-8u201-linux-x64.rpm
#安装
rpm -ivh jdk-8u201-linux-x64.rpm
java -version

设置 JDK 环境变量 

#profile.d相当于profile的扩展地盘
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATHsource /etc/profile.d/java.sh
java -version
-------java.sh中补充的知识点-----------------------------------
CLASSPATH:编译、运行Java程序时,JRE 会去该变量指定的路径中搜索所需的类( .class)文件。
dt.jar:是关于运行环境的类库,主要是swing 的包。
tools.jar:主要是一 些 jdk 工具的类库,包括 javac, java,javap, javadoc等。
JDK:java development kit ( java开发工具)
JRE:java runtime environment ( java运行时环境)
JVM:java virtuak machine (java虚拟机) ,使 java程序可以在多种平台上运行class文件。

 

 

 到这里就设置好了,我们也可以编写一个java脚本来验证安装

vim abc.java
#编写一个java程序,输出“hello world!”
public class abc {public static void main(String[] args){System.out.println("Hello World!");}
}#检测JDK环境是否设置成功
javac abc.java
java abc

 

 

 安装启动 Tomcat

cd /opt/
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat##启动tomcat##
/usr/local/tomcat/bin/startup.sh
netstat -natp | grep  8080#使用浏览器访问Tomcat的主页 
http://192.168.254.100:8080

 tomcat的主要目录

  • 查看目录命令 ------ ll /usr/local/tomcat/

bin    存放启动和关闭Tomcat 的脚本文件,比较常用的是catalina. sh、startup.sh、 shutdown.sh 三个文件
conf    存放Tomcat 服务器的各种配置文件,比较常用的是server. xml、context . xml、tomcat-users.xml、 web. xml 四个文件.
lib    存放Tomcat服务器的 jar 包,一 般不作任何改动,除非连接第三方服务,比如redis, 那就需要添加相对应的jar包
logs    存放Tomcat 日志
temp    存放Tomcat 运行时产生的文件
webapps    存放项目资源的目录
work    Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到

 Tomcat 虚拟主机配置

很多时候公司会有多个项目需要运行,那么肯定不可能是一台服务器上运行多个Tomcat服务,这样会消耗太多的系统资源。此时,就需要使用到Tomcat虚拟主机。例如现在新增两个域名www.test1.com和www.test2.com,希望通过这两个域名访问到不同的项目内容。

创建test1和test2项目目录和文件

mkdir /usr/local/tomcat/webapps/test1
mkdir /usr/local/tomcat/webapps/test2
echo 'this is test1 page!' > cd /usr/local/tomcat/webapps/test1/index.jsp
echo 'this is test2 page!' > /usr/local/tomcat/webapps/test2/index.jsp

修改 Tomcat 主配置文件 

vim /usr/local/tomcat/conf/server.xml#165行<Host name="www.test1.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/test1" path="" reloadable="true" /></Host><Host name="www.test2.com"  appBase="webapps" unpackWARs="true"autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/test2" path="" reloadable="true" /></Host>#重启服务;命令路径优化后可以直接使用shutdown.sh和startup.sh
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
#----------------参数解释-----------------------------
Host name :主机名
appBase : Tomcat程序工作目录,相对路径为webapps,绝对路径为/usr/local/tomcat/webapps
unpackWARs :是否解压war包
autoDeploy :指示Tomcat运行时,如有新的WEB应用是否允许自动部署
xmlValidation :是否验证xml文件执行有效性检验的标志
xmlNamespaceAware :是否启用xml命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验docBase : WEB应用的目录
path:设置访问的URI为WEB应用的根目录
reloadable :是否在程序有改动时重新载入

 

 浏览器访问验证

echo "192.168.254.100 www.test1.com www.test2.com" >> /etc/hosts

 浏览器访问 http://www.test1.com:8080 页面显示 this is test1 page!
浏览器访问 http://www.test2.com:8080 页面显示 this is test2 page!

 小结

tomcat 一个轻量级应用服务器,用来发布web项目.

Tomcat组件

  • Web容器------完成Web服务器的功能。
  • Servlet 容器------名字为catalina, 用于处理Servlet代码。
  • JSP容器------用于将JSP动态网页翻译成Servlet代码。


http://chatgpt.dhexx.cn/article/T4i50VoB.shtml

相关文章

Tomcat实现Https服务

Tomcat实现Https服务 1、JDK生成证书 进入JDK/bin目录键盘按下shift 鼠标右键&#xff0c;选择“在此处打开命令窗口”打开DOS命令窗键入命令”keytool -v -genkey -alias myKey -keyalg RSA -keystore F:/jdk1.6.0_45/myKey.keystore” 证书密码123456 2、配置tomcat 配置…

【转】URL访问地址和Tomcat项目部署中不得不说的小秘密

今天来简单讲讲tomcat项目部署和url地址访问栏的关系&#xff0c;顺便和大家分享下&#xff0c;叙述不当之处&#xff0c;还请大家多多指导&#xff01; 众所周知&#xff0c;Tomcat项目发布的默认访问地址格式如下&#xff1a;http://localhost:8080/MyDemo/index.jsp 由于we…

【tomcat路径匹配源码分析】搞懂tomcat中web.xml配置servlet的url-pattern为“/“和“/*“的区别

搞懂tomcat中web.xml配置servlet的url-pattern为"/"和"/*"的区别 前言结论Servlet匹配规则&#xff08;tomcat源码&#xff09;分析举个例子路径配置为/导致拦截静态资源问题的解决方案 总结 原文地址 前言 我在写原生javaWEB项目时&#xff0c;想通过注册…

通过URL请求tomcat服务器直接下载文件

从一个服务器上下载文件&#xff0c;是很常见的情况。通常我们想通过URL来访问直接下载一个文件&#xff0c;对于Tomcat服务器而言&#xff0c;是非常简单的&#xff0c;Tomcat本身就是作为一个web服务器的&#xff0c;通过简单的配置就可以实现。 配置如下&#xff1a; 1、在…

tomcat配置使得访问http协议(或者直接输入www.网址.com) 直接跳转访问https协议

由于https协议比http协议安全,但是如果网站安装了ssl(如果没有安装,可百度搜索"阿里云ssl免费证书",阿里官网会提供安装方法,比较简单),发现每次输入网址必须得手动输入https,而且大家习惯输入www.网址.com,会直接导致访问不到网站的.下面介绍直接修改tomcat配置,使得…

URL请求省略端口号和项目名访问Tomcat部署的项目

前言&#xff1a;很多时候Tomcat部署好Web项目之后访问项目的时候都需要加上端口号和项目名&#xff0c;如&#xff1a;http://localhost:8080/项目名&#xff0c;下面我会介绍可以不用输端口号和项目名便可以直接进行访问的方法&#xff0c;其实就是修改Tomcat下conf目录中的s…

让tomcat服务器使用url rewrite

第一步&#xff1a;首先到这里下载 http://tuckey.org/urlrewrite/ 稳定版&#xff1a;urlrewrite-2.6.0.jar 第二步&#xff1a;将urlrewrite-2.6.0.jar 放到tomcat的lib目录下。 第三步&#xff1a;将urlrewrite-2.6.0.jar 放到Netbeans的工程目录下的…

Tomcat之中文URL问题

背景 如果你需要访问带有中文路径的URL怎么办&#xff1f;比如说mp3、mp4文件。 比如这样的路径&#xff1a; http://127.0.0.1:8080/LZPlayer/mp3/1168/徐小凤 - 顺流逆流.mp3 那么&#xff0c;需要去修改Tomcat的配置文件&#xff0c;让他支持中文即可。 步骤 修改配置文…

URL访问地址和Tomcat项目部署中不得不说的小秘密

今天来简单讲讲tomcat项目部署和url地址访问栏的关系&#xff0c;顺便和大家分享下&#xff0c;叙述不当之处&#xff0c;还请大家多多指导&#xff01; 众所周知&#xff0c;Tomcat项目发布的默认访问地址格式如下&#xff1a;http://localhost:8080/MyDemo/index.jsp 由于we…

opencv——边缘检测算法(总结)

前言 笔记。 一、边缘检测算法 边缘检测算法是指利用灰度值的不连续性质&#xff0c;以灰度突变为基础分割出目标区域。对铝铸件表面进行成像后会产生一些带缺陷的区域&#xff0c;这些区域的灰度值比较低&#xff0c;与背景图像相比在灰度上会有突变&#xff0c;这是由于这…

用OpenCV的边缘检测

使用OpenCV的边缘检测 代码如下&#xff1a; #include "infer.h"using namespace cv; using namespace std;int main::getResult(string fileName) {Mat src imread(fileName);Mat dst;cvtColor(src, src, COLOR_BGR2GRAY);blur(src, src, Size(3, 3));Canny(src,…

基于opencv的边缘检测方法

1、梯度运算 用OpenCV的形态变换&#xff08; 膨胀、腐蚀、开运算和闭运算&#xff09;函数morphologyEx 梯度运算即膨胀结果-腐蚀结果&#xff1a; 【注意】对于二值图像来说&#xff0c;必须是前景图像为白色&#xff0c;背景为黑色&#xff0c;否则需要进行反二值化处理 …

OpenCV——Canny边缘检测

目录 简介 实现步骤 代码 原图 效果图 简介 Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。 实现步骤 step1&#xff1a;去噪。噪声会影响边缘检测的准确性&#xff0c;因此首先要将噪声过滤掉。 方法&#xff1a;图像边缘容易受到噪声的干扰&#xff0c;因此…

OpenCV——边缘检测原理

边缘检测原理 图像的边缘指的是图像中像素灰度值突然发生变化的区域&#xff0c;如果将图像的每一行像素和每一列像素都描述成一个关于灰度值的函数&#xff0c;那么图像的边缘对应在灰度值函数中是函数值突然变大的区域。函数值的变化趋势可以用函数的导数描述。当函数值突然…

OpenCV 边缘检测之Canny算法(代码应用)

Canny算法 Canny是边缘检测算法&#xff0c;在1986年提出的。 是一个很好的边缘检测器 很常用也很实用的图像处理方法 Canny算法步骤 消除噪声&#xff1a;高斯模糊 - GaussianBlur灰度转换 - cvtColor计算梯度 – Sobel/Scharr非最大信号抑制高低阈值输出二值图像 API&…

opencv边缘检测加提取(圆形和矩形)

因为加密了的原因&#xff0c;不好直接复制&#xff0c;大家看一下代码就好。

OpenCV之边缘检测

1.图片的高斯模糊 import cv2 import matplotlib.pyplot as pltimg cv2.imread(r"C:\Users\Curry\Desktop\goutou.png") gray cv2.cvtColor(img, codecv2.COLOR_BGR2GRAY) gray2 cv2.GaussianBlur(gray,(19,19),0) #高斯模糊 # canny cv2.Canny()cv2.imshow(gra…

OpenCV如何进行图像的边缘检测?OpenCV边缘检测操作流程

OpenCV提供了几种常见的图像边缘检测算法&#xff0c;包括Sobel算子、Scharr算子、Laplacian算子和Canny边缘检测算法。下面分别介绍这些算法及其实现方法。 Sobel算子 Sobel算子是一种常见的图像边缘检测算法&#xff0c;其原理是通过对图像进行卷积操作&#xff0c;计算出图像…

opencv-边缘检测

文章目录 一、Canny边缘检测1.1高斯滤波器2.1梯度和方向3.1非极大值抑制4.1双阈值检测 一、Canny边缘检测 Canny边缘检测器是一种被广泛使用的算法&#xff0c;并被认为是边缘检测最优的算法&#xff0c;该方法使用了比高斯差分算法更复杂的技巧&#xff0c;如多向灰度梯度和滞…

opencv边缘检测算子

实验三 边缘检测算子 一、 实验目的 利用opencv或其他工具编写实现下图的sobel算子和robert算子边缘检测 二、 实验过程 利用opencv python实现sobel算子和robert算子边缘检测 (1)在python安装opencv库 这个步骤我在第二个实验&#xff0c;图像滤波里写过了&#xff0c;就不…