你知道J2ME訪問數據庫的方式嗎,這裡向大家描述一下J2ME通過Servlet訪問數據庫步驟,希望對你的學習有所幫助。
J2ME通過Servlet訪問數據庫步驟
1.配置Tomcat服務器
准備Tomcat5.5服務器和JDK1.6,配置環境變量CLASSPATH、Path、Java_HOME、CATALINA_HOME。
2.配置數據源
配置數據源mydata,指向數據庫6D1。
數據庫6D1中數據表users,其結構為(idchar(4),namevarchar(20)),users表中有數據記錄若干。
訪問數據庫的用戶名為sa,密碼為空。
3.部署Servlet
在Tomcat5.5\webaPPS下創建目錄6D1,在6D1下創建目錄WEB-INF,在WEB-INF下創建classes目錄,將returnMsg.Java文件保存在classes目錄下,其內容如下所示:
- //returnMsg.Java
- importJava.sql.*;
- importJavax.sql.*;
- importJava.io.*;
- importJavax.servlet.*;
- importJavax.servlet.http.*;
- publicclassreturnMsgextendsHttpServlet
- {
- publicvoiddoGet(HttpServletRequestreq,
- HttpServletResponseres)
- throwsServletException,IOException
- {
- res.setContentType("text/Html;charset=gb2312");
- //設置返回的類型
- ServletOutputStreamout=res.getOutputStream();//得到輸出流
- DataOutputStreamDOS=newDataOutputStream(out);
- DOS.writeUTF("這是測試結果");
- DOS.writeUTF("下面是數據信息");
- Connectionconn=null;
- ResultSetrs=null;
- Statementstmt=null;
- try
- {
- Stringdrname="sun.jdbc.odbc.JdbcOdbcDriver";
- //這些是連接數據庫的驅動
- Class.forName(drname);
- Stringurl="jdbc:odbc:mydata";
- conn=DriverManager.getConnection(url,"sa","");
- stmt=conn.createStatement();
- rs=stmt.executeQuery("select*fromusers");
- //查詢數據庫表表名為user
- while(rs.next())
- {
- DOS.writeUTF("\n用戶ID:"+rs.getString("id"));
- //得到字段ID和字段name內容
- DOS.writeUTF("\n用戶名:"+rs.getString("name"));
- }
- rs.close();
- stmt.close();
- conn.close();
- }
- catch(Exceptione)
- {}
- }
- }
在WEB-INF目錄下新建web.XML文件,其內容如下所示:
- <?XMLversionXMLversion="1.0"encoding="ISO-8859-1"?>
- <web-appXMLnsweb-appXMLns="http://Java.sun.com/XML/ns/J2EE"
- XMLns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://Java.sun.com/XML/ns/J2EEh
- ttp://Java.sun.com/XML/ns/J2EE/web-app_2_4.xsd"
- version="2.4">
- <servlet>
- <servlet-name>returnMsg</servlet-name>
- <servlet-class>returnMsg</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>returnMsg</servlet-name>
- <url-pattern>/returnMsg</url-pattern>
- </servlet-mapping>
- </web-app>
編譯該Servlet。
續前J2ME通過Servlet訪問數據庫:
4.編寫MIDlet應用
打開WirelessToolKit2.5.2,新建項目,項目名字為6D1,MIDlet類名為NetMain。
進入J2MEwtk\2.5.2\aPPS\6D1\src目錄,在該目錄下創建兩個java文件,一個為NetMain.java,一個為SendMsg.Java。
NetMain.Java文件的內容如下所示:
- //NetMain.Java
- importJavax.microedition.midlet.*;
- importJavax.microedition.lcdui.*;
- //繼承MIDlet實現CommandListener接口
- publicclassNetMainextendsMIDletimplementsCommandListener
- {
- privateDisplaydis;
- SendMsgsm;
- privateCommandsd=newCommand("連接",Command.OK,1);
- //發送數據的按鈕
- publicNetMain()
- {dis=Display.getDisplay(this);//得到顯示對象
- }
- publicvoidstartApp()
- {
- Formf=newForm("聯網測試");//顯示在屏幕的Form對象
- f.append("發送數據");
- f.addCommand(sd);
- f.setCommandListener(this);//設置按鈕監聽
- dis.setCurrent(f);
- }
- publicvoidpauseApp()
- {}
- publicvoiddestroyApp(booleanun)
- {}
- publicvoidexit()
- {destroyApp(false);
- notifyDestroyed();
- }
- publicvoidcommandAction(Commandc,Displayabled)
- {if(c==sd)
- {sm=newSendMsg(this);//調用sendMsg類,將本類作為參數傳入
- dis.setCurrent(sm);//顯示sendMsg類
- }}}