解决方法HTTP Status 500 - description The server encountered an internal error () that prevented it from fulfilling this request

来源:互联网 发布:acs数据库官网 编辑:程序博客网 时间:2024/06/07 01:11

最近又在开始倒腾JSP,我都要疯了,问题一大堆!由于要在短时间内学习很多关于JSP的东东,所以借了一本明日科技的《JSP网络开发实例自学手册》,然后安装书中光盘的录像搭建配置好平台后,满心欢喜的按照光盘录像的提示一步一步的运行第一个SHOPPINGCENTER的实例,结果出现了一个错误,但是在网上百度了一下,出现这种情况的同仁还很多,但是就是没有搜索到解决的方法,下面我给出解决的方法!这个问题困扰了我三天,最后终于解决!拿来和大家分享下吧!

安装好JDK,TOMCAT,SQL SERVER之后,按照要求配置,都顺利的完成,结果出现问题是:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause 

java.lang.NullPointerException
com.tools.ConnDB.executeQuery(ConnDB.java:58)
org.apache.jsp.index_jsp._jspService(index_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.

 

错误图片:

因为是新手,所以把程序放到了tomcat的安装目录下直接运行之后就是上面的错误。因为直接放到tomcat里运行,看不到详细的错误信息。所以,又把程序导入到了myeclipse里运行,结果出现了同样的错误,但是看到了详细的错误如下:

(此处只列出了重要的错误信息红色部分,其他的次要信息以省略号代替)

......

  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
 at java.lang.Thread.run(Unknown Source)
警告: DbConnectionManager.getConnection() 获得数据库链接失败.

链接类型:com.microsoft.jdbc.sqlserver.SQLServerDriver
链接位置:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shop
用户/密码sa/
2011-4-22 13:40:44 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
 at com.tools.ConnDB.executeQuery(ConnDB.java:58)
 at org.apache.jsp.index_jsp._jspService(index_jsp.java:66)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 ......

以上错误信息明显是数据库连接问题,在苦战了三天之后,终于找到了问题的所在:SQL SERVER 2000版本过低,必须要SP3以上版本才可以!!!

因为之前安装过了SP3的补丁,但是SQL server 2000还是显示的是rtm版本。后来知道那个补丁虽然是exe文件,但是是一个压缩包,直接点击安装根本就安装不上,所以之前安装了N次补丁,都没有安装上,所以版本总是rtm。正确的安装方法是先解压再安装!

如何查看自己安装的SQL SERVER 的版本,方法如下:

查询分析器----》输入如下语句:

select serverproperty('productversion')
      ,serverproperty('productlevel')
      ,serverproperty('edition')

运行,则看得到自己的版本!如图:

一定是SP3以上版本才可以!

然后再tomcat里运行网站,就OK了!

 

原创粉丝点击