tomcat服务器是apache下非常优秀的一款web服务器,当今的互联网企业中90%左右的中小型企业使用的都是tomcat。tomcat在部署项目时有很多很多的解决方案,这些你都清楚吗?

1、同一个端口部署多个项目

在webapps下同时防止多个项目,那么在tomcat启动的时候,这些项目都会跑起来。这一点想必大家都知道,在我们初次安装tomcat的时候,webapps下面就有多个项目。这些项目可以相互独立也可以相互影响,比如通过页面重定向技术就可以让本来独立的项目相互影响起来。

2、默认项目

刚安装好tomcat的时候我们会启动它,然后在浏览器里直接输入localhost:8080,然后就会进入相关页面,这时老师往往会告诉你安装成功了。但你知道为什么你不输入项目名称直接输入ip和端口号就直接可以访问吗?其实,tomcat有默认的规则,webapps下的项目如果有ROOT名称的项目,那么这个项目就作为默认项目,访问的时候你就不需要加上项目的名称。其次,他为什么可以直接访问的相关的主页呢?原因在于web.xml这个文件里面的<welcome-file-list>标签,你可以在这里配置项目中默认访问的主页。

当然,你不必每次发布项目时都把自己的项目改名为ROOT,还有另外的一种处理方式,就是重写ROOT项目名称,ROOT名称是tomcat源码里面默认的一个项目名称,但是他也为我们开发者提供了一个便利的手段,通过配置server.xml来实现。我们需要在<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">的标签里面配置<Context path="" docBase="\istone-mngwx" debug="0" reloadable="true" />标签就可以了,其中docBase表示重写ROOT的项目名称,path表示虚拟访问路径,空白表示直接可以通过ip加上port就可以访问了。当然前提如果需要修改默认主页的话,需要在web的xml里面修改。

3、https协议

tomcat不仅支持http协议还支持https协议,有的时候我们需要将自己的项目发布成https的,那我们就需要在tomcat里面配置了。首先第一步当然需要得到ssl证书,如果自己开发测试就完全可以使用apache的工具自己制作证书了。tomcat支持同一个项目使用不同的端口进行访问,我们完全可以配置另外一个端口走https协议,

<Connector port="9898" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="E:\GRG项目\paybill\apache-tomcat-7.0.69-windows-x64\apache-tomcat-7.0.69\tomcat.keystore"
keystorePass="tomcat"/>

4、同一个tomcat部署不同端口不同项目

虽然大多数一个tomcat部署一个项目,多个项目的话就开启多个tomcat,当然在开启多个tomcat的时候,里面的各个端口号最好都做相应的修改。然后通过不同的端口来部署各自的项目。但是对于题目中的这种需求,tomcat也是可以实现的。我们只需要在tomcat的server.xml文件里配置多个service就可以了。然后再service里面配置端口等信息。

  <Service name="Catalina1">
<Connector port="8098" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8067" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>

最近在部署项目时候遇到了一点问题,于是就把tomcat容器好好研究了一番,突然发现不起眼的tomcat竟然还有如此多的功能,当然这只是tomcat的冰山一角,tomcat8开始的新的NIO访问机制,这都是一些比较底层的东西,有时间的话还是应该看看源码研究一下。

tomcat的相关使用的更多相关文章

  1. Liunx下的有关于tomcat的相关操作 && Liunx 常用指令

    先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...

  2. tomcat守护相关

    tomcat守护相关(centos7) 今天在部署自己的服务到CentOS7服务器上tomcat中时,担心服务宕机想守护一下服务程序,于是现在网上找了一个用while写的循环守护脚本,后来发现这种方式 ...

  3. 第一次项目上Linux服务器(三:安装Tomcat及相关命令)

    一.下载Tomcat 去官网:http://tomcat.apache.org/ 找到要下载的Tomcat 本人下载的是apache-tomcat-8.5.29.tar.gz,百度云资源链接:链接:h ...

  4. tomcat的相关

    [针对tomcat修改,那么就直接找关于tomcat的相关文件目录进行修改即可] 1.对tomcat进行相关的操作,启动tomcat时,让其不要出现tomcat主页,与之相反的让其出现404的界面! ...

  5. Tomcat中相关配置详解

    tomcat的相关配置 server.xml <Server port="8005" shutdown="SHUTDOWN"> <!-- 属性 ...

  6. Tomcat服务相关

    1. 将Tomcat安装成服务. 找到bin\service.bat文件,往cmd命令行窗口一拉,如果只提示service /remove [../..]那就是Tomcat和java的路径配置没问题. ...

  7. Tomcat的相关配置

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  8. Eclipse中tomcat之后,tomcat的相关配置会被Eclipse重置

    之前用MyEclipse,在tomcat的conf中修改了配置文件,启动就OK了. 现在改用Eclipse,发现改了,之后发现没有用,Eclipse重启tomcat之后,配置文件就被重置了. 众里寻他 ...

  9. Apache整合Tomcat的相关问题

    一.概述 在开发中遇到一个问题,tomcat 与Apache服务器适配的问题.客户那边是用wampserver这个集成软件,Aapche版本为2.4.9.想要将tomcat上的jsp显示在Apache ...

随机推荐

  1. CF709A Juicer 模拟

    Kolya is going to make fresh orange juice. He has n oranges of sizes a1, a2, ..., an. Kolya will put ...

  2. i++操作非原子的验证代码

    package incre; public class Incre { public static void main(String[] args) { class Count implements ...

  3. vscode 配置 java utf-8 编码

    utf-8 编码 和 lombok 的 配置 "java.jdt.ls.vmargs": "-noverify -Xmx1G -XX:+UseG1GC -XX:+UseS ...

  4. Luogu P1120 小木棍 [数据加强版] 来来来我们一起来剪枝,剪枝,剪枝、、、

    好啊...太棒了... dfs(拼到第几根木棍,这根木棍剩余长度,上一根木棍的位置) len是木棍的长度,cnt是木棍的个数 震撼人心的剪枝: 1.枚举长度从最大的木棍开始,直到sum/2,因为之后只 ...

  5. 1001 害死人不偿命的(3n+1)猜想 (15)(15 分)

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...

  6. HDU1398 Square Coins

    Description People in Silverland use square coins. Not only they have square shapes but also their v ...

  7. PreparedStatement是如何防止SQL注入的?

    为什么在Java中PreparedStatement能够有效防止SQL注入?这可能是每个Java程序员思考过的问题. 首先我们来看下直观的现象(注:需要提前打开mysql的SQL文日志) 1. 不使用 ...

  8. jgroups-raft

    要求 Java 8 支持 实现服务器的动态添加和删除 文档的编写 基于复制计数器的共识算法实现 https://github.com/belaban/jgroups-raft

  9. linux查看当前用户登陆信息

    @(Linux基础)[linux查看当前用户登陆信息] linux查看当前用户登陆信息 作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正 ...

  10. 性能测试工具LoadRunner21-LR之Controller 常用函数

    1.事务函数: Lr_start_transaction();  //标记事务的开始 Lr_end_transaction();  //标记事务的结束,一般情况下,事务开始与结束联合使用 Lr_get ...