精华内容
下载资源
问答
  • tomcat常见错误及解决方案  不管是初学者还是有经验的web程序员,使用Tomcat容器的时候会发生包括404,运行启动错误,以及乱码等等的问题,现在我将开发过程中遇到的常见错误和简单解决方法贴出来供大家看看,...

          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

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

    我们习惯的web容器都是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表示服务器内部发生错误等!  

    展开全文
  • Tomcat启动错误及解决方法总结

    千次阅读 2015-01-18 20:57:22
    在启动tomcat的时候总是会遇到一些意象不到的错误,有时候...这里总结了几种常见tomcat启动错误解决方法: 1,java.lang.NullPointerException at org.apache.jsp.login_jsp._jspInit(login_jsp.java:22) 如下图

    在启动tomcat的时候总是会遇到一些意象不到的错误,有时候这些错误会耽误你许多的时间去解决,但是正因为有错误才让我们去寻找解决它的方法,这回让我们进步,

    这里总结了几种常见的tomcat启动错误的解决方法:

    1,java.lang.NullPointerException  at org.apache.jsp.login_jsp._jspInit(login_jsp.java:22) 如下图所示:


    在最近的项目部署时出现了这个错误,解决办法具体问题具体分析:

    1)工程里面的jar包和tomca中的jar包冲突导致,删除工程里的jsp-api.jar和servlet-api.jar两个jar包,或者删除tomcat下面的这两个jar包。

    2)  tomcat版本问题,我用tomcat6部署项目的时候,还是出现这个问题,无论怎么删除jar包都不行。后来下载了个tomcat7重新部署了一下,又引出了第二个问题。


    2 ,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory

    这是因为我原来已经使用了tomcat7,后来用myeclipse中的tomcat6.x来配置tomcat7,;MyEclipse的版本还不支持tomcat7,tomcat中没有tomcat7时就会使用tomcat6.x配置就会出现这个问题。解决方法:

    1)打开myeclipse,Preferentces->MyEclipse->Servers->Tomcat->Tomcat 6.x

    ,载入Tomcat7,在"Paths"下,点击“Add JAR/ZIP”,加载tomcat7下的/bin/tomcat-juli.jar。点击“OK”。
    
    
    2)可以设置环境变量添加classpath到TOMCAT_HOME/bin/tomcat-juli.jar,Tomcat默认启动会自动加载classpath=……;%TOMCAT_HOME%\bin\tomcat-juli.jar;



    3,......



    展开全文
  • 参考文章:Servlet常见错误及解决方法. 常见错误及解决方法 404产生的原因为Web服务器(容器)根据请求地址找不到对应资源,以下情况都会出现404的错误提示: 输入的地址有误(应用名大小写不正确,名称拼写不正确...

    参考文章:Servlet常见错误及解决方法.

    常见错误及解决方法

    1. 404产生的原因为Web服务器(容器)根据请求地址找不到对应资源,以下情况都会出现404的错误提示:

    输入的地址有误(应用名大小写不正确,名称拼写不正确) 在web.xml文件中和中的两个不一致 没有将工程部署到Tomcat的webapps下面 Web工程部署时的结构没有遵循Servlet的规范 具体的解决办法就是根据上面提到的4种情况,逐条进行检查。

    容器如何找到service()方法 当在浏览器中输入 http://localhost:8080/firstweb/sayHi 这个地址后,容器是如何找到 HelloServlet.class这个文件并执行的呢?

    首先容器会根据firstweb这个应用名找到位于webapps下面对应的文件夹,然后根据地址中的“/sayHi”到web.xml文件中寻找与之匹配的节点,找到匹配的节点后会找到与该节点紧邻的节点,获取名称并在此寻找与该名称相等的节点,找到相等的节点后,搜寻该节点下面紧邻的节点,于是获取到了与该地址相对应的类名,借助于ClassLoader加载该类文件,创建对象并调用service()方法,客户端即看到了与该地址匹配的运行结果。

    1. 405错误产生原因及解决方法 405这个错误的产生原因是容器找不到service方法来处理请求。以下情况容器都将视为没有找到service()方法

    service方法名写错,字母顺序不对或大小写错误 service方法参数类型与标准不一致,或参数顺序与标准不一致。一定是先HttpServletRequest,然后是HttpServletResponse类型 service方法异常、返回值类型与标准不一致,一定是抛出ServletException、IOException。返回值类型是void。 解决405错误的方法即检查service方法是否存在,签名(方法名、参数、返回值、异常类型)是否与覆盖的父类中的方法一致。

    1. 500错误产生原因及解决方法 500的错误原因是请求的Servlet在执行service方法的过程中出现了错误,程序不能继续运行了。以下情况容器都将视为500的一种情况,而返回给客户端这个错误说明。

    Servlet没有继承HttpServlet或实现Servlet接口 web.xml文件中的写错,与真正的包名类名不符 service方法中的代码运行时抛出异常 解决500的方法为依据上面三种情况依次进行检测,逐条排除。

    展开全文
  • tomcat 404 问题及解决方法

    万次阅读 2016-07-11 11:16:48
    今天就总结一下tomcat 404 的几种常见问题及解决方法。 问题一: 指定目录下没有访问的文件,这是最常见的,也是最容易解决的。只需要将访问的文件(如:a.html)放到指定目录下即可。 问题二: 将访问的...
  • 解决办法: 1、根据个人具体场景,不重复插入数据 2、插入数据的时候,不设置主键的值 3、插入数据的时候使用insert ignore ,保证已有记录便不再插入 参考:...
  • 错误视图: 解决方法: 法1:若是刚建立的Dinamic Web Project,一运行就出现此错误: 是否忘记建立index.html文件(或者其他在web.xml中标注可以作为主页的文件),注意将index.html建在WebContent文件夹下
  • Tomcat常见问题 (配置)及解决方法 原来使用Tomcat时总会出现各种错误,问度娘也是五花八门的答案,有时候还不能解决问题,最近看到了一个总结很全很有用的视频,在这里总结出来了,方便以后使用。 1.启动的时候...
  • tomcat 404 常见问题排查及解决方法

    千次阅读 2020-01-02 10:53:57
    昨天晚上用tomcat 实验一个小程序,没想到的是一直提示404错误。我已经确认目录下有我的html文件,但仍然是404。今天就总结一下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,...
  • 1. —the type java.io....发生这种错误可以检查一下tomcat与jdk是否一一对应,tomcat7对应jdk1.7,window,prepreferences,myeclipse,serves,tomcat7x,找到你安装的目录,jdk,找到jdk1.7目录...
  • 一、端口被占用 如图,错误提到了8005和8080端口,甚至有些 tomcat端口分配 端口排查小方法 二、乱码问题
  • Tomcat 内存不足问题及解决方法

    千次阅读 2009-12-02 17:52:00
    Tomcat6内存不足问题及解决方法 1、Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,...
  • 1. 错误: java.lang.NullPointerException 原因: 发现 dao 实例、 manage 实例等需要注入的东西没有被注入解决:这个时候,你应该查看日志文件;默认是应用服务器的 log 文件,比如 Tomcat 就是 [Tomcat 安装目录...
  • 常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的使用内存即可解决此问题。 Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在...
  • 常见的问题是报Tomcat 内存溢出错 误,Out of Memory( 系统内存不足) 的 异常,从而导致客户端显示500 错误,一般调整Tomcat 的 使用内存即可解决此问题。 Windows 环境下修改“%TOMCAT_HOME%/bin/...
  • 1、 常见的部署错误异常信息1:java.lang.ClassNotFoundException:javax.servlet.jsp.jstl.core.LoopTag 错误原因及解决方法: 缺少jstl.jar的jar文件,将此jar文件放到项目的lib目录即可 异常信息2: java.lang....
  • 常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的使用内存即可解决此问题。 Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在...

空空如也

空空如也

1 2 3 4
收藏数 69
精华内容 27
关键字:

tomcat常见错误及解决方法