50% found this document useful (2 votes)
146 views4 pages

J2me - DataBase Connection Using J2ME

This document describes how to connect to a database from a J2ME application using CLDC by calling a servlet. The servlet handles the database connection, queries, and functionality. The MIDlet passes the database name, username, and password to the servlet as parameters. The example shows a MIDlet that takes these parameters from a user, passes them to a servlet which then connects to the database and returns the connection status to the MIDlet.

Uploaded by

info.glcom5161
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
50% found this document useful (2 votes)
146 views4 pages

J2me - DataBase Connection Using J2ME

This document describes how to connect to a database from a J2ME application using CLDC by calling a servlet. The servlet handles the database connection, queries, and functionality. The MIDlet passes the database name, username, and password to the servlet as parameters. The example shows a MIDlet that takes these parameters from a user, passes them to a servlet which then connects to the database and returns the connection status to the MIDlet.

Uploaded by

info.glcom5161
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

DataBase Connection Using J2ME

CLDC framework, do not support JDBC APIS. To connect to databases from devices t
hat
have CLDC configuration, you can call a Servlet from MIDLets. Connection to data
base,
running the queries and other functionalities need to be implemented in the Serv
let.
Passing the parameters to servlet like username, password can be done from MIDLe
ts.
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
import
import
import
import

java.io.*;
java.util.*;
javax.microedition.midlet.*;
javax.microedition.lcdui.*;
javax.microedition.io.*;

public class MySQLConn extends MIDlet implements CommandListener {


private String username;
private String url = "http://localhost:8080/servlets-examples/servlet/getC
onnection";
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;
DBConn db;
public MySQLConn() 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.PASSWO
RD);
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 DBConn(this);
db.start();
db.connectDb(tb.getString(),tb1.getString(),tb2.getString());
}
}
public class DBConn implements Runnable {
MySQLConn midlet;
private Display display;
String db;
String user;
String pwd;
public DBConn(MySQLConn 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, Con
figuration/CLDC-1.0");
c.setRequestProperty("Content-Language","en-US");
c.setRequestMethod(HttpConnection.POST);
DataOutputStream os = (DataOutputStream)c.openDataOutput
Stream();
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.openDataInputStre
am();
//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 t
o 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
import
import
import
import
import

java.io.*;
java.text.*;
java.util.*;
javax.servlet.*;
javax.servlet.http.*;
java.sql.*;

public class getConnection extends HttpServlet {


public void init() { }
public void doPost(HttpServletRequest request, HttpServletResponse respons
e) throws ServletException, IOException {
DataInputStream in = new DataInputStream((InputStream)request.getInp
utStream());
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://localhos
t: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);
}
}

You might also like