11. 使用tomcat中碰到的一些问题

这篇具有很好参考价值的文章主要介绍了11. 使用tomcat中碰到的一些问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

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

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

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

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

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

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

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

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

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

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

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

<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各版本特性

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

问题四:服务器的乱码和跨域问题

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java

问题五: 在tomcat\webapps\下创建文件夹为什么tomcat重启就会丢失

1.修改/tomcat/conf/web.xml文件

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
</servlet>

2.修改/tomcat/conf/server.xml文件

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
<!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
<!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
<!-- Access log processes all example. Documentation at: /docs/config/valve.html -->
<!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
 prefix="localhost_access_log." suffix=".txt" pattern="common"  resolveHosts="false"/> -->
<!--<Context path="/ser" docBase="D:\project\myProject\editor\WebRoot"></Context>-->
 <!--<Context path="/mvc" docBase="D:\project\myProject\你的项目名\WebRoot" </Context>-->
</Host>

3.总结

重新redeploy的时候,tomcat会同步你本地的文件 ,因为本地没有相应的文件夹导致文件丢失。
这只是在开发过程中会遇到的问题实际应用中tomcat会startup.bat/shutdown.bat。
我们这样做,其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到工程了,
上传的图片就不会仅仅只在/tomcat/webapps/目录,而直接到了你的工程里,
不管你怎样重启项目,或者清理缓存,上传的文件依然存在!

问题六:Tomcat启动报java.io.EOFException错误

信息如下

2019-11-25 10:24:05 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2019-11-25 10:24:05 org.apache.catalina.session.StandardManager doLoad
严重: IOException while loading persisted sessions: java.io.EOFException
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
	at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
	at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
	at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
	at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:465)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5025)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:570)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1010)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:933)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1267)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:328)
	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:308)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1043)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:596)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
2019-11-25 10:24:05 org.apache.catalina.session.StandardManager startInternal
严重: Exception loading sessions from persistent storage
java.io.EOFException
	at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
	at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
	at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
	at org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
	at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:465)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5025)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:570)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1010)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:933)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1267)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:328)
	at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:308)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1043)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:738)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1035)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:289)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:442)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:674)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:596)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
2019-11-25 10:24:05 org.apache.catalina.startup.HostConfig deployDirectory
错误的原因是:EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败。
这是由于tomcat上次非正常关闭时有一些活动session被持久化(表现为一些临时文件),
在重启时,tomcat尝试去恢复这些session的持久化数据但又读取失败造成的。此异常不影响系统的使用。

11. 使用tomcat中碰到的一些问题,# 5. Web服务器,tomcat,firefox,java文章来源地址https://www.toymoban.com/news/detail-630220.html

可以看到,我正在使用的项目中多了一个sessions.ser文件,把此文件删除即可tomcat即可正常的使用.
如果你的项目中不知道是哪个项目引起的.就把Catalina目录下的所有文件删除,即可.

问题七:解决跨域问题

protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setHeader("Access-Control-Allow-Credentials", "true");
		resp.setHeader("Access-Control-Allow-Origin", req.getHeader("origin"));
		resp.setHeader("Access-Control-Allow-Methods", "*");
		resp.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
		resp.setContentType("application/json");
		resp.setCharacterEncoding("utf-8");
		super.doOptions(req, resp);
	}

到了这里,关于11. 使用tomcat中碰到的一些问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Web服务器】Tomcat的部署

       Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 wab应用服务器 ,是 Apache软件基金会的 Jakarta项目中的一个核心项目,由 Apache 、Sun 和其他一些公司及个人共同开发而成。    Tomcat属于轻量级应用服务器 ,在中小型系统和并发访问用户不是很多的场合

    2024年02月11日
    浏览(41)
  • Web 服务器 -【Tomcat】的简单学习

    1.1 什么是Web服务器 Web服务器是一个应用程序( 软件 ),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是\\\"提供网上信息浏览服务\\\"。 Web服务器是安装在服务器端的一款软件,将来我们把自己写的Web项目部署到Web Tomcat服务器软

    2024年02月13日
    浏览(43)
  • tomcat---企业高性能web服务器

    目录 1.tomcat的简介 2.tomcat安装 3.tomcat中重要的目录及路径  编写一个tomcat的启动脚本 4.tomcat的web站点的部署 如果需要修改首页文件: 5.tomcat的虚拟主机部署 tomcat是一款开源免费的web应用服务器,在中小型企业及并发访问不是很高的情况下使用,是开发和调试jsp首选。但是t

    2024年02月13日
    浏览(53)
  • Web服务器-Tomcat详细原理与实现

    :MAC 安装配置使用Tomcat - 掘金 安装后本计算机就相当于一台服务器了!!! 方式一:使用本地安装的Tomcat 1、将项目文件移动到Tomcat的webapps目录下。 2、启动Tomcat 3、在浏览器输入想要加载的项目资源URL即可 方式二:使用IDEA中集成的Tomcat 在IDEA内配置Tomcat直接搜 写好业务类

    2024年02月10日
    浏览(44)
  • 记录在jenkins中自动部署maven项目时碰到的一些问题

    这个报错就是从解析pom开始报错的,由于我的仓库目录是/opt/maven/repository/,jenkins没有权限访问导致此报错,只要放开权限就行了 这个报错和jdk版本有关,主要我用的jenkins默认的jdk是11,而我的项目使用的是8,所以在编译java8一类的项目时,总会出现这个报错,但是对整体流

    2024年02月05日
    浏览(79)
  • SpringBootWeb入门、HTTP协议、Web服务器-Tomcat

    目录 一、SpringBootWeb入门 二、HTTP协议 HTTP-请求协议 HTTP-响应协议 HTTP-协议解析 三、Web服务器-Tomcat 服务器概述 Tomcat 直接基于SpringFramework进行开发,存在两个问题:配置繁琐、入门难度大 通过springboot就可以快速的帮我们构建应用程序,所以springboot呢,最大的特点有两个 :

    2024年01月15日
    浏览(43)
  • 企业级高负载web服务器-Tomcat小项目

    静态页面: 在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS (前端功能实现)、CSS (样式)等)通常 被称为\\\"静态网页\\\" 特点: 处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等2. 地址中不含有问号\\\"?\\\"或等特殊符号。 保存在网站服务器文件系统上的,是

    2024年02月14日
    浏览(52)
  • SpringCloud使用nacos注册微服务,undertow为web服务器时,微服务下线问题

    服务下线时抛出异常: 出现错误原因:         由于服务下线时触发关闭Hook,undertow在nacos之前先关闭了,导致naocs取不到undertow里面的对象,导致空指针异常 处理方式:         1、这里导致服务无法下线,故可以重写这个 naocs 的 Hook         2、调整NacosWatch关闭顺序,在

    2024年02月11日
    浏览(43)
  • IDEA社区版搭建Tomcat服务器并创建web项目

    创建Web项目的目录结构 可以启动Tomcat服务器 编写Servlet并访问成功 IDEA社区版没有创建Web工程的选项 IDEA社区版没有Tomcat插件 针对以上两个问题,分步解决 问题一:IDEA社区版没有创建Web工程的选项 创建普通的java项目,此处不再赘述 构建web项目的目录结构 设置编译目录 在

    2023年04月26日
    浏览(62)
  • 搭建第一个Web服务器(在eclipse或idea上部署Tomcat服务器)

    💻博主现有专栏:                 C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等 🥏主页链接:     

    2024年04月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包