999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于J2EE技術實現J2ME嵌入式系統訪問的網絡數據庫

2010-12-31 00:00:00
考試周刊 2010年30期

摘 要: 隨著手機功能的增強,通過無線網絡訪問企業數據庫的移動數據庫應用必然會進一步發展以提供更多的功能,同時其開發也會變的越來越復雜。本文通過研究J2ME和J2EE技術架構的特點,提出一套完整的移動設備訪問數據庫解決方案,詳細解析了移動客戶端和服務器端的設計方案,對移動查詢系統的架構、J2ME客戶端的實現和使用Hibernate連接數據庫進行了完整的剖析。

關鍵詞: J2ME J2EE 嵌入 Hibernate

1.前言

數據庫操作是現在項目開發的根本。現在不管用什么語言編寫程序,一般都會涉及數據庫的連接,那么在使用J2ME開發平臺編寫手機應用程序的過程中也避免不了要涉及數據庫的連接。J2EE是一種用于建立服務器應用程序的系統平臺,它被定義為開發、部署、管理多層以網絡和組件技術為基礎、以服務器端為中心的企業級應用提供的開放的標準平臺。在這里本文主要用到了Hibernate。Hibernate是一個高性能的ORM持久性和查詢服務。Hibernate是Java應用和關系數據庫之間的橋梁,它負責Java對象和關系數據之間的映射。Hibernate內部封裝了通過JDBC訪問數據庫的操作,向上層應用提供了面向對象的數據訪問的API。以下是我在開發J2ME過程中的一點體會,希望能得到大家的指點。

2.系統設計思路

在這樣的中大型項目中,首先要設計完善的公共類,包括可繼承的控件基類、資源類、Hibernate業務邏輯類、Hibernate配置文件等。公共類要提供各種所需的API讓程序調用。Hibernate業務邏輯類主要提供訪問數據庫中指定行列數據、保存指定記錄到數據庫、排序現有記錄等的各種API。公共類還要求高度獨立,可以移植到其它類似數據席的應用中去。其次,設計統一的應用層架構,使不同的開發人員在相同的模式下進行開發,便于管理和查錯。

在本文討論的項目中,描述一個最簡單流程為:用戶在手機端進入某個查詢界面。通過選擇和錄入等方式設置查詢條件。查詢條件被發送至服務器。在服務器端有相應Servlet類接收手機發送的數據,調用Hibernate業務邏輯類操作數據庫,并將返回的結果集返回到手機客戶端并顯示。流程如下圖:

3.手機通過Servlet 與Web 服務器通信

圖2表示了手機客戶端程序MIDlet通過與Web服務器上Servlet 的交互完成訪問網絡數據庫示意圖:

基于J2ME平臺開發手機客戶端程序,支持打開網絡連接、傳送數據、訪問遠程服務器但,并不支持直接訪問數據庫的能力。因此,我們需要編寫一套服務器端程序來接受手機客戶端的請求指令,通過解析請求、調用Hibernate業務邏輯類、響應結果的方式把數據再傳回給手機。

4.JAVA手機訪問數據庫的實現

4.1實例描述

下面是一個J2ME與Servlet結合實現仿真手機查詢計算機考試成績的例子。用戶在手機端輸入要查詢的學生學號、密碼,Midlet 程序將參數傳送Web服務器端Servlet,Servlet程序根據傳來的學號、密碼,通過Hibernate連接數據庫服務器mysql,將讀取的學生成績信息以UF8格式編碼傳送給手機端Midlet程序。以下為Midlet 和Servlet的主要代碼。

4.2 開發手機客戶端Midlet

public void commandAction(Command c,Displayable s){

Form form1 = new Form(\"查詢結果\") ; //建立查詢結果界面

display.setCurrent(form1) ;

StringBuffer sb=new StringBuffer();

String stid=tf.getString();//獲取文本框中所輸入的學號

String url=\"http://127.0.0.1:8080/servlet/

ServletScore?stid=\"+stid;

HttpConnection conn =1; DataInputStream in=1;

try{ conn =(HttpConnection)Connector.open(url);

in= conn.openDataInputStream();

String ok=in.readUTF();

if(ok.equals(\"find\")){//將查詢結果放入sb

sb.append(\"學號\"+in.readUTF()+\"\\");

}else {sb.append(in.readUTF()+\"\\");}

}catch (Exception e){ sb.append(e.toString());

}finally{

try{

if(in!=1)in.close();

if(conn!=1)conn.close();

}catch(java.io.IOException ioe){}

}

form1.append(sb.toString());//顯示成績信息

}

4.3 開發服務器端響應servlet

Servlet的doPost方法代碼如下:

DataOutputStream out = new DataOutputStream(new

BufferedOutputStream(response.getOutputStream()));

String stid=request.getParameter(\"stid\");

TestUser tu = new TestUser();

User user = new User();

User=tu.getUser(stid);

If(user != 1){

String tycj =user.getTyjc();

String whcj =user.getWhjc();

String ok=\"find\";

out.writeUTF(ok);

out.writeUTF(tycj);

out.writeUTF(whcj);

}

4.4 Hibernate連接MySql數據庫的配置

Hibernate配置文件主要用于配置數據庫連接和Hibernate運行時所需的各種屬性,這個配置文件應該位于應用程序或Web程序的類文件夾classes中。Hibernate配置文件支持兩種形式,一種是xml格式的配置文件,另一種是Java屬性文件格式的配置文件,采用“鍵=值”的形式。建議采用xml格式的配置文件。xml配置文件可以直接對映射文件進行配置,并由Hibernate自動加載,而prop-erties文件則必須在程序中通過編碼加載映射文件。兩種配置方式的使用方法類似,本文主要以第一種方式為主詳細介紹如下:

Hibernate默認的xml格式的配置文件名稱為hibernate.cfg.xml。下面是連接MySql的Hibernate的xml配置文件。

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/stumanage

root

root

org.hibernate.dialect.MySQLDialect

org.hibernate.transaction.JDBCTransactionFactory

true

在上面的代碼中,\"localhost\"代表本地MySQL服務器,如果想連接其他服務器可以修改為要連接的MySQL服務器的名稱;\"stumanage\"為要連接的數據庫名稱;\"root\"為登錄用戶名;\"root\"表示用戶密碼;\"org.hibernate.transaction.JDBCTransaction

\"Factory\"表示采用JDBC的事務處理機制;\"UserForm.hbm.xml\"為持久化類對應的映射文件名稱。

4.5 hibernate-MySQL配置文件及簡單應用(CRUD)

User.hbm.xml 配置如下:

not-1=\"true\" />

DAO類核心代碼如下:

public User getUser(String User_id){

Session session = sessionFactory.openSession();

Transaction tx = 1; User user = 1;

try{

tx = session.beginTransaction();

Query query = session.createQuery(\"from User where id = \" + User_id);

List list = query.list();

Iterator it = list.iterator();

while (it.hasNext()){ user = it.next();}

tx.commit();

} catch (Exception e) { tx.rollback();

} finally{ session.close();}

return user;

}

4.6程序運行結果

編寫編譯servlet程序并放到相應的servlet目錄。啟動Web服務器,啟動mysql數據庫服務器,運行J2MEWTK的ktoolbar,建立項目編寫手機端代碼,編譯后選擇defaultphone手機模擬器,運行界面如圖3所示,在第一個界面輸入要查的學號,點擊OK,即可訪問服務器端ServletScore,獲得查詢結果。

5.結語

目前基于J2ME手機的移動信息管理和數據應用都比較簡單,但隨著網絡和硬件功能的增強,出現類似于臺式機數據庫系統復雜度的移動應用將會越來越多。本文提出了一種輕量級的移動電子商務開發架構,充分利用J2ME和J2EE技術各自的特點,將兩者有機結合起來,開發出輕便的J2ME客戶端和J2EE服務器端,從而來滿足企業級商業平臺開發的需要,對移動數據信息集成具有一定的實用參考意義。

參考文獻:

[1]唐潤華,章璐,劉外喜.基于J2ME-J2EE移動集成查詢系統的設計與實現.科學技術與工程,2008,8,(1):87-89.

[2]唐自仰,張克君.基于J2ME/Servlet的手機聊天系統.計算機工程,2009,35,(10):262-263.

[3]宋漢增,沈琳.利用Hibernate對象持久化服務簡化Java數據庫訪問.計算機應用,2003,23,(12):135-137.

主站蜘蛛池模板: 国产综合另类小说色区色噜噜 | 亚洲精品国产精品乱码不卞| 精品一区二区三区无码视频无码| 麻豆精品国产自产在线| 国产拍在线| 国产精品久久精品| 97精品久久久大香线焦| 亚洲an第二区国产精品| 99精品国产高清一区二区| 制服丝袜在线视频香蕉| www.youjizz.com久久| 国产va在线观看免费| 无码视频国产精品一区二区| A级毛片高清免费视频就| 亚欧成人无码AV在线播放| 亚洲精品无码专区在线观看| 人妻无码中文字幕一区二区三区| 亚洲日本在线免费观看| 亚洲成人播放| 日韩小视频网站hq| 国产免费好大好硬视频| 亚洲高清免费在线观看| 好吊妞欧美视频免费| 免费观看亚洲人成网站| 国产欧美日韩另类| 一级毛片高清| 国产男女XX00免费观看| 国产在线第二页| 亚洲中文字幕无码爆乳| 日本国产在线| 精品免费在线视频| 日韩国产亚洲一区二区在线观看| 亚洲日韩精品伊甸| 国产伦精品一区二区三区视频优播| 亚洲最大福利网站| 国产精品制服| 国产精品浪潮Av| 毛片一级在线| 又大又硬又爽免费视频| 一级毛片在线播放免费观看 | 一级全黄毛片| 男人天堂亚洲天堂| 日本午夜视频在线观看| 亚洲一区二区约美女探花| 欧美日韩国产精品综合| 国产69精品久久久久妇女| 美女啪啪无遮挡| 欧美成人精品高清在线下载| 亚洲综合香蕉| 99精品视频九九精品| 国产乱人激情H在线观看| 亚洲AV色香蕉一区二区| 天堂av综合网| 一本大道视频精品人妻 | 亚洲成人黄色网址| 午夜免费小视频| 国产又爽又黄无遮挡免费观看| 中文天堂在线视频| 亚洲欧美色中文字幕| 亚洲国产精品人久久电影| 无码AV日韩一二三区| 99国产在线视频| 国产精品观看视频免费完整版| 国产人碰人摸人爱免费视频 | 亚洲女同一区二区| 亚洲美女一区| 亚洲天堂啪啪| 国产精品区视频中文字幕| 精品少妇三级亚洲| 国产av无码日韩av无码网站| 久久综合九九亚洲一区| 97超级碰碰碰碰精品| 久久久久亚洲av成人网人人软件| 草逼视频国产| 美女亚洲一区| 亚洲最新在线| 在线免费亚洲无码视频| a免费毛片在线播放| 性欧美久久| 色首页AV在线| 99热在线只有精品| 九九九精品成人免费视频7|