package bookstore;
.........
 public static String getUserListHTML() {
          Connection conn = null;
          StringBuffer sBuf = new StringBuffer();
           try {
                conn=DBConnection.getConnection();
                Statement stmt = conn.createStatement();//在web中调用这个地方有问题,
                     //  在应用程序中调用一切正常
                String sql = "select * from user_tb";
                ResultSet rs = stmt.executeQuery(sql);
                while(rs.next()){
                   sBuf.append(rs.getString("user_id").toString());
                                 }
                rs.close();
                JOptionPane.showMessageDialog(null,"1133331");
               return sBuf.toString();
               } catch (SQLException ex) {
                                          ex.printStackTrace();
                                          
                                           } finally {
                                                     try {
                                                          if (conn != null) {
                                                              conn.close();
                                                               conn = null;
                                                                             }
                                                           } catch (SQLException ex1) {
                                                               
                                                                                       }
                                                        }
                        }我在web中是这样调用的(不正常)<%@page contentType="text/html; charset=GBK" import="bookstore.UserList"%>
<html>
<head>
<title>login</title>
</head>
  <%=UserList.getUserListHTML()%>
</body>
</html>
我在应用程序中是这样调用的(在JB)一切正常
    public void jButton1_actionPerformed(ActionEvent e) {
    JOptionPane.showMessageDialog(null,UserList.getUserListHTML());
    }

解决方案 »

  1.   

    错误信息,是看不懂,很长的
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:207)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)
    root cause java.lang.NullPointerException
    at bookstore.UserList.getUserListHTML(userlist.java:12)
    at org.apache.jsp.firstbean_jsp._jspService(firstbean_jsp.java:69)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:534)--------------------------------------------------------------------------------Apache Tomcat/4.1.31
      

  2.   

    conn=DBConnection.getConnection();
    没有取到连接
      

  3.   

    仔细检查下DBConnection.getConnection();
      

  4.   

    觉得没有问题;在DBConnection.getConnection();有使用配置文件么?如果是,则检查路径,最好debug跟踪一下,什么问题就都搞定了
      

  5.   

    >java.lang.NullPointerException
    > at bookstore.UserList.getUserListHTML(userlist.java:12)这两行里已经把出错的行号都打出来了: 在 userlist.java 中的第 12 行发生的空引用异常。
      

  6.   

    谢谢各位!我已经DEBUG了
    用web调用时出现getConnection()返回的是空的(我的web是用tomcat).而用application调用是正常的
    package bookstore;
    import java.sql.*;
    public class DBConnection {
      public static Connection getConnection() throws SQLException {
    try {
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
         }catch (ClassNotFoundException ex) {
                 ex.printStackTrace();
                 return null;
                                             }
          String user = "sa";
          String password = "sa";
          String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
           return DriverManager.getConnection(url,user,password);
      }
    }
      

  7.   

    呵呵 那就是数据库联接出来问题了问题肯定出在 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
         }catch (ClassNotFoundException ex) {
                 ex.printStackTrace();
                 return null;这里找不到驱动
    你把驱动放到tomcat的lib下面
      

  8.   

    interpb(曾曾胡)说得对,就是在那个地方,可是要放SQLSERVER驱动包放到哪里呢? Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");中的com.microsoft.jdbc.sqlserver.SQLServerDriver的意思是不是在以下的目录下com\microsoft\jdbc\sqlserver\SQLServerDriver