Tomcat简单网站部署的三种方式小结

 更新时间:2023年05月26日 10:34:56   作者:魔道不误砍柴功  
本文主要介绍了Tomcat简单网站部署的三种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、隐式部署

为什么可以隐式部署,是因为 Tomcat 配置了默认主机对应应用 webapps,在 Engine 下你也可以配置其他主机(要保证你配置的主机在 ect/host 下有对应关系),但是 appBase 要确保唯一。保证每台主机下资源隔离,不会互相乱窜。如下所示:

提示:这里所说的主机换个说法叫做域名,localhost 是 127.0.0.1 的域名,otherlocalhost 也是 127.0.0.1 的一个域名。
比如 localhost 域名对应的 appBase 目录是默认的 webapps,webapps 下面又对应着 n 多网站应用。
当你用 http://localhost:8080 访问时,Tomcat 就知道你要去访问 webapps 目录下的某个网站。
当你用 http://otherlocalhost:8080 访问时,Tomcat 就知道你要去访问 otherHostWeb 目录下的某个网站。

<Server port="8005" shutdown="SHUTDOWN">
    <Service name="Catalina">
    	<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    	<Engine name="Catalina" defaultHost="localhost">
    		<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    		<Host name="otherlocalhost"  appBase="otherHostWeb" unpackWARs="true" autoDeploy="true">
    	</Engine>
	</Service>
</Server>

假设现在我有个网站 MyWeb1,里面有个 abc.html 页面,内容如下:

<h1>Hello World11111!!!</h1>

现在准备把 MyWeb1 部署到 Tomcat 服务器上,可以直接把 MyWeb1 网站丢到默认主机 webapps 下面。如下图示:

问题:怎么访问 webapps 主机下面的网站呢?

因为 webapps 主机下没有指定 path 访问前缀,所以默认就是 / 前缀。然后你想访问 webapps 下哪个资源文件,直接定位到路径即可,比如:abc.html 页面,访问路径:http://localhost:8080/MyWeb1/abc.html 即可。如果 MyWeb1 网站下有首页 index.html、index.jsp 等存在时,直接访问 http://localhost:8080/MyWeb1 就能够进入首页。同理,访问 webapps 主机下其他网站也是一个道理。

  • 比如 docs 网站,访问路径:http://localhost:8080/docs
  • 比如 manager 网站,访问路径:http://localhost:8080/manager
  • 比如 host-manager 网站,访问路径:http://localhost:8080/host-manager
  • 比如 examples 网站,访问路径:http://localhost:8080/examples

最后提醒下每个网站都会有自己的服务处理类 Servlet,而这些 Servlet 都是通过 WEB-INF/web.xml 集成进来。

隐式部署有点不友好就是必须要把网站应用放到 webapps 主机下(配置一台主机的情况下)。如果这个主机下文件过多,容易出错。

2、显示部署

Server.xml 文件中直接配置 Context 网站应用即可,如下:

<Server port="8005" shutdown="SHUTDOWN">
    <Service name="Catalina">
    	<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    	<Engine name="Catalina" defaultHost="localhost">
    		<Context path="/myWeb1" docBase="/Users/gwm/Downloads/MyWeb1" reloadable="true">
    	</Engine>
	</Service>
</Server>
  • appBase:相当于是一个主机的根目录 /,默认名称叫做 webapps
  • path:在 webapps 主机下会有多个网站,可以通过 path 来进行区分
  • docBasepath 访问网站文件具体目录,比如上面的 abc.html 就在 /Users/gwm/Downloads/MyWeb1 文件目录下。因为 docBase 可以指定网站资源文件位置,所以你就不用将网站再放到之前的 webapps 主机下面。

所以最终访问 abc.html 的路径是:http://localhost:8080/myWeb1/abc.html。

3、xml 配置部署

上面显示部署需要修改 Server.xml 全局配置文件。该文件非常重要,一般不要轻易修改,否则启动不了。所以就这里提供了另外一种部署方法,也是最常用的一种方法—xml 配置方式

当你运行一次 Tomcat 之后,Tomcat 会自动在 conf 文件目录下自动生成 /config/Catalina/localhost/ 目录。然后你就可以在这个目录下新建一个 xml 文件。xml 文件名称就是你网站的访问路径。比如新建一个 abc.xml 文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/Users/gwm/Downloads/MyWeb1" reloadable="true"></Context>

警告:这里注意声明 xml 配置时,第一行上面绝对不要有空行。否则这个 xml 文件不生效。

整体目录如下图示:

最终访问路径:http://localhost:8080/abc/abc.html 推荐使用第三种方式部署服务。修改的文件都是局部文件,不会影响到其他人的部署。

到此这篇关于Tomcat简单网站部署的三种方式小结的文章就介绍到这了,更多相关Tomcat网站部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tomcat 8.5 环境搭建步骤

    Tomcat 8.5 环境搭建步骤

    Tomcat是一个流行的开源Java Servlet容器,它提供了一个运行Java Web应用程序的平台,本文将为您提供关于如何搭建Tomcat 8.5环境的详细指南,感兴趣的朋友一起看看吧
    2024-01-01
  • 关于Tomcat虚拟路径访问本地图片失败的问题

    关于Tomcat虚拟路径访问本地图片失败的问题

    这篇文章主要介绍了Tomcat虚拟路径访问本地图片失败的问题,其实解决方法很简单,只需要在idea配置Tomcat时要把8080后面那个选项勾上,需要的朋友可以参考下
    2022-08-08
  • Tomcat与Netty的使用比较

    Tomcat与Netty的使用比较

    Tomcat是一个开源的Java Web应用服务器,支持HTTP和AJP协议,适用于中小型系统和并发访问用户不是很多的场合,Netty是一个基于NIO的Java框架,提供异步的事件驱动网络应用程序框架和工具,支持多种协议,适用于需要处理大量并发连接和高吞吐量的场景
    2026-01-01
  • maven项目远程部署&&使用tomcat配置数据库连接的方法

    maven项目远程部署&&使用tomcat配置数据库连接的方法

    这篇文章主要介绍了maven项目远程部署&&使用tomcat配置数据库连接,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Nginx/Httpd反代tomcat配置教程

    Nginx/Httpd反代tomcat配置教程

    这篇文章主要介绍了Nginx/Httpd反代tomcat配置教程以及一些常见的反代服务器,本文通过图文的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 使用jconsole监听远程Tomcat服务的方法

    使用jconsole监听远程Tomcat服务的方法

    这篇文章主要介绍了使用jconsole监听远程Tomcat服务,需要的朋友可以参考下
    2018-09-09
  • 在同一台服务器上配置多个Tomcat的方法

    在同一台服务器上配置多个Tomcat的方法

    本篇文章主要讲诉了在同一台服务器上配置多个Tomcat的方法,主要是解决端口冲突问题,有需要的可以了解一下。
    2016-11-11
  • 详解IDEA创建Tomcat8源码工程流程

    详解IDEA创建Tomcat8源码工程流程

    这篇文章主要介绍了详解IDEA创建Tomcat8源码工程流程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 解决Tomcat:One or more listeners failed to start.报错的问题

    解决Tomcat:One or more listeners failed&nb

    这篇文章主要介绍了解决Tomcat:One or more listeners failed to start.报错的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • tomcat之目录映射_动力节点Java学院整理

    tomcat之目录映射_动力节点Java学院整理

    一个web应用包含了许多我们做好的web资源,里面或许包括了多个静态web资源和动态web资源,而我们都知道服务器的虚拟目录映射有三种方式,具体哪三种方式,感兴趣的朋友可以通过本文学习
    2017-07-07

最新评论