我在连接ORACLE时,总是出现这样的错误:
The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.index_jsp._jspService(index_jsp.java:138)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.请问这是怎么回事??谢谢各位了。我很着急。

解决方案 »

  1.   

    如果只用java代码调ORACLE有问题吗?需要更多的信息才行,到Apache Tomcat/5.0.28 下面的logs中去找.
      

  2.   

    请问helpall()我要在那里怎样操作?我不明白。
      

  3.   

    一般是由于驱动放的位置不对造成的
    把驱动放在WEB-INF/lib里面
      

  4.   

    <%@ page contentType="text/html;charset=GBK" %>
    <%@ page language="java" import="java.sql.*"%>
    <%@ page import="java.lang.Math.*" %>
    <jsp:useBean id="conn" scope="page" class="db.ConnOracle"/>
    <%!
    ResultSet rs = null;
    ResultSet rsTmp = null;
    String sql = "";
    int PageSize = 6;
    int Page = 1;
    int totalPage = 1;
    String str = "";public String ShowOnePage(ResultSet rs, int Page, int PageSize) {
      str = "";
      // 先将记录指针定位到相应的位置
      try {
       rs.absolute( (Page-1) * PageSize + 1);
      }catch(SQLException e) {
      }
      for(int iPage=1; iPage<=PageSize; iPage++) {
         str += RsToGbook(rs);
     try {
         if(!rs.next()) break;
     }catch(Exception e) {
         System.out.println("Locate Current Page Error!");
     }
      }
      return str;
    }

    // 显示单行记录子模块
    public String RsToGbook( ResultSet rs ) {
    String tt = "";
    String email = "";
    String homepage = "";
    String name = "";
    String sex  = "";
    String subject = "";
    String memo = "";
    String gtime = "";
    try {
    email     = rs.getString("email");
    homepage  = rs.getString("homepage");
    name      = rs.getString("name");
    sex       = rs.getString("gender");
    subject   = rs.getString("title");
    memo      = rs.getString("content");
    gtime     = rs.getString("gtime");
    }catch(SQLException e) {
        System.out.println("Execute SQL Error!");
    System.out.println( e.toString() );
    }
    if(!email.equals("")) {
    email = "<A HREF='mailto:" + email + "'><IMG SRC='email.gif' BORDER='0' ALT='电子邮件信箱'></A>";
    }
    if(homepage.equals("http://")  || homepage.equals("")) {
    homepage = "";
    }else {
    homepage = "<A HREF='" + homepage + "'><IMG SRC='homepage.gif' BORDER='0' ALT='首页'></A>";
    }
    tt += "<TABLE BORDER='0' WIDTH='70%'>";
    tt += "<TR><TD><TABLE BORDER='0'><TR><TD><IMG SRC='buttom-g.gif'> ";
    tt += name + "</TD><TD>";
    tt += email + homepage;
    tt += "</TD><TD><FONT style='font: 9pt 宋体'>[</FONT><FONT style='font: 9pt 宋体' COLOR='BLUE'>" + sex;
    tt += "</font><FONT style='font: 9pt 宋体'>]</FONT></TD></TR></TABLE></TD></TR>";
    tt += "<TR><TD></TD></TR>";
    tt += "<TR><TD COLSPAN='4'>" + "<IMG SRC='file.gif' BORDER='0' ALT='主题'>" + subject + "</TD></TR>";
    tt += "<TR><TD COLSPAN='4'>" + "<IMG SRC='write.gif' BORDER='0' ALT='留言'>" + memo + "</TD></TR>";
    tt += "<TR><TD COLSPAN='4'><FONT FACE='Arial' SIZE='1'>[" + gtime + "]</TD></TR>";
    tt += "<HR BORDER='1' WIDTH='100%'></TABLE>";
    return tt;
    }
    %>
    <%
       sql = "select * from gbook order by gtime desc";
       try {
           rs = conn.executeQuery( sql );
       }catch(Exception e) {
           out.println("访问数据库出错!");
       }
    rsTmp = conn.executeQuery("select count(*) as mycount from gbook");
    rsTmp.next();
    int totalrecord = rsTmp.getInt("mycount");
    if(totalrecord % PageSize ==0) totalPage = totalrecord / PageSize;  // 如果是当前页码的整数倍
    else  totalPage = (int) Math.floor( totalrecord / PageSize ) + 1;   // 如果最后还空余一页
    if(totalPage == 0) totalPage = 1;
    try {
    if(request.getParameter("Page")==null || request.getParameter("Page").equals("")) 
       Page = 1;
    else
       Page = Integer.parseInt(request.getParameter("Page"));
    } catch(java.lang.NumberFormatException e) {  // 捕获用户从浏览器地址拦直接输入Page=sdfsdfsdf所造成的异常
       Page = 1;
    }
    if(Page < 1)  Page = 1;
    if(Page > totalPage) Page = totalPage;
    %>
    <html>
    <body BGCOLOR="#FFFFFF">
    <div align="center">
      <img SRC="gbook.gif" WIDTH="374" HEIGHT="93"><br>
      [<a HREF="gform.html"><font COLOR="red" onmouseover="this.style.color='#0000BB'" onmouseout="this.style.color='red'">我要留言</font></a>] <%
    out.println((ShowOnePage(rs, Page, PageSize)));
    %>
    <form Action="index.jsp" Method="GET">
    <% 
       if(Page != 1) {
          out.println("<A HREF=index.jsp?Page=1>第一页</A>");
          out.println("<A HREF=index.jsp?Page=" + (Page-1) + ">上一页</A>");
       }
       if(Page != totalPage) {
          out.println("<A HREF=index.jsp?Page=" + (Page+1) + ">下一页</A>");
          out.println("<A HREF=index.jsp?Page=" + totalPage + ">最后一页</A>");
       }
    %>
      <p>输入页数:<input TYPE="TEXT" Name="Page" SIZE="3"> 页数:<font COLOR="Red"><%=Page%>/<%=totalPage%></font> 
      </p>
    </form>
    <a HREF="gform.html">返回留言表单</a><BR><BR> 
    </div>
    </body>
    </html>
      

  5.   

    需要更多的信息才知道发生了什么,到Apache Tomcat/5.0.28 下面的logs中去找.
      

  6.   

    有空指针错误,看看你的index.jsp是不是有可能出现null的对象?