代码如下:
package linzi.jsf;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class DbConnection {
    private Connection con;
    private Statement stm;
    private ResultSet rs;
    private String classname="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books";    public DbConnection(){}
    public Connection getCon()
    {       
     try
     {
     Class.forName(classname);
     }
     catch(ClassNotFoundException e)
     {
     e.printStackTrace();
     }
     try
     {
         con=DriverManager.getConnection(url,"sa","");
     }
     catch(Exception e)
     {
         e.printStackTrace(System.err);
     con=null;
     }
     return con;
    }
    public Statement getStm()
    {
     try
     {
        con=getCon();
        stm=con.createStatement();
     }
     catch(Exception e)
     {e.printStackTrace(System.err);}
      return stm;
    }
   public Statement getStmed()
   {
     try{
        con=getCon();
        stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     }catch(Exception e){e.printStackTrace(System.err);}
     return stm;
        }
   public ResultSet getAllRs(){
    String sql="select * from users";
try{
stm=getStmed();
rs=stm.executeQuery(sql);
}
catch(SQLException e)
{e.printStackTrace();rs=null;}
return rs;
}
public String getTest()//这边是后来加的,原来访问没这些jsp访问数据库没问题
{
    rs=getAllRs();
    if(rs!=null)
    {
     return "true";
    }
    else
      return "false";
}
    public void closed(){
    try{
     if(rs!=null)rs.close();
     }
     catch(Exception e){e.printStackTrace();}    
    try{
     if(stm!=null)stm.close();
     }
     catch(Exception e){e.printStackTrace();}    
    try{
     if(con!=null)con.close();
     }
     catch(Exception e){e.printStackTrace();}    
    }
}
大家帮我看看,困扰好久,郁闷中.........

解决方案 »

  1.   

    javax.servlet.ServletException: #{login.getTest}: java.lang.NullPointerException
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
    root cause javax.faces.FacesException: #{login.getTest}: java.lang.NullPointerException
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    javax.faces.component.UICommand.broadcast(UICommand.java:387)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    root cause javax.faces.el.EvaluationException: java.lang.NullPointerException
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    javax.faces.component.UICommand.broadcast(UICommand.java:387)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    root cause java.lang.NullPointerException
    linzi.jsf.DbConnection.getAllRs(DbConnection.java:61)
    linzi.jsf.DbConnection.getTest(DbConnection.java:69)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.apache.el.parser.AstValue.invoke(AstValue.java:191)
    org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    javax.faces.component.UICommand.broadcast(UICommand.java:387)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)这是异常