在myeclipse中建立了一个web工程,将连接mysql的一系列写成类,可以在main函数里正常使用,但是在jsp中总是显示数据库不存在,明明是一个工程,在main函数里能用,应该在jsp中也可以用的啊?初学java和jspjspmysqlmyeclipseweb

解决方案 »

  1.   

    package jdbc;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class Conn
    {    
        private static final Conn Instance=new Conn();//注意为final!
        private Connection conn=null;
        private Conn(){
            conn=null;
        }
        public static Conn getInstance(){
            return Instance;
        }
        public void build(){
            if(conn!=null)return;//若不为空,则说明已成功赋值
            String user = "root";
            String password = "htzy";
            String url = "jdbc:mysql://localhost:3306/htzy";
            String driver = "com.mysql.jdbc.Driver";
            try{
                Class.forName(driver);
                conn = DriverManager.getConnection(url, user, password);
            }catch (ClassNotFoundException e1)
            {
                System.out.println("数据库驱动不存在!");
                System.out.println(e1.toString());
            } catch (SQLException e2)
            {
                System.out.println("数据库存在异常!");
                System.out.println(e2.toString());
            } 
            
        }
        public ResultSet select(String sql){
            ResultSet rs = null;
            Statement stmt;
            try
            {
                stmt=conn.createStatement();
                rs=stmt.executeQuery(sql);
            } catch (SQLException e)
            {
                System.out.println("ResultSet select(sql)出错!");
                e.printStackTrace();
            }        return rs;
        }    public void operate(String sql){
            Statement stmt;
            try
            {
                stmt = conn.createStatement();
                stmt.execute(sql);
            } catch (SQLException e)
            {
                System.out.println("operate(sql)出错!");
                e.printStackTrace();
            }
            
        }
    }
      

  2.   

    package jdbc;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;import bean.Record;public class Operate
    {
        public  void insert(int id,String name,String text){//insert需要三个元素
            Conn a=Conn.getInstance();
            a.build();
            String sql="insert into content (id,name,text) values('"+id+"','"+name+"','"+text+"')";
            a.operate(sql);
            
        }
        public  void delete(int id){
            Conn a=Conn.getInstance();
            a.build();
            String sql="delete from content where id="+id;
            a.operate(sql);
        }
        public  Record get(String name){//输出record类型的数据,每一个用户只可能有一个记录
            Conn a=Conn.getInstance();
            a.build();
            String sql="select id,name,text from content where name= "+name;
            int id;
            String text;
            Record b= new Record();//问题点!        ResultSet rs=a.select(sql);
            try
            {
                while(rs.next()){
                    id=rs.getInt(1);
                    name=rs.getString(2);
                    text=rs.getString(3);
                    
                    b.setRecord(id, name, text);
    //                System.out.println(b.name);
    //                System.out.println(text);
    //                list.add(b);
                }
            } catch (SQLException e)
            {
                System.out.println("Record get()有问题");
                e.printStackTrace();
            }
            return b;//javabean输出
        }
    }
      

  3.   

    在main函数里是可以运行的
    public static void main(String[] args){
            Operate jia =new Operate();
            Record b= new Record();
            //对添加的测试
            int id=2;
            String name="hu";
            String text="see";
            jia.insert(id,name,text);
    }
      

  4.   

    javabean:
    package bean;public class Record
    {
        public int id;
        public String name;
        public String text;
        public void setRecord(int id,String name,String text){
            this.id=id;
            this.name=name;
            this.text=text;
        }
        
    }
      

  5.   

    要不哪个大神依照这个写一下连接数据库的jsp
      

  6.   

    按照上面的代码看看url和driver可有问题?,
      

  7.   

    解决了,在WebRoot文件中WEB-INF文件下有lib文件夹,将jar复制到该目录下即可。