Windows下使用Tomcat
tomcat简介
Tomcat是一个开源、免费、轻量级的web服务器,只支持部分JavaEE规范(Servlet、JSP),适合部署中小型、并发访问量不大的web项目,是部署中小型Java Web项目的首选。
Tomcat和Nginx、Apache等Web服务器一样,具有处理静态资源的能力,但Tomcat处理静态HTML的能力不如Nginx、Apache。
一般使用Nginx+Tomcat,Nginx处理静态资源,Tomcat处理动态资源。

Tomcat就是Servlet容器。
tomcat的目录结构
下载tomcat的zip压缩包,
- bin 存放启动和关闭tomcat的脚本
- conf 存放tomcat配置相关的文件,主要包括server.xml(tomcat服务器的主要配置文件)、web.xml(为部署的web应用设置默认值的文件)
- lib 存放Tomcat运行需要的jar包
- logs 存放Tomcat的日志文件
- temp 存放临时文件
- webapps web app的根目录,主要用于部署web项目。里面有几个tomcat自带的web项目,root是根项目——tomcat的控制台,127.0.0.1:8080显示的那个。
- work 存放Tomcat运行时的临时文件(主要是JSP编译出的Servlet的.java和.class文件),如在Tomcat运行时删除此目录,JSP页面将不能运行
环境变量的配置
- CATALINA_HOME 值是tomcat的主目录
注意是主目录,不是主目录下的bin目录。
tomcat依赖jdk,需要设置jdk的环境变量。
设置之后就可以双击startup.bat启动tomcat了。
如果要在命令行下操作tomcat,有2种方式:
- 在PATH环境变量中添加tomcat的bin目录。此种方式在命令提示符的任意路径下都可启动、关闭tomcat。
- 先把当前路径切换到tomcat的bin目录(程序所在目录),再执行启动、关闭命令。
在命令提示符下,执行java、javac也是同样的道理。
tomcat的2种启动、关闭方式
双击bin下的startup.bat启动,双击shutdown.bat关闭
命令行下startup启动,shutdown关闭
如果tomcat启动不了,可以在命令行下启动试试。
启动tomcat后,在浏览器地址栏输入localhost:8080,或者127.0.0.1:8080,可转到tomcat服务器的控制台。
startup.bat只是tomcat的启动入口,和编程中的主类、主函数差不多,只是程序入口,调用其它模块就行了。
startup.bat实际是调用catalina.bat来完成启动的,catalina.bat负责启动,startup.bat只负责调用catalina.bat。
tomcat启动不了的常见原因
- 环境变量未配好,参考上面环境变量的配置
- 其它程序占用了8080端口
比如已经有一个启动的tomcat了、IDEA中正在使用tomcat进行调试,或者8080端口被其它程序占用。
apache使用的端口号默认是80,tomcat使用的端口号默认是8080。
如果url中未指定端口号,浏览器默认使用80端口。服务器使用的不是80端口时,我们需要手动在域名|IP地址后面指定端口号。
一个程序可以使用多个端口,但一个端口不能同时被多个程序使用。
命令提示符 netstat -ano 查看正在使用的端口

也可以使用netstat -ano | findstr 8080 直接查看8080端口:

8080引不引都行
如果端口号被占用,有2种解决方式:
- 关闭使用8080端口的其它程序:打开任务管理器,结束PID对应的进程。
- 修改tomcat的端口号:conf -> server.xml
<Connector port="" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />将8080改为其它未使用的端口号。
访问时,浏览器地址中的端口号也要换为对应的。
解决tomcat窗口中文乱码

中文乱码原因:
windows的控制台(黑框框)默认使用gbk,tomcat的日志默认使用utf-8(tomcat会把日志输出到黑框框、log文件夹下的日志文件中)。
tomcat用utf-8编码日志,把日志输出给windows的黑框框,windows使用gbk来解码,显式日志信息,
utf-8用3个字节表示一个中文字符,gbk用2个字节表示一个中文字符,对不上,解析不了,乱码。
英文都是1个字节,都是ASCII码,能解析,正常显示。
解决方式:
conf -> logging.properties -> 搜索console:
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
tomcat使用的是jdk自带的日志处理器。
一看到console,就知道是输出到控制台的日志,将UTF-8改为GBK,重启tomcat即可。
Windows下使用Tomcat的更多相关文章
- 如何在Windows下安装Tomcat服务器
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选服务器.在Windows下安装 ...
- windows下注册tomcat服务以及设置jvm参数
注册服务: 1 >cd /d D:\Java\tomcat-7.0.57-Css\bin //进入目录 1 >service.bat install //注册服务,同理删除服务为 rem ...
- 【Tomcat】 windows下注册tomcat服务以及设置jvm参数
注册服务: 1 >cd /d D:\Java\tomcat-7.0.57-Css\bin //进入目录 1 >service.bat install //注册服务,同理删除服务为 rem ...
- Windows下apache+tomcat负载均衡
Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...
- windows下配置tomcat服务器的jvm内存大小的两种方式
难得遇到一次java堆内存溢出(心里想着,终于可以来一次jvm性能优化了$$) 先看下报错信息, java.lang.OutOfMemoryError: GC overhead limit excee ...
- 从零开始学 Java - Windows 下安装 Tomcat
谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...
- 让Windows下的Tomcat将控制台信息记录到日志
在开发的过程中经常出现包冲突,却不知道怎么回事,可以在 catalina.bat 里面设置查看class加载日志 set CATALINA_OPTS=-server -Xdebug -Xnoage ...
- Linux和windows下修改tomcat内存
原文地址:https://www.cnblogs.com/wdpnodecodes/p/8036333.html 由于服务器上放的tomcat太多,造成内存溢出. 常见的内存溢出有以下两种: java ...
- Windows下安装tomcat
一.Tomcat下载与安装: 1.直接到官网下载Tomcat安装程序包:http://tomcat.apache.org/ 2.下载下来后是个压缩包,如:apache-tomcat-8.0.26,解压 ...
随机推荐
- MVC 拦截器
https://www.cnblogs.com/blosaa/archive/2011/06/02/2067632.html
- leetcode刷题-- 4. 贪心
贪心 455分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定单词首字母大写
<!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...
- 解题报告:luogu P5745 【深基附B例】数列求和
题目链接:P5745 [深基附B例]数列求和 现在想说:\(O(N)\)的题要不怎么也想不出来,要不灵光乍现,就像这道题. 我们维护一个类似单调队列的加法单调队列: 若相加大于此数,就将队尾元素弹出, ...
- UniGUI 之UniDBGrid(05)
UniGUI 之UniDBGrid(05) 目录1]DataSource设置2]显示MEMO类型里的文字3]显示悬浮提示4]显示当前记录及总记录数5]读取所有记录,及分页6]在前面加上序号列7]不显示 ...
- Write-up-Bulldog2
关于 下载地址:点我 哔哩哔哩:哔哩哔哩 信息收集 网卡:vboxnet0,192.168.56.1/24,Nmap扫存活主机发现IP为192.168.56.101 ➜ ~ nmap -sn 192. ...
- QQ企业通--客户端登陆模块设计---知识点
AutoValidate 枚举 确定控件在失去用户输入焦点时应如何验证其数据. 成员名称 说明 Disable 将不进行隐式验证.设置此值将不会妨碍对 Validate 或 ValidateChil ...
- 【剑指Offer面试编程题】题目1352:和为S的两个数字--九度OJ
题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输入: 每个测试案例包括两行: 第一行包含一个整数n和k, ...
- CodeBlocks_OpenGL配置
CodeBlocks版本:13.12 下载OpenGL配置文件 1.glut.dll glut32.dll放入系统盘Windows\System32文件夹 2.glut.h放入CodeBlocks安装 ...
- EJS 高效的 JavaScript 模板引擎
什么是 EJS? "E" 代表 "effective",即[高效].EJS 是一套简单的模板语言,帮你利用普通的 JavaScript 代码生成 HTML 页面 ...