Tomcat 问题 求救!错误如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat 问题 求救!错误如下:相关的知识,希望对你有一定的参考价值。

2011-1-27 16:31:02 org.apache.jk.common.MsgAjp processHeader
严重: BAD packet signature 18245
2011-1-27 16:31:02 org.apache.jk.common.ChannelSocket processConnection
严重: Error, processing connection
java.lang.IndexOutOfBoundsException
at java.io.BufferedInputStream.read(BufferedInputStream.java:306)
at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:626)
at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:583)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:691)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)

    1

    刚开始用TomCat的朋友想必都会遇到这个超时的问题,这个问题是Tomcat启动稍大的项目,如果按照原配置必然会产生的一个问题,那么这个问题如何解决呢?

    2

    这个问题在于Tomcat的默认配置问题,默认Tomcat中,启动一个项目需要耗时为45秒,而关闭一个项目需要耗时为15秒,一旦超过这个设定时间就会报错,这个是为了TomCat的性能而着想,但是实际上,稍微大一点的项目,在本地45秒是真的有点少的,所以我们需要把这个45和15改成450和150比较合适。

    END

    问题2:接口冲突

    1

    接口冲突一般是可以全部把项目跑完的,但是跑完以后发现无法打开网页,或者报错,如下图:这种错误又应该如何解决呢?

    2

    我们需要看一下Tomcat的默认端口配置这个配置真的很重要,一般来说,TomCat的admin接口是8005,而http访问的接口是8080,ajp访问的接口为8009,这些接口一般都是不会被其他程序占用的,但是万一被占用了,我们就需要改动这些地址,一般是在原接口数值的情况下加一。

    END

    问题3:文件没编译完,运行失败

    1

    这个问题嘛,一般就只有心急的朋友会遇到,才上班,匆匆的打开eclipse,然后人家还没完全开启呢,你就开tomcat呼啦啦的开始跑程序了,这时候大一点的项目往往会产生项目还没加载完,就被迫开始跑的情况,一般是直接404了,如下图

    2

    这个问题的解决方法,最省事的就是关了项目重开,这就行了。但是如果您确实担心项目内workspace有问题,或者是确实重开也无效,这个时候我们就要去他标配的路径中去找找有没有这个jar包了,有就没问题,没有的话,就说明您的代码还是有问题的,请仔细详查哦。

    END

    总结

    1

    综上,其实Tomcat出错的问题并不是那么的难于解决,难点其实还是我们的不耐心和急躁导致的,多想想为什么会这样,通过实践来排除错误答案,这一切都会变得很简单,不是么?

    END

    注意事项

    务必确保Tomcat的配置是正确的,基本错误都出在配置上

    请不要急躁,按部就班,对症下药,其实这个错误很好解决,怕的就是你不耐心

参考技术A 你的tomcat可能已经开启,如果是这样,那就在 任务管理器里干掉。
还有可能是TOMCAT默认的端口号8080被你机器上某个程序占用了,这样的话就要更改tomcat的端口号了本回答被提问者采纳
参考技术B 你是不是在浏览器请求AJP/1.3了。
应该去请求HTTP/1.1的,写错端口号啦,再看看server.xml文件,应该是HTTP/1.1的post,
而不是AJP/1.3的post

求救!!!数据库连接池出错

Tomcat提示信息:Cannot get a connection, pool error Timeout waiting for idle object.开始登录没问题,刷新十次Tomcat就出现这个错误,我在每次查询完都在Finally内调用了连接的Close()方法.Tomcat的设置是<Context crossContext="true" debug="5" docBase="afeng" path="/afeng" reloadable="true">
<Resource name="jdbc/zs" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="30000"
username="root" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/zs?autoReconnect=true"/>
有好的解决方法的话再加20,分少,见谅
谢了,把 maxWait值改小问题至少刷新页面正常运行了,但那个错误还是一样出来,数据库也连不上了.maxActive="-1" maxIdle="30" maxWait="-1"按这样设的话,Tomcat启动的时候出错:NumberFormatException: For input string: "-1s" 数据库连接不上.
有没有其它解决方案了?
的确是代码有问题,已经解决了,连接是否为空的语句没有起作用,不过我每次连接完了都使用了Close()方法,新的连接用完了,不知为什么连接池的连接不会被使用

在使用Connection之后,是否关闭了。再检查一下Statement和ResultSet是否关闭。
只是出现错误提示吗?是否可以对数据库进行操作?

(我在每次查询完都在Finally内调用了连接的Close()方法)。能否给我看看你的代码。

Cannot get a connection, pool error Timeout waiting for idle object.这种错误,说明池中连接用尽,而用户获取连接等待超时。你只给这么一段连接池的配置是不行的。配置应该没有问题,是你的代码有问题。
参考技术A maxActive="100" maxIdle="30" maxWait="30000
把数值改小一点 30 10 10000

以上是关于Tomcat 问题 求救!错误如下:的主要内容,如果未能解决你的问题,请参考以下文章

安全测试工具 Appscan 遇到错误信息, 求救!!!!!!!

tomcat中server.xml的context配置,如何显示JSP页面 急!!!

jsp问题(菜鸟求救):登录模块的问题,登录时出现505错误

系统开机显示错误不能启动?求救!!!

求救!!!linux opencv 静态库 链接问题,哪位大神帮帮我?

VS2008 编译出错,求救中...