前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat乱码与端口占用的解决方案

Tomcat乱码与端口占用的解决方案

作者头像
Java架构师必看
发布2020-04-10 14:53:38
4200
发布2020-04-10 14:53:38
举报
文章被收录于专栏:Java架构师必看Java架构师必看

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。但是有些小伙伴在启动Tomcat时也会遇到各种各样的问题,比如Tomcat的startup.bat启动后出现乱码,端口占用,启动后闪退等问题,这里我们来一一进行解决

问题一:Tomcat的startup.bat启动后出现乱码

在这里插入图片描述
在这里插入图片描述

找到Tomcat文件下的conf目录,修改logging.properties文件中java.util.logging.ConsoleHandler.encoding对应的值为GBK

在这里插入图片描述
在这里插入图片描述

重启Tomcat,你看到的启动页面是这样的话,说明乱码问题已经解决

在这里插入图片描述
在这里插入图片描述

问题二:一闪而退之端口占用

启动Tomcat出现一闪而退的现象,其实还是可以看到Tomcat终端输出的日志,这时你需要迅速截图捕获异常,太南了。

在这里插入图片描述
在这里插入图片描述

最正确的方法是查看日志,找到Tomcat目录下的logs目录中catalina当天的日志,我这里找到的是C:\develop\Tomcat\apache-tomcat-8.5.47\logs\catalina.2019-10-17.log,在日志中可以看到类似这样的输出,Address already in use: bind说明是端口占用了

代码语言:javascript
复制
17-Oct-2019 11:14:30.521 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8080]]
	org.apache.catalina.LifecycleException: Protocol handler initialization failed
		at org.apache.catalina.connector.Connector.initInternal(Connector.java:995)
		at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		at org.apache.catalina.core.StandardService.initInternal(StandardService.java:552)
		at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:848)
		at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
		at org.apache.catalina.startup.Catalina.load(Catalina.java:639)
		at org.apache.catalina.startup.Catalina.load(Catalina.java:662)
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:498)
		at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309)
		at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
	Caused by: java.net.BindException: Address already in use: bind
		at sun.nio.ch.Net.bind0(Native Method)
		at sun.nio.ch.Net.bind(Net.java:433)
		at sun.nio.ch.Net.bind(Net.java:425)
		at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
		at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
		at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:219)
		at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1118)
		at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:224)
		at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581)
		at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:68)
		at org.apache.catalina.connector.Connector.initInternal(Connector.java:993)
		... 13 more

在Tomcat目录找到conf目录中的server.xml配置文件,在Connector标签中修改Tomcat启动端口

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

问题三:非端口问题的一闪而退

启动Tomcat直接一闪而退,在logs目录的日志里面找不到错误信息,这个时候很大可能是因为Tomcat与JDK版本不对应导致的,有可能你的Tomcat是Tomcat9版,而你的JDK是1.7版本的,Tomcat与JDK版本对应关系可以参考这篇文章Tomcat与JDK版本对应关系,Tomcat各版本特性

本文由来源 ThinkWon的博客,由 system_mush 整理编辑,其版权均为 ThinkWon的博客 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题一:Tomcat的startup.bat启动后出现乱码
  • 问题二:一闪而退之端口占用
  • 问题三:非端口问题的一闪而退
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档