程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME通過Servlet訪問數據庫的幾大步驟

J2ME通過Servlet訪問數據庫的幾大步驟

編輯:J2ME

你知道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目錄下,其內容如下所示:

  1. //returnMsg.Java  
  2.  
  3. importJava.sql.*;  
  4.  
  5. importJavax.sql.*;  
  6.  
  7. importJava.io.*;  
  8.  
  9. importJavax.servlet.*;  
  10.  
  11. importJavax.servlet.http.*;  
  12.  
  13.  
  14. publicclassreturnMsgextendsHttpServlet  
  15.  
  16. {  
  17.  
  18. publicvoiddoGet(HttpServletRequestreq,
  19. HttpServletResponseres)
  20. throwsServletException,IOException  
  21.  
  22. {  
  23.  
  24. res.setContentType("text/Html;charset=gb2312");
  25. //設置返回的類型  
  26.  
  27. ServletOutputStreamout=res.getOutputStream();//得到輸出流  
  28.  
  29. DataOutputStreamDOS=newDataOutputStream(out);  
  30.  
  31. DOS.writeUTF("這是測試結果");  
  32.  
  33. DOS.writeUTF("下面是數據信息");  
  34.  
  35. Connectionconn=null;  
  36.  
  37. ResultSetrs=null;  
  38.  
  39. Statementstmt=null;  
  40.  
  41. try  
  42.  
  43. {  
  44.  
  45. Stringdrname="sun.jdbc.odbc.JdbcOdbcDriver";
  46. //這些是連接數據庫的驅動  
  47.  
  48. Class.forName(drname);  
  49.  
  50. Stringurl="jdbc:odbc:mydata";  
  51.  
  52. conn=DriverManager.getConnection(url,"sa","");  
  53.  
  54.  
  55. stmt=conn.createStatement();  
  56.  
  57. rs=stmt.executeQuery("select*fromusers");
  58. //查詢數據庫表表名為user  
  59.  
  60. while(rs.next())  
  61.  
  62. {  
  63.  
  64. DOS.writeUTF("\n用戶ID:"+rs.getString("id"));
  65. //得到字段ID和字段name內容  
  66.  
  67. DOS.writeUTF("\n用戶名:"+rs.getString("name"));  
  68.  
  69. }  
  70.  
  71. rs.close();  
  72.  
  73. stmt.close();  
  74.  
  75. conn.close();  
  76.  
  77. }  
  78.  
  79. catch(Exceptione)  
  80.  
  81. {}  
  82. }  
  83. }  

在WEB-INF目錄下新建web.XML文件,其內容如下所示:

  1. <?XMLversionXMLversion="1.0"encoding="ISO-8859-1"?> 
  2.  
  3. <web-appXMLnsweb-appXMLns="http://Java.sun.com/XML/ns/J2EE" 
  4.  
  5. XMLns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  6.  
  7. xsi:schemaLocation="http://Java.sun.com/XML/ns/J2EEh  
  8.  
  9. ttp://Java.sun.com/XML/ns/J2EE/web-app_2_4.xsd"  
  10.  
  11. version="2.4"> 
  12.  
  13. <servlet> 
  14.  
  15. <servlet-name>returnMsg</servlet-name> 
  16.  
  17. <servlet-class>returnMsg</servlet-class> 
  18.  
  19. </servlet> 
  20.  
  21. <servlet-mapping> 
  22.  
  23. <servlet-name>returnMsg</servlet-name> 
  24.  
  25. <url-pattern>/returnMsg</url-pattern> 
  26.  
  27. </servlet-mapping> 
  28.  
  29. </web-app> 
  30.  

編譯該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文件的內容如下所示:

  1. //NetMain.Java  
  2.  
  3. importJavax.microedition.midlet.*;  
  4.  
  5. importJavax.microedition.lcdui.*;  
  6.  
  7. //繼承MIDlet實現CommandListener接口  
  8.  
  9. publicclassNetMainextendsMIDletimplementsCommandListener  
  10.  
  11. {  
  12.  
  13. privateDisplaydis;  
  14.  
  15. SendMsgsm;  
  16.  
  17. privateCommandsd=newCommand("連接",Command.OK,1);
  18. //發送數據的按鈕  
  19.  
  20. publicNetMain()  
  21.  
  22. {dis=Display.getDisplay(this);//得到顯示對象  
  23.  
  24. }  
  25.  
  26. publicvoidstartApp()  
  27.  
  28. {  
  29.  
  30. Formf=newForm("聯網測試");//顯示在屏幕的Form對象  
  31.  
  32. f.append("發送數據");  
  33.  
  34. f.addCommand(sd);  
  35.  
  36. f.setCommandListener(this);//設置按鈕監聽  
  37.  
  38. dis.setCurrent(f);  
  39.  
  40. }  
  41.  
  42. publicvoidpauseApp()  
  43.  
  44. {}  
  45.  
  46. publicvoiddestroyApp(booleanun)  
  47.  
  48. {}  
  49.  
  50. publicvoidexit()  
  51.  
  52. {destroyApp(false);  
  53.  
  54. notifyDestroyed();  
  55.  
  56. }  
  57. publicvoidcommandAction(Commandc,Displayabled)  
  58.  
  59. {if(c==sd)  
  60.  
  61. {sm=newSendMsg(this);//調用sendMsg類,將本類作為參數傳入  
  62.  
  63. dis.setCurrent(sm);//顯示sendMsg類  
  64.  
  65. }}}  
  66.  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved