谁有连接数据库的例子

zqjhyl 2007-12-27
我正在做一个设计不能登录数据库测试 不了.是通过servlet读取数据库.
jacky-zhang 2008-01-18

The example below takes database name, username and password from MIDlet running on the J2ME device and passes it to the Servlet. The status of connection is passed to MIDlet:
import java.io.*;
import java.util.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;

public class testMySQL extends MIDlet implements CommandListener {
    private String username;
    private String url =
        "http://localhost:8080/servlets-examples/servlet/getConnection";
   
    private Display display;
    private Command exit = new Command("EXIT", Command.EXIT, 1);;
    private Command connect = new Command("Connect", Command.SCREEN, 1);
    private TextField tb;
    private Form menu;
    private TextField tb1;
    private TextField tb2;
    DB db;
   
    public testMySQL() throws Exception {
        display = Display.getDisplay(this);
       
    }
   
    public void startApp() {
        displayMenu();
    }
   
    public void displayMenu() {
        menu = new Form("Connect");
       
        tb = new TextField("Please input database: ","",30,
                TextField.ANY );
       
        tb1 = new TextField("Please input username: ","",30,
                TextField.ANY);
       
        tb2 = new TextField("Please input password: ","",30,
                TextField.PASSWORD);
       
        menu.append(tb);
        menu.append(tb1);
        menu.append(tb2);
        menu.addCommand(exit);
        menu.addCommand(connect);
        menu.setCommandListener(this);
        display.setCurrent(menu);
    }
   
    public void pauseApp() {}
   
    public void destroyApp(boolean unconditional) {}
   
    public void commandAction(Command command, Displayable screen) {
        if (command == exit) {
            destroyApp(false);
            notifyDestroyed();
        } else if (command == connect) {
            db  = new DB(this);
            db.start();
            db.connectDb(tb.getString(),tb1.getString(),tb2.getString());
        }
    }
   
    public class DB implements Runnable {
        testMySQL midlet;
        private Display display;
        String db;
        String user;
        String pwd;
        public DB(testMySQL midlet) {
            this.midlet = midlet;
            display = Display.getDisplay(midlet);
        }
       
        public void start() {
            Thread t = new Thread(this);
            t.start();
        }
       
        public void run() {
            StringBuffer sb = new StringBuffer();
            try {
                HttpConnection c = (HttpConnection) Connector.open(url);
                c.setRequestProperty(
                   "User-Agent","Profile/MIDP-1.0, Configuration/CLDC-1.0");
                c.setRequestProperty("Content-Language","en-US");
                c.setRequestMethod(HttpConnection.POST);
               
                DataOutputStream os =
                        (DataOutputStream)c.openDataOutputStream();
               
                os.writeUTF(db.trim());
                os.writeUTF(user.trim());
                os.writeUTF(pwd.trim());
                os.flush();
                os.close();
               
                // Get the response from the servlet page.
                DataInputStream is =(DataInputStream)c.openDataInputStream();
                //is = c.openInputStream();
                int ch;
                sb = new StringBuffer();
                while ((ch = is.read()) != -1) {
                    sb.append((char)ch);
                }
                showAlert(sb.toString());
                is.close();
                c.close();
            } catch (Exception e) {
                showAlert(e.getMessage());
            }
        }
            /* This method takes input from user like db,user and pwd and pass
            to servlet */
        public void connectDb(String db,String user,String pwd) {
            this.db = db;
            this.user = user;
            this.pwd = pwd;
        }
       
        /* Display Error On screen*/
        private void showAlert(String err) {
            Alert a = new Alert("");
            a.setString(err);
            a.setTimeout(Alert.FOREVER);
            display.setCurrent(a);
        }
       
    };
}
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class getConnection extends HttpServlet {
   
    public void init() {
    }
   
    public void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {
       
        DataInputStream in = new DataInputStream(
                (InputStream)request.getInputStream());
       
        String db = in.readUTF();
        String user = in.readUTF();
        String pwd = in.readUTF();
       
        String message ="jdbc:mysql://localhost:3306/"+db+","+user+","+pwd;
        try {
           
            connect(db.toLowerCase().trim(),user.toLowerCase().trim(),
                    pwd.toLowerCase().trim());
           
            message += "100 ok";
           
        } catch (Throwable t) {
            message += "200 " + t.toString();
        }
        response.setContentType("text/plain");
        response.setContentLength(message.length());
        PrintWriter out = response.getWriter();
        out.println(message);
        in.close();
        out.close();
        out.flush();
    }
   
    public void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {
       
        doPost(request,response);
    }
   
    /* This method connects to MYSQL database*/
    private void connect(String db, String user,String pwd)
    throws Exception {
       
        // Establish a JDBC connection to the MYSQL database server.
        //Class.forName("org.gjt.mm.mysql.Driver");
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection conn = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/"+db,user,pwd);
       
        // Establish a JDBC connection to the Oracle database server.
        //DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
        //Connection conn = DriverManager.getConnection(
        //      "jdbc:oracle:thin:@localhost:1521:"+db,user,pwd);
       
        // Establish a JDBC connection to the SQL database server.
        //Class.forName("net.sourceforge.jtds.jdbc.Driver");
        //Connection conn = DriverManager.getConnection(
        //      "jdbc:jtds:sqlserver://localhost:1433/"+db,user,pwd);
    }
}
Global site tag (gtag.js) - Google Analytics