JSP程序问题,TOMCAT自动运行一段时间,就当机.必须得重启计算机才好,请高手指点!

报错代码如下,请高手指点啊...2007-12-2519:57:46StandardWrapperValve[jsp]:Servlet.service()forservl... 报错代码如下,请高手指点啊...

2007-12-25 19:57:46 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.jsp.agentproduct_005fshow_jsp._jspService(agentproduct_005fshow_jsp.java:104)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at ....
兄弟门,它不是一直都报Error establishing socket错误,而是自己运行了一段时间后,才出现这个错误.不知道是什么原因.
没有连接数据库的页面,可以正常访问,如果要连接数据库,就报错.
重新启动tomcat和sql server都不能好,非得重新启动计算机才行.郁闷死了.
展开
 我来答
ukong_
2007-12-26 · TA获得超过396个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:0
展开全部
这样的错误是你用jdbc连接sqlserver数据库,但是数据库的1433 socket端口没有开启,用 netstat -an 如果没有显示 0.0.0.0:1433 。
此问题出现在xp及以上windows操作系统。可以是微软官方网站。
解决办法,打sql补丁sp3后重启。netstat -an 显示 0.0.0.0:1433
如果还不行,
请用sql的“服务器网络实用工具”查看数据库的tcp/ip端口,将这个端口号取代下面串内的“端口号”即可
url="jdbc:microsoft:sqlserver://localhost:端口号;DatabaseName=yourdbname";
monkey_syf 也很可能,检查你有没有代码在循环中进行Connection连接而没有进行释放,那肯定死定了
ekai_he
2007-12-27 · TA获得超过890个赞
知道小有建树答主
回答量:998
采纳率:50%
帮助的人:878万
展开全部
这个问题也有遇到过的,首先确保所有连接数据库源使用完后关闭,如conn.clse();

是不是直接用jsp在代码中连接数据库的,要用“连接池”(Connectiong pool)去连接数据库。

如果犯了上面的两种情况错误,那就会运行一段时间后,网站就会挂掉,如果是20个同时在线网站立刻挂掉!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TroyConder
2007-12-25 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:214万
展开全部
2007-12-25 19:57:46 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket
无法建立链接 换个驱动试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
monkey_syf
2007-12-26 · TA获得超过146个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:217万
展开全部
检查你的代码,在获得数据库连接后,有没有释放连接,如果不释放,在程序运行一段时间后,连接数就越来越多,最后达到了数据库连接数的最大值,然后程序就连不到数据库,就表现为服务器当机.你试下不重新启动电脑,就重新启动tomcat看看是否能用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘予冰
2007-12-26 · TA获得超过178个赞
知道答主
回答量:574
采纳率:0%
帮助的人:0
展开全部
请安装SQL SP3 或SP4补丁,然后再试试。
还有TOMCAT5.X应该是配JDK1.5!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ootoriken
2007-12-26
知道答主
回答量:16
采纳率:0%
帮助的人:8.2万
展开全部
打补丁 或者 检查是否在一次事务之后释放了连接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式