明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用J2ME與ASP創(chuàng)建數(shù)據(jù)庫連接

[摘要]J2ME是利用HttpConnection建立HTTP連接,然后獲取數(shù)據(jù),ASP也是利用HTTP協(xié)議,因而可以利用J2ME與ASP建立連接,從而訪問數(shù)據(jù)庫。ASP是MicroSoft公司的服務(wù)器端動(dòng)...

J2ME是利用HttpConnection建立HTTP連接,然后獲取數(shù)據(jù),ASP也是利用HTTP協(xié)議,因而可以利用J2ME與ASP建立連接,從而訪問數(shù)據(jù)庫。ASP是MicroSoft公司的服務(wù)器端動(dòng)態(tài)頁面技術(shù),可以根據(jù)請(qǐng)求運(yùn)行服務(wù)器端程序然后返回結(jié)果,這也給MIDP提供很多有用的功能。由于MIDP客戶端處理能力不強(qiáng),因此可以把一些處理任務(wù)放在服務(wù)器端,利用ASP完成一些它不能完成的任務(wù),如操作數(shù)據(jù)庫。這里給出一個(gè)簡(jiǎn)單的例子,說明MIDP如何與ASP進(jìn)行交互,完成數(shù)據(jù)庫操作。

(1)確保IIS WEB服務(wù)器正常工作。

(2)建立一個(gè)測(cè)試數(shù)據(jù)庫:采用ACCESS數(shù)據(jù)庫,生成一個(gè)數(shù)據(jù)庫文件保存到D:\J2ME\J2METEST\IIS\DATEBASE中,文件名是J2MEtest.mdb.然后新建一個(gè)數(shù)據(jù)庫表-Message,創(chuàng)建的表包含以下字段:ID(自動(dòng)編號(hào))、MESSAGE(文本)、IP(文本)、DATE(日期)。

(3)創(chuàng)建ASP程序

以下是ASP程序源代碼,文件名為ConnectASP.asp,保存到D:\J2ME\J2METEST\IIS\ASP中。

 
//ConnectASP.asp
<%@LANGUAGE=VBScript%>
<%
strDBLocation=Server.Mappath("/database/j2meTest.mdb");
strConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;
 Data Source="+strDBLocation;
var cnn=Server.CreateObject("ADODB.Connection");
cnn.Open(strConnectionString);
rs=Server.CreateObject("ADODB.Recordset");
ip=Request.ServerVariables("REMOTE_ADDR");
message=Request.QueryString("message");
rs.ActiveConnection=cnn;
rs.CursorType=1;
rs.LockType=2;
rs.Source="Message";
rs.Open();
rs.AddNew();
rs("Message")=message;
rs("IP")=ip;
rs("Date")=(new Date()).getVarDate();
rs.Update();
rs.Close();
cnn.Close();
Response.Write("The message writed successfully.\n");
%>
 


然后在瀏覽器中輸入以下URL:http://localhost/asp/ConnectASP.asp?message=Hello+J2ME!

如果運(yùn)行成功,瀏覽器會(huì)輸出語句“The message weited successfully.”,然后打開數(shù)據(jù)庫文件查看表MESSAGE,一條記錄已經(jīng)成功寫入。ID為1,Message為Hello J2ME,IP為127.0.0.1,DATE為當(dāng)前日期。

(4)編寫MIDlet程序

接下來編寫MIDP程序,在MIDlet中建立一個(gè)HTTP連接,其URI指向這個(gè)ASP文件,并附帶參數(shù)。

//ConnectASP.java
import javax.microedition.midlet.*;
import javax.miceoedition.io.*;
import java.io.*;

public class ConnectASP extends MIDlet{
 public void startApp(){
  try{
    testASP();測(cè)試ASP連接
    }catch(IOException e){
      System.out.println("error");
    }
  notifyDestroyed();
}

void testASP()throws IOException{
try{
String uri="http://localhost/asp/ConnectASP.asp?message=Hello+J2ME!";
HttpConnection conn=(HttpConnection)Connector.open(uri);
InputStream in=conn.openInputStream();
int ch;
while((ch=in.read()!=-1){
System.out.print((char)ch);
}
in.close();
conn.close();
}catch(ConnectionNotFoundException e){
System.out.println("Http could not be opened");
}
}

public void pauseApp(){}
public void destroyApp(boolean unconditional){}
}
 


編譯并運(yùn)行這個(gè)MIDlet,控制臺(tái)會(huì)輸出語句“The message writed successfully.",然后打開數(shù)據(jù)庫查看表MESSAGE,一條記錄已經(jīng)成功寫入。