Tomcat中的startup.bat原理详细解析
前言
在刚开始接触计算机,一开始就是win2000,所以对批处理脚本命令都不会。平时启TOMCAT都是鼠标双击startup.bat了,很少看过里面写的是什么,也借学习TOMCAT的机会学习一下批处理的常用命令,不求都记住,但求以后再见到批处理命令能看的懂,说的出是干什么的。本文主要给大家介绍了关于Tomcat中startup.bat原理的相关内容,下面话不多说了,来一起看看详细的介绍吧。
startup.bat 解析
验证CATALINA_HOME 环境变量是否设置,如果没有设置则通过CATALINA_HOME/bin目录下查找catalina.bat文件来确定CATALINA_HOME环境变量是否有效,如果没有找到catalina.bat 则goto end,结束。
验证catalina.bat是否存在,如果不能存在则结束。
判断启动 startup.bat 是否有参数,如果有参数,如果有有则赋值给 CMD_LINE_ARGS变量。
通过call执行catalina.bat ,并传入参数。
总结
startup.bat作用
通过分析发现startup.bat的作用就是帮你找到catalina.bat并执行它,除了帮你找到catalina.out并没有什么鸟用。
startup.bat好处
如果你配置CATALINA_HOME的环境变量了,就可以把startup.bat 放到任何目录下,都可以启动tomcat了
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
maven自动部署到远程tomcat服务器的方法
使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间. 本文章适用于tomcat的7.x ,8.x, 9.x版本. 下面是自动部的步骤 1,首先,配置tomcat的manager 编辑远程tomcat服务器下的conf/tomcat-users.xml,在末尾增加(其实只要拉到文件末尾,去掉注释改一下就可以了) <role rolename="manager-gui"/> <role rolename="m
-
tomcat共享多个web应用会话的实现方法
tomcat共享多个web应用会话的实现方法 问题 今天有位朋友问了个问题,大致是:tomcat下两个Java web,一个是商城,一个是直播,从商城登录后,再跳转到直播,发现处于非登录状态. 解决思路 将session抽出来成一个session服务,统一通过该服务操作session. tomcat内部用会话管理器获取会话时遍历所有context内的会话. 方案1 重写获取session方法即可. 方案2 找了源码发现已经支持类似遍历所有context内的会话的形式,首先获取session时,如
-
Tomcat中的catalina.bat原理详细解析
前言 本文主要给大家详细解析了关于Tomcat中catalina.bat原理的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. tomcat 的真正启动是在 catalina.bat 设置并启动的.startup.bat 只是找到catalina.bat 然后执行catalina.bat 来启动tomat的.下面我们来分析下catalina.bat 验证CATALINA_HOME 环境变量 验证CATALINA_HOME 设置是否正确,如果不正确,重新设置CATALIN
-
Tomcat实现session共享(session 会话复制)
一.如何保持session会话 目前,为了使web能适应大规模的访问,需要实现应用的集群部署.集群最有效的方案就是负载均衡,而实现负载均衡用户每一个请求都有可能被分配到不固定的服务器上,这样我们首先要解决session的统一来保证无论用户的请求被转发到哪个服务器上都能保证用户的正常使用,即需要实现session的共享机制. 在集群系统下实现session统一的有如下几种方案: 1.请求精确定位:session sticky,例如基于访问ip的hash策略,即当前用户的请求都集中定位到一台服务器中
-
修改Tomcat服务器默认端口号的实现方法
修改Tomcat服务器默认端口号的实现方法 一 修改方法 修改D:\apache-tomcat-7.0.81\conf\server.xml文件如下 二 测试 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
-
Centos7.3下Tomcat8的安装配置教程
本文为大家分享了Centos7.3安装和配置Tomcat8教程,供大家参考,具体内容如下 第一步:下载Tomcat8压缩包 进入http://tomcat.apache.org/download-80.cgi 下载tar.gz压缩包 第二步:用ftp工具把压缩包上传到/home/data/下 第三步:解压以及新建目录 [root@localhost ~]# ls /home/data/ apache-tomcat-8.5.16.tar.gz server-jre-8u131-linux-x64.
-
Tomcat中的startup.bat原理详细解析
前言 在刚开始接触计算机,一开始就是win2000,所以对批处理脚本命令都不会.平时启TOMCAT都是鼠标双击startup.bat了,很少看过里面写的是什么,也借学习TOMCAT的机会学习一下批处理的常用命令,不求都记住,但求以后再见到批处理命令能看的懂,说的出是干什么的.本文主要给大家介绍了关于Tomcat中startup.bat原理的相关内容,下面话不多说了,来一起看看详细的介绍吧. startup.bat 解析 验证CATALINA_HOME 环境变量是否设置,如果没有设置则通过CATA
-
直接双击启动tomcat中的startup.bat闪退原因及解决方法
免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录) SET TOMCAT_HOME=E:\tomcat-6.0.35
-
Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案
即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的webapps目录,然后在Tomcat的bin目录找到startup.bat批处理文件,直接双击执行,结果运行几秒后直接闪退,顿时有种不好的预感,在浏览器访问web项目,结果连localhost:8080都无法访问,web项目未发布成功,一脸懵逼~ 没有日志看不到为啥发布不成功额,想了想,可以稍微修改
-
vue.js diff算法原理详细解析
目录 diff算法的概念 虚拟Dom h函数 diff对比规则 patch patchVnode updateChildren 总结 diff算法的概念 diff算法可以看作是一种对比算法,对比的对象是新旧虚拟Dom.顾名思义,diff算法可以找到新旧虚拟Dom之间的差异,但diff算法中其实并不是只有对比虚拟Dom,还有根据对比后的结果更新真实Dom. 虚拟Dom 上面的概念我们提到了虚拟Dom,相信大家对这个名词并不陌生,下面为大家解释一下虚拟Dom的概念,以及diff算法中为什么要对比虚拟
-
golang切片原理详细解析
目录 切片的解析 切片的初始化 字面量初始化 make初始化 切片的截取 切片的复制 切片的扩容 总结 切片的解析 当我们的代码敲下[]时,便会被go编译器解析为抽象语法树上的切片节点, 被初始化为切片表达式SliceType: // go/src/cmd/compile/internal/syntax/parser.go // TypeSpec = identifier [ TypeParams ] [ "=" ] Type . func (p *parser) typeDecl(g
-
Golang Mutex 原理详细解析
目录 前言 Lock 单协程加锁 加锁被阻塞 Unlock 无协程阻塞下的解锁 解锁并唤醒协程 自旋 什么是自旋 自旋条件 自旋的优势 自旋的问题 Mutex 的模式 Normal 模式 Starving 模式 Woken 状态 前言 互斥锁是在并发程序中对共享资源进行访问控制的主要手段.对此 Go 语言提供了简单易用的 Mutex.Mutex 和 Goroutine 合作紧密,概念容易混淆,一定注意要区分各自的概念. Mutex 是一个结构体,对外提供 Lock()和Unlock()两个方法,
-
关于tomcat点击startup.bat后闪退问题的解决办法
问题:使用免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因:在启动tomcat是需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退. 解决办法: 1.在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑.在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录) SET TOMCAT_HOME=E:\tomcat-6.0.
-
Mybatis中的config.xml配置文件详细解析
经过前面的文章,我觉得对Mybatis的正题理解已经足够了,但是对Mybatis的使用,我觉得还是会有一点的模糊,就我个人而言,我觉得掌握好Mybatis框架,主要要明白三个文件,第一个就是等下要谈论的Mybatis-comfig.xml文件,还有就是**Mapper.xml,以及我们所定义的Mapper类,理解了这三个东西,然后有sql的基础,还有java的基础的话,后面不论是使用基于xml的方法,还是基于java-based Configuration的方法,都会简单的多. 废话不多说,现在
-
React函数式组件Hook中的useEffect函数的详细解析
目录 前言 useEffect的作用 useEffect的使用? 1.class组件 2.函数式组件 总结 前言 React函数式编程没有生命周期,因此需要借助useEffect来实现. useEffect的作用 发ajax请求获取数据 设置订阅/获取定时器 手动更改真实DOM useEffect的使用? 1.class组件 在class组件中可以使用生命周期函数,知道组件触发的过程. 代码如下(示例): import React, { Component } from 'react' expo
随机推荐
- 使用准则进行条件查询
- ExtJs之带图片的下拉列表框插件
- Java二进制操作(动力节点Java学院整理)
- asp.net Context.Handler 页面间传值方法第1/2页
- 使用图灵api创建微信聊天机器人
- PHP输出时间差函数代码
- Android通过startService播放背景音乐
- php正则表达式(regar expression)
- jQuery实现文本框邮箱输入自动补全效果
- 深入理解JavaScript系列(26):设计模式之构造函数模式详解
- java使用dom4j生成与解析xml文档的方法示例
- 一个炫酷的Bootstrap导航菜单
- Angular中支持SCSS的方法
- python函数式编程学习之yield表达式形式详解
- 详解.net core日记记录
- Java实现实时监控目录下文件变化的方法
- 微信小程序页面传多个参数跳转页面的实现方法
- 基于vue实现圆形菜单栏组件
- 对python中基于tcp协议的通信(数据传输)实例讲解
- linux安装python修改默认python版本方法