本人刚学javaweb,属于菜鸟,问个问题。我做了一个jsp网页,里面有个表单,提交到本网页的。通过向表单里填写信息,查询数据库。可是出错报出异常,以下是代码。
  <body>
    <table align="center" bgcolor="FF9999" border=1 width="500">
    <form name="form1" method="get" action="zhengti.jsp">
    <tr>
    <td align="center">数据查询</td>
    <td><select name="select">
        <option value="学号" selected>学号</option>
        <option value="姓名">姓名</option>
        <option value="班级">班级</option>
        </select></td>
    <td><input type="text" size=10 name="t1"></td>
    <td><input type="submit" value="查询" name="cha"></td>
    </tr>
    </form>
    </table>
    <%! String odbcQuery; %>
    <% 
      String leibie=request.getParameter("select");
      if(leibie!=null)
      {
        leibie=new String(leibie.getBytes("ISO-8859-1"));
      }
      String chaxun=request.getParameter("t1");
      if(chaxun!=null)
      {
        chaxun=(new String(chaxun.getBytes("ISO-8859-1"))).trim();
      }
      if(leibie.equals("学号"))
      {
        odbcQuery="Selcet* form glz where 学号 like'%"+chaxun+"%'";
      }
      else if(leibie.equals("姓名"))
      {
        odbcQuery="Selcet* form glz where 姓名 like'%"+chaxun+"%'";
      }
      else if(leibie.equals("班级"))
      {
        odbcQuery="Select* form glz where 班级 like'%"+chaxun+"%'";
      }
      try
      {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDrier");
      }catch(ClassNotFoundException e){}
      try
      {
        Connection con=DriverManager.getConnection("jdbc:odbc:as");
        Statement sql=con.createStatement();
        ResultSet rs=sql.executeQuery(odbcQuery);
      %>
      <table align="center" border=1 width="500">
      <tr>
      <td bgcolor="0099FF" align="center">学号</td>
      <td bgcolor="0099FF" align="center">姓名</td>
      <td bgcolor="0099FF" align="center">性别</td>
      <td bgcolor="0099FF" align="center">年龄</td>
      <td bgcolor="0099FF" align="center">班级</td>
      </tr>
      <% 
        while(rs.next())
        {
      %>
      <tr>
      <td><%rs.getInt("学号");%></td>
      <td><%rs.getString("姓名");%></td>
      <td><%rs.getString("性别");%></td>
      <td><%rs.getInt("年龄");%></td>
      <td><%rs.getString("班级");%></td>
      </tr>
     <% } 
      rs.close();
      sql.close();
      con.close();
     }catch(SQLException ee){}
     %>
  </table>
  </body>
以下是异常
org.apache.jasper.JasperException: An exception occurred processing JSP page /zhengti.jsp at line 44
41:     <%!
42:       String odbcQuery;
43:     %>
44:    <% String leibie=request.getParameter("select");
45:       if(leibie!=null)
46:       {
47:         leibie=new String(leibie.getBytes("ISO-8859-1")); org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:554)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:431)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:319)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.lang.NullPointerException
org.apache.jsp.zhengti_jsp._jspService(zhengti_jsp.java:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:319)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)请问下哪里出现错误了,我看是空指针异常,可是我的变量应该都获取到了呀~求解释~

解决方案 »

  1.   

    Select* form glz where 班级 like'%"+chaxun+"%  里面是from
      

  2.   

    String leibie=request.getParameter("select");
    貌似这个没有获取到,为空啊
      

  3.   

    firbug  + debug server  一定能出来 
      

  4.   

     学会调试是很必要的.但是我的myeclipse有时候不走调试,郁闷
    还有这个错误,大家帮我看一下吧!
    2011-11-2 21:08:53 org.apache.catalina.core.ApplicationContext log
    信息: Marking servlet IndexServlet as unavailable
    2011-11-2 21:08:53 org.apache.catalina.core.ApplicationContext log
    严重: Error loading WebappClassLoader
      context: /Company
      delegate: false
      repositories:
        /WEB-INF/classes/
    ----------> Parent Classloader:
    org.apache.catalina.loader.StandardClassLoader@1de9ac4
     s2jsp.bysi.servlet.IndexServlet
    java.lang.ClassNotFoundException: s2jsp.bysi.servlet.IndexServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
    2011-11-2 21:08:53 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Allocate exception for servlet IndexServlet
    java.lang.ClassNotFoundException: s2jsp.bysi.servlet.IndexServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1493)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)