当前位置: 首页 > news >正文

tomcat常见错误及解决方案

      tomcat常见错误及解决方案

 

  不管是初学者还是有经验的web程序员,使用Tomcat容器的时候会发生包括404,运行启动错误,以及乱码等等的问题,现在我将开发过程中遇到的常见错误和简单解决方法贴出来供大家看看,里面有部分是同事总结,我们共同完成的这篇文章。。。

一,tomcat启动时错误

  1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;

Re:没有在在tomcat的配置文件.bash_profile中设置环境变量JAVA_HOME,具体设置方法为:加入如下几行:

   JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)

   export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jar

   export CLASSPATH

2。 Error occurred during initialization of VM Could not reserve enough space for object heap

Re:在tomcat的bin目录下,catalina.sh文件的tomcat内存参数配置过大,超过机器可用内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"

3 . tomcat启动时报某个目录没有权限,启动失败,或者不能执行某些jsp页

Re:tomcat需要tomcat用户具有一些目录和文件的相应权限, 所有目录应该具有读写执行(浏览)的权限,jsp,class文件应该最少具有读权限, 一些文件需要写权限,下面是已知的需要读写权限文件的列表:

       $CATALINA_HOME/logs下所有文件

       $CATALINA_HOME/work下所有文件

       $CATALINA_HOME/publish/main/count.txt文件

       $CATALINA_HOME/publish/chatroom/resource下的所有.xml文件

       所有上传图片目录都需要写权限。

       改变文件目录权限的方法:执行下面命令,设置所有的tomcat安装下的文件和目录,可以保证执行,但是不是很安全。

1. 设置tomcat上级目录/opt所有用户都有读写执行权限:

chmod 777 [tomcat的上级目录]

2. 设置tomcat5.0.28目录下的所有文件的属主为tomcat:

      chown -R tomcat [tomcat安装目录]

3. 设置所有tomcat5.0.28下的所有文件和目录的属主(tomcat)具有读写执行权限

chmod 700 -R /opt/tomcat5.0.28

4.  执行startup.sh文件后告诉地址已经使用,导致tomcat不能启动

Re:可能是前一次执行./shutdown.sh文件关闭tomcat时没有停止已经启动的java进程,而这个进程仍然在监听tomcat所使用的端口,或者有另外一个tomcat正在运行,server.xml文件中的监听端口和当前tomcat冲突。

   使用下面命令查看当前系统是否有正在监听的端口(8080--webcache, 90--www或http).

1. 列出所有系统正在监听的端口和绑定的地址netstat -l

2. 找出当前系统中的所有进程,管道符号过滤输出显示包含java字符串的行

     ps -A |grep java       

       tty   time        proc

     1021     ?      java   

3. 结束一个指定的进程:

     kill   [进程号]

4. 强制杀死一个进程:

      kill -9 [进程号]

     如果确定不是别的tomcat运行导致的冲突或者没有java进程运行可以再次运行startup.sh文件启动tomcat

二  Tomcat 运行时错误及解决

1. org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Network error IOException: Connection refused: connect)
2. Caused by: java.sql.SQLException: Network error IOException: Connection refused: connect
3. Caused by: java.net.ConnectException: Connection refused: connect

Re:数据库未开情况下运行tomcat出现的问题,把数据库打开就行了

4.java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
at net.sf.cglib.core.ClassEmitter.begin_class(ClassEmitter.java:77) 这个问题是最最常见的,第一次整合ssh的时候会发现这个问题,有时候删除掉相关的包还是会冲突。所以解决办法我一般是:

Re:把MyEclipse中的Hibernate中的有关ASM的包全部删除,将spring中asm包拷贝进去重启就Ok了,有时候需要删除其他文件,到网上找找吧;

还有个解决办法:Spring 和 Hibernate 共用的一些 jar 文件发生了版本冲突, 删除 WEB-INF/lib/asm-2.2.3.jar 然后重启 Tomcat.


5 .javax.servlet.jsp.JspException: Invalid argument looking up property usersVO.account of bean loginForm

Re,一般提示这种错误表示VO中的form没有实例化,在reset方法中new一下就Ok了。养成良好的编码习惯可以避免这种简单错误。

6.严重: Exception loading sessions from persistent storage

Re:tomcat安装目录\work\Catalina\localhost\{webAppName}\SESSIONS.ser,删除此文件

三 .数字提示错误

  •   出现404错误是因为你所请求的页面不可用!这是response对象的http响应中的状态行404表示当前请求的页面不可用!
  •   200表示测试通过。
  •   500表示服务器内部发生错误等!

转载于:https://www.cnblogs.com/zhaozhaozhang/p/5826069.html

相关文章:

  • rlwrap解决 Oracle sqlplus 在linux 上下文切换乱码问题
  • jquery监听事件on写法以及简单的拖拽效果
  • 配置.pch文件路径。
  • 设计模式之Facade,Adapter, Proxy
  • 使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer
  • 通讯录--(适配iOS7/8/9)
  • delphi关键字
  • JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍...
  • Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。 自适应表格,自定义行列...
  • Zabbix监控之Redis自动发现并监控(python)
  • SQLServer · 特性分析 · SQL Server 2012的分析函数未必都理解透了(1)
  • 重定向Http status code 303 和 302
  • 输入一组数组,回车结束
  • Java反射在JVM的实现
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • gf框架之分页模块(五) - 自定义分页
  • HashMap ConcurrentHashMap
  • Javascript Math对象和Date对象常用方法详解
  • use Google search engine
  • Vue 2.3、2.4 知识点小结
  • Webpack 4x 之路 ( 四 )
  • webpack4 一点通
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 阿里云应用高可用服务公测发布
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 搭建gitbook 和 访问权限认证
  • 复杂数据处理
  • 机器学习 vs. 深度学习
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何利用MongoDB打造TOP榜小程序
  • 微信小程序实战练习(仿五洲到家微信版)
  • 携程小程序初体验
  • 用jQuery怎么做到前后端分离
  • 责任链模式的两种实现
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​虚拟化系列介绍(十)
  • (1)bark-ml
  • (2020)Java后端开发----(面试题和笔试题)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C++17) optional的使用
  • (java)关于Thread的挂起和恢复
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (四) Graphivz 颜色选择
  • (学习日记)2024.02.29:UCOSIII第二节
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .bat批处理(一):@echo off
  • .Net core 6.0 升8.0