Tomcat问题集

  • I.在启动Tomcat过程中遇到了问题:
    Tomcat在Eclipse中正常启动,但在浏览器中用Http://localhost:8080/打开得到的时404
    解决过程:
    一开始时更改Server设置,设置将发布时将项目放置到到tomcat安装目录下的webapps目录中,而不是Ecliptic默认的workplace路径。但依旧未解决问题。接着考虑其他因素:端口被占用或者是jdk路径不对,分析这两个原因必须从cmd启动Tomcat
    因为在Eclipse中启动有些错误不会提示。在cmd中启动时,出现了意外的情况:jre路径不对!!考虑到刚更换过jdk和jre,怀疑时环境变量不对,查看环境变量,发现jre的路径指向bin目录,怀疑应该于jdk不同,指向jre根目录即可,更换后果然成功
    收获:
    0IDE开发很方便,但因为时顶层开发工具,有些错误可能不会提示,因此有时出现错误时应当从开发的底层分析原因

    在解决了上述问题后,再重启Tomcat后还是出现了同样的问题,
    因此彻底删除server,重新配置后成功

  • II.进入manage.html时需要在tomcat安装目录下的conf中的tomcat-user.xml中设置角色和权限
    值得注意的是,tomcat6之后的角色不是一个manager,而是由四个:manager-gui,manager-script,manager-jmx,manager-status。

    但在重启tomcat之后,tomcat-user.xml的内容被还原了,查找资料知道:
    因为已经在设置角色和权限之前,server已经被创建.因此,重启tomcat时,server会根据之前的tomcat-user.xml重写tomcat目需下的tomcat-user.xml,所以要么删除server,要么在server的tomcat-user.xml中更改

  • III.遇到了人生第一个由jdk版本引起的问题:

    • 背景:
      在jdk9以后,删除了Djava.endorsed.dir机制(该机制用于jvm使用非原生的javase基础jar包,如按需求修改过的ArrayList包),因此当出现%JAVA_HOME\bin\endorsed环境变量或者java目录下出现lib\endorsed(使用Djava.endorsed.dir机制的条件)时jvm无法启动
    • 问题:
      但在eclipse对tomcat参数配置中未取消该路径,导致启动server时无法启动jvm,出现报错解决方案:右击run as,再右击出现的run configuration,将Tomcat v9.0 Server at localhost中vmargument中%JAVA_HOME\bin\endorsed删除并保存即可
    • 结果:
      无法持续性更改run configuration,只能更换jdk,更换了jdk版本后会出现项目出现红叉而项目内部无报错文件,此时的问题是,项目的java版本与eclipse的java版本不一致
    • 解决方法:
      右击项目property,检查各处java版本配置是否一致,体现在三个地方:build path中jre版本,java compiler版本,project facets中java版本使各处java版本配置一致后,出现无法将web项目加载到tomcat上,此时的问题出现在tomcat上,打开preference,点进server-tomcatv9.0,发现出现错误提示:没有找到对应的jre,原来是更换jdk的时候顺便将jre也更换了,因此需要重新配置,按照提示配置之后即可加载了。

你可能感兴趣的:(Tomcat问题集)