基于Android的嵌入式Web服務(wù)器設(shè)計
2.2 Servlet和SQLite的設(shè)計與使用
Servlet是位于服務(wù)器端的Java應(yīng)用程序,它由Web服務(wù)器進行加載。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。Servlet可以用來擴充Java—enabled Server的基本功能,目前最常使用的是增加Web服務(wù)器的互動性。但它可以被用來擴充任何種類的服務(wù)器,如FTP服務(wù)器。
最早用來產(chǎn)生動態(tài)網(wǎng)頁服務(wù)的方法是CGI(Common Gateway Interface)。它的做法是透過Web服務(wù)器將客戶端的請求送給一個進程,這個進程再將請求的執(zhí)行結(jié)果傳回客戶端,只要是一個新的請求,不管它是否和先前的請求相同,CGI都產(chǎn)生一個新的進程來處理,這樣非常耗費系統(tǒng)資源。在Servlet中每一個請求都是由同一個進程下的線程所服務(wù),而且相同的請求會由同一個線程所執(zhí)行。同時Servlet使用Java語言來開發(fā)的,具有跨平臺特性,而這個優(yōu)點更是CGI所沒有的。因此,Servlet提供了強有力且具有效率的技術(shù)來取代CGI。
要在一個i—jetty的web工程中支持servlet,大致的步驟如下:
1)在ecplise中新建Android項目,并添加servlet的支持文件;
2)在項目中新建servlet并配置web.xml,編寫servlet;
3)編譯完成后會自動生成.class文件,需要將.class文件轉(zhuǎn)換成Android能執(zhí)行的.dex文件;
4)將.dex文件和web.xml等文件按一定順序保存在一個web工程目錄下,然后打包成一個war包。
SQLite是一款輕型的數(shù)據(jù)庫,能夠跟很多程序語言相結(jié)合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比它們都快。不像常見的客戶端/服務(wù)器結(jié)構(gòu)范例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協(xié)議是在編程語言內(nèi)的直接API調(diào)用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數(shù)據(jù)庫(定義、表、索引和數(shù)據(jù)本身)都在宿主主機上存儲在一個單一的文件中。Android操作系統(tǒng)采用標(biāo)準(zhǔn)SQLite數(shù)據(jù)庫,提供管理數(shù)據(jù)庫相關(guān)的API。所以,只要在Servlet中引入開發(fā)Android程序提供的API,就能實現(xiàn)用Servlet操作SQLite。Setv let調(diào)用SQLite數(shù)據(jù)庫的方法如下:
首先是數(shù)據(jù)庫的建立,在Android中使用SQLiteDatabase的靜態(tài)方法openOrCreateDatabase(String path,SQLiteDatabae.Cursor Fact ory factory)打開或者創(chuàng)建一個數(shù)據(jù)庫。然后創(chuàng)建表,為數(shù)據(jù)庫添加插入數(shù)據(jù),刪除數(shù)據(jù),修改數(shù)據(jù),查詢數(shù)據(jù)等功能。最后是Servlet的設(shè)計,在eclipse中建立Androidproiect,在Web工程中導(dǎo)入android.jar,再引入需要的操作數(shù)據(jù)庫的類:
本文引用地址:http://2s4d.com/article/201610/306035.htm
評論