当前位置: 代码迷 >> Java Web开发 >> JSP连接数据库
  详细解决方案

JSP连接数据库

热度:255   发布时间:2010-12-09 21:20:42.0
JSP连接数据库
最近学习JSP,有一个程序调试不过去,总是在“ pstmt=this.dbc.getConnection().prepareStatement(sql);”处出错,如图,pstmt值为“null”,用的是myeclipse8.6,tomcat7.0,jdk6,JSP插入页面调用时,出现以上的错误,当NEW   ConnectJDBC.java时,调用其方法getConnection方法不能返回数据库连接
;当用JAVA编文件调用时,就不出错了;请高手指点迷津,谢谢!

userDAOProxy.java
package mws.user.dao.proxy;
import java.util.List;
import mws.ConnectJDBC.ConnectJDBC;
import mws.user.dao.IUserDAO;
import mws.user.dao.impl.UserDAOImpl;
import mws.user.vo.User;
public class UserDAOProxy implements IUserDAO {
   
    private ConnectJDBC dbc=null;
    private UserDAOImpl userdao=null;
   
    public UserDAOProxy() {
        dbc=new ConnectJDBC();
        userdao=new UserDAOImpl(dbc);
    }

    public boolean doCreate(User user) throws Exception {
        // TODO Auto-generated method stub
        boolean flag=false;
        try {
            flag=this.userdao.doCreate(user);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            this.dbc.Close();
        }
        return flag;
    }
}


userDAOImpl.java
package mws.user.dao.impl;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import mws.ConnectJDBC.ConnectJDBC;
import mws.user.dao.IUserDAO;
import mws.user.vo.User;

public class UserDAOImpl implements IUserDAO{
   
      private ConnectJDBC dbc=null;
            public UserDAOImpl(ConnectJDBC dbcon) {
                   this.dbc=dbcon;
            }

        public boolean doCreate(User user) throws Exception {
        // TODO Auto-generated method stub15839710664
            String sql= "insert into userlogin values (userseq.nextval,?,?)";
            PreparedStatement pstmt=null;
            System.out.println(user.getUsername());
            System.out.println(user.getPaword());
            System.out.println(this.dbc.getConnection());
            pstmt=this.dbc.getConnection().prepareStatement(sql);
            pstmt.setString(1,user.getUsername());
            pstmt.setString(2,user.getPaword());
            if(pstmt.executeUpdate()>0){
                return true;
            }
        return false;
        
    }
}


ConnectJDBC.java
package mws.ConnectJDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectJDBC {
   
public static final String DBDRIVER= "oracle.jdbc.driver.OracleDriver";
    public static final String DBURL= "jdbc:oracle:thin:@localhost:1521:mws";
    public static final String DBUSER= "scott";
    public static final String DBPASS= "tiger";
   
    private Connection conn=null;
        public ConnectJDBC() {
        super();
    }

    public  Connection getConnection(){
        try {
            if(conn==null||conn.isClosed()){
                    Class.forName(DBDRIVER);    Conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
        }catch (Exception e) {
            // TODO: handle exception
        }
        return conn;
            }
   
   
    public void Close(){
        
        try {
            if(conn!=null&&!conn.isClosed()){
                conn.close();
                System.out.println("连接关闭成功");
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }
        
    }
     
搜索更多相关主题的帖子: 数据库  JSP  

----------------解决方案--------------------------------------------------------
没看懂问题

[ 本帖最后由 guoxhvip 于 2010-12-10 01:43 编辑 ]
----------------解决方案--------------------------------------------------------
路过。。。。顶一下!!
----------------解决方案--------------------------------------------------------
看到有点晕
----------------解决方案--------------------------------------------------------
你这个是不是有点繁琐啊....
            你直接用Hibernate映射过去就不可以嘛?UserDao和UserService再手动写上就可以了啊!而且不容易出错。
----------------解决方案--------------------------------------------------------
  相关解决方案