CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

快疯了,异常!麻烦各位高手给看看,谢谢啦

楼主shasha_lover_527(月牙儿)2005-07-07 17:56:31 在 Java / Web 开发 提问

Exception   report  
   
  message    
   
  description   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.booking.bookinglist_jsp._jspService(bookinglist_jsp.java:118)  
  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.  
   
  这个是编译后出错的信息。麻烦各位高手给看看到底是怎么了啊?都快被弄疯了,今天调了一天了,解决了感激不禁啊,小妹这厢有礼啦。。。 问题点数:100、回复次数:57Top

1 楼yeyi001(椰海艺恋)回复于 2005-07-07 18:58:24 得分 10

给出代码看看啊,这是常见的空指针啊Top

2 楼zebra007(呼呼)回复于 2005-07-07 19:28:21 得分 60

注意这句:java.lang.NullPointerException  
  org.apache.jsp.booking.bookinglist_jsp._jspService(bookinglist_jsp.java:118)  
  这说明你的bookinglist.jsp由tomcat转换成了servlet,文件名是bookinglist_jsp.java,它位于$Tomcat$\work\Standalone\localhost\下的目录下,你最好找到这个文件看看出错的118行对应你的jsp文件的那一行,你肯定是对一个空的reference进行了操作Top

3 楼XIHSHI(西红柿)回复于 2005-07-07 19:33:47 得分 0

呵呵  
   
  空指针的情况太多了。Top

4 楼shasha_lover_527(月牙儿)回复于 2005-07-07 19:56:06 得分 0

ok,去看看,谢谢啦。我第一次编程,而且导师催的紧,没办法啦Top

5 楼cheng_fu(扬风太阳雨)回复于 2005-07-07 19:59:17 得分 10

就是查看Tomcat由jsp生成的Java源文件,找到对应的行就行了。Top

6 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:02:03 得分 0

代码有点长,希望各位有耐心啊。拜托拜托!  
  <%      
  String   user_id_tmp=(String)   session.getAttribute("user_id");  
  if(user_id_tmp==null)  
  {    
  %>  
  中间是HTML  
  <%  
  }  
  else  
  {  
  %>  
   
  <body>  
  <br>  
   
  <table   width="100%"   border="1"   align="center"   cellpadding="0"   cellspacing="0"   bordercolor="#89A5CF">  
  <tr>  
  <td   width="100%">  
   
   
  <table   width="100%"   border="0"   align="center"   cellpadding="0"   cellspacing="1"   bordercolor="#89A5CF">  
  <%  
              String   type=(String)session.getAttribute("user_type");  
              String   sql="",sql_p="",sql_t="",sql_r="",sql_s="",user_id="",tname="",rname="",sname="";  
              int   i=0;  
   
  int   pageno   =   0;//初始化当前页码  
  String   currentpage   =   request.getParameter("pageno");//取得当前页码参数  
  //如果不为空,则将当前页码转换为整型数  
  if   (currentpage   !=   null)  
  pageno=Integer.parseInt(currentpage);  
  //初始化计数器、开始记录、每页显示记录和总页数  
  int   count   =   0,   begin   =   0,   pagesize   =100,   totalpage   =   1;  
  //如果当前页码小于1,则让当前页码为1(即首页)  
  if(pageno   <   1)  
  pageno   =   1;  
  //计算开始记录  
  begin   =   (pageno   *   pagesize     -pagesize   +   1);  
   
          ResultSet   rs=null;  
  String   position=request.getParameter("value_i");  
   
  sql_p="select   *   from   BOOKINGLIST   where   LOCATION_ID='"+position+"'";  
  ResultSet   rs_p=UserBean.executeQuery(sql_p);  
  while(rs.next())  
              {  
                  count++;  
  if((count   >=   begin)&&(count   <   begin+pagesize))    
        {    
        int   bookinglist_id=rs_p.getInt("BOOKINGLIST_ID");  
        user_id=rs_p.getString("USER_ID");  
        int   tno=rs_p.getInt("TNO");  
        int   rno=rs_p.getInt("RNO");  
        int   sno=rs_p.getInt("SNO");  
        int   status=rs.getInt("STATUS");  
         
        sql_t="select   TNAME   from   TIME   whereTNO='"+tno+"'";  
        ResultSet   rs_t=UserBean.executeQuery(sql_t);  
        sql_r="select   RNAME   from   REASON   where   TNO='"+rno+"'";  
        ResultSet   rs_r=UserBean.executeQuery(sql_r);  
        sql_s="select   SNAME   from   STATUS   where   TNO='"+sno+"'";  
        ResultSet   rs_s=UserBean.executeQuery(sql_s);  
            tname=rs_t.getString("TNAME");  
            rname=rs_r.getString("RNAME");  
            sname=rs_s.getString("SNAME");  
    UserBean.closeStmt();  
                                            UserBean.closeConn();  
    }//the   end   of   if  
                 
              }//the   end   of   while        
        UserBean.closeStmt();  
        UserBean.closeConn();  
  %>  
  下面是一个表格,把<%=user_id%>,<%=tname%>,<%=sname%>等等填进去。主要是实现预约实验室的机子的功能,要输入理由,时间段,这个页面是显示预约请求的,就是bookinglist表,我在里面只写了一条记录。各位麻烦帮看看,谢谢啦Top

7 楼zebra007(呼呼)回复于 2005-07-07 20:07:14 得分 0

那个118行对应这个里面哪一行呢?Top

8 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:12:04 得分 0

我找了,没找到:(  
  work/catalina/localhost/目录下的文件夹里都是.ser文件,打不开啊,各位达人能否说清楚点啊,不好意思,偶刚开始学,还请各位多包涵,说的简单一点,不然看不懂啦。thanksTop

9 楼zebra007(呼呼)回复于 2005-07-07 20:15:18 得分 0

我不知道tomcat5的servlet放在哪里,不过你可以搜一下bookinglist_jsp.java的位置Top

10 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:17:56 得分 0

找到了,似乎是定义的问题,重定义了好多东西,那个resultset没搞懂。我再调调看啊,谢谢啦Top

11 楼zebra007(呼呼)回复于 2005-07-07 20:20:24 得分 0

那对应的到底是哪一行呢?Top

12 楼congliu(取次花丛都不顾,半缘修道半缘君。)回复于 2005-07-07 20:22:18 得分 0

来迟了,   同意   zebra007(呼呼)Top

13 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:24:31 得分 0

有个白痴错误就不说了,那个resultset我定义在循环里了,别人说不行,得在循环外面声明,在里面直接赋值就ok了,应该怎么声明呢?谢谢Top

14 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:25:30 得分 0

我是这么写的,全错了ResultSet   rs_t="",rs_r="",rs_s="";应该怎么写嘞?Top

15 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:34:15 得分 0

快来人啊,急死了Top

16 楼zebra007(呼呼)回复于 2005-07-07 20:36:48 得分 0

ResultSet   rs_t,rs_r,rs_s;Top

17 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:38:20 得分 0

呵呵,谢谢“呼呼”啦Top

18 楼zebra007(呼呼)回复于 2005-07-07 20:40:01 得分 0

你把if(...){...}里面那个UserBean.closeStmt();  
                                            UserBean.closeConn();  
  去掉吧Top

19 楼naomaomao(孬毛毛)回复于 2005-07-07 20:49:32 得分 0

通过分段注释排除法   找到错误的代码段   然后再仔细看   就能找到了   。要学会调试排错!Top

20 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:50:43 得分 0

好,可是又编译了一下,还是异常。唉。。。Top

21 楼shasha_lover_527(月牙儿)回复于 2005-07-07 20:51:48 得分 0

哦,意思就是把其他的注释掉,一段一段的调试是吧?懂了,试试看Top

22 楼zebra007(呼呼)回复于 2005-07-07 20:55:09 得分 0

我觉得打印调试信息最好  
  在不同地方加System.out.println("你想打印的!");Top

23 楼shasha_lover_527(月牙儿)回复于 2005-07-07 21:00:07 得分 0

好,试试Top

24 楼laughsmile(海边的星空)回复于 2005-07-07 21:21:03 得分 0

java.lang.NullPointerException  
  org.apache.jsp.booking.bookinglist........  
  ........................  
   
   
  String   position=request.getParameter("value_i");  
  sql_p="select   *   from   BOOKINGLIST   where   LOCATION_ID='"+position+"'";  
   
   
   
  是不是你的position为null?Top

25 楼shasha_lover_527(月牙儿)回复于 2005-07-07 21:27:32 得分 0

position   是上一个页面用一个隐藏的文本框传的一个button的Value值。上一个页面代码如下:  
  <input   type="hidden"   name="value_i"   value="<%=position%>">  
  想把<input   type="submit"   name="Submit3"   value="3">里面的value值传出去,别人教我这么用的,你看看有问题吗?Top

26 楼zebra007(呼呼)回复于 2005-07-07 21:58:52 得分 0

你还没找到原因啊Top

27 楼shasha_lover_527(月牙儿)回复于 2005-07-07 22:56:02 得分 0

正在努力中。。。。。Top

28 楼shasha_lover_527(月牙儿)回复于 2005-07-07 22:58:08 得分 0

介个嘛,要耐心,慢慢来,急不得滴,嘿嘿,谢谢各位达人了,结贴的时候分会给你们的,不过在等等看,看还有灭有高手说出点什么更具建设性的话,hohoTop

29 楼laughsmile(海边的星空)回复于 2005-07-07 23:01:26 得分 0

//看看传过来没有  
  String   position=request.getParameter("value_i");  
  System.out.println("position:"+position);  
  sql_p="select   *   from   BOOKINGLIST   where   LOCATION_ID='"+position+"'";Top

30 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:11:41 得分 0

谢啦Top

31 楼zebra007(呼呼)回复于 2005-07-07 23:21:56 得分 0

首先要删掉多余的那两句(前面的):  
  UserBean.closeStmt();  
  UserBean.closeConn();  
  再说你那个UserBean哪里来的啊Top

32 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:24:12 得分 0

根本显示不出来,又异常了,好像还是那个resultset和对数据库进行操作的问题,rs.next()的问题Top

33 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:25:16 得分 0

那个bean自己写的,编译以后.class放在common/class/bbs下面Top

34 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:26:02 得分 0

那个bean就是执行数据库的操作的Top

35 楼zebra007(呼呼)回复于 2005-07-07 23:27:29 得分 0

我都替你急了,你有没有确切找到哪行啊  
  把root   cause    
  贴上来Top

36 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:29:39 得分 0

改成rs_p.next()还是不行,介个白痴错误表笑我啊Top

37 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:30:32 得分 0

root   cause    
   
  java.lang.NullPointerException  
  org.apache.jsp.booking.bookinglist_jsp._jspService(bookinglist_jsp.java:119)  
  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)  
   
  Top

38 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:32:20 得分 0

以前那个是118行,是这一句ResultSet   rs_p=UserBean.executeQuery(sql_p);  
  现在是119行,是这一句while(rs_p.next())Top

39 楼zebra007(呼呼)回复于 2005-07-07 23:32:20 得分 0

那你就打开bookinglist_jsp.java看看119行是什么啊Top

40 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:32:47 得分 0

以前那个是118行,是这一句ResultSet   rs_p=UserBean.executeQuery(sql_p);  
  现在是119行,是这一句while(rs_p.next())Top

41 楼zebra007(呼呼)回复于 2005-07-07 23:36:24 得分 0

你找的是bookinglist_jsp.java吗  
  别是bookinglist.jsp吧Top

42 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:37:18 得分 0

是不是因为我数据库中只有一条记录然后.next()就空了,所以异常?Top

43 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:37:52 得分 0

是那个编译成java的代码,这点可以确定啦Top

44 楼zebra007(呼呼)回复于 2005-07-07 23:39:52 得分 0

你那个UserBean根本没有定义啊Top

45 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:41:15 得分 0

在前面,我没拷<jsp:useBean   id="UserBean"   scope="page"   class="bbs.ourdb"/>。就是这个Top

46 楼zebra007(呼呼)回复于 2005-07-07 23:41:50 得分 0

至少应该有这句吧  
  <jsp:useBean   id="userBean"   scope="page"   class="bbs.UserBean"   />Top

47 楼shasha_lover_527(月牙儿)回复于 2005-07-07 23:43:41 得分 0

不好意思,我得回去了,实验室要关门了。谢谢你,“呼呼”!Top

48 楼zebra007(呼呼)回复于 2005-07-07 23:44:05 得分 0

我也是Top

49 楼baiyunyuan2(白云无限)回复于 2005-07-08 10:11:17 得分 0

oTop

50 楼laughsmile(海边的星空)回复于 2005-07-08 15:17:45 得分 20

你在while循环体的最末尾,system.out一下rs_p.看是不是nullTop

51 楼shasha_lover_527(月牙儿)回复于 2005-07-09 08:38:10 得分 0

好,谢谢啦Top

52 楼shasha_lover_527(月牙儿)回复于 2005-07-09 08:38:34 得分 0

自己顶一下,看看还有灭有人来Top

53 楼shasha_lover_527(月牙儿)回复于 2005-07-09 09:20:17 得分 0

是那句while(rs_p.next()=true)的问题,改成这样以后就报错了  
  unexpected   typerequired:   variable  
  found       :   value  
  while(rs_p.next()=true)  
                                                ^  
  1   error  
   
  来人给看看为什么泥?数据库里面有记录啊Top

54 楼keelsike(blog.k99k.com)回复于 2005-07-09 11:37:34 得分 0

while(rs_p.next()=true)应该写成while(rs_p.next())或者while(rs_p.next()==true)  
   
  rs_p.next()=true是赋值,当然不对,用==Top

55 楼shasha_lover_527(月牙儿)回复于 2005-07-09 15:24:55 得分 0

改成那样也错Top

56 楼laughsmile(海边的星空)回复于 2005-07-09 15:34:48 得分 0

rs_p是这样获得的么?  
  ResultSet   rs_p=UserBean.executeQuery(sql_p);  
   
   
  那么请吧executeQuery贴上来看看Top

57 楼shasha_lover_527(月牙儿)回复于 2005-07-09 20:57:17 得分 0

public   ResultSet   executeQuery(String   s)  
          {  
                  rs   =   null;  
                  try  
                  {  
                          conn   =   DriverManager.getConnection(url,   user,   password);  
                          stmt   =   conn.createStatement(1005,   1008);  
                          rs   =   stmt.executeQuery(s);  
                  }  
                  catch(SQLException   sqlexception)  
                  {  
                          System.err.println("aq.executeQuery:"   +   sqlexception.getMessage());  
                  }  
                  return   rs;  
          }Top

相关问题

  • 如何处理异常,各位请进
  • [Struts]异常:NullPointerException,JAVA方向的东西,怎么这么麻烦
  • 麻烦各位高手了!!
  • 麻烦各位高手了
  • 麻烦各位一下
  • 急!麻烦各位了!
  • 又要麻烦各位了!!
  • 麻烦各位大虾!!
  • 麻烦各位给看看?
  • 麻烦各位帮个忙

关键词

  • 代码
  • apache
  • 数据库
  • 页面
  • 文件
  • bookinglist
  • 谢谢
  • jspservlet
  • 看看
  • userbean

得分解答快速导航

  • 帖主:shasha_lover_527
  • yeyi001
  • zebra007
  • cheng_fu
  • laughsmile

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo