在 BlackBerry 上實(shí)現(xiàn) OTA(Over The Air)
1 準(zhǔn)備 tomcat
服務(wù)器使用 tomcat 。一般在測試的機(jī)器上,你可能也安裝了 MDS 。MDS( Mobile Data System )也是一個(gè)服務(wù)器,默認(rèn)使用了 8080 端口。這和 tomcat 的默認(rèn)工作端口相沖突。所以,最好更改 tomcat 的工作端口。
1.1 修改端口
找到 conf 目錄下的 server.xml 文件,可能有如下標(biāo)志:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
更改 8080 為 8081 或者其他的可用端口。
1.2 添加文件類型支持
Web服務(wù)器必須為.cod文件和.jad文件設(shè)置MIME類型。
對于.cod文件,MIME類型是application/vnd.rim.cod。
對于.jad文件,MIME類型是text/vnd.sun.j2me.app-descriptor。
對于.jar文件,MIME類型是application/java-archive.
打開conf 目錄下的 web.xml 文件,添加如下類似的三個(gè)描述:
< mime-mapping >
< extension > cod </ extension >
< mime-type > application/vnd.rim.cod </ mime-type >
</ mime-mapping >
2 準(zhǔn)備下載文件
2.1 使用JDE生成的 jad 文件
OTA過程中,其實(shí)只要在頁面連接中指定 jad 文件的地址就可以了。下載 jad ,BlackBerry 瀏覽器會自動(dòng)讀取 jad 文件的內(nèi)容找到對應(yīng)的 cod 文件或者 jar 文件。要是針對 BlackBerry 應(yīng)用,有 cod 文件就可以了。JDE會生成的 jad 文件中,也有 jar 文件大小和位置的描述,也會生成 jar 文件。 但是 jar 文件對于 BlackBerry 應(yīng)用來說這不是必須的。
2.2 準(zhǔn)備供下載 cod 文件
這一步,有點(diǎn)奇怪。我一直無法將 JDE 生成的 jad 文件中對于 cod 文件的描述和JDE實(shí)際生成 cod 文件對應(yīng)起來,因?yàn)槲募€(gè)數(shù)和大小總是無法對應(yīng)。后來使用了前面工具才偶然發(fā)現(xiàn)了 jad 文件中對應(yīng)的 cod 文件。需要先安裝簽名工具,要是沒有安裝簽名工具,就是下載到手機(jī)上,也是無法使用的。
我注意到,點(diǎn)擊 全名的 cod 文件 (就是沒有跟隨有數(shù)字的 cod 文件,有些 cod 文件有這樣的形式 name-1.cod) 會彈出一個(gè)窗口,顯示文件的狀態(tài),指示哪些需要簽名,哪些已經(jīng)簽名。請求簽名,輸入密碼,驗(yàn)證后,簽名成功,可以看到,當(dāng)前文件夾下生成了一個(gè)名字隨機(jī)的文件夾,不要關(guān)閉簽名窗口,要是關(guān)閉,這個(gè)新生成的名字隨機(jī)的文件夾就會消失。進(jìn)入這個(gè)文件夾,可以看到一些 cod 文件,將里面的文件拷出,這些 cod 文件和 jad 文件中的描述是一致。將這些 cod 文件拷貝到 tomcat 中用于放置OTA資源的文件目錄。
3 一個(gè)簡單的例子
在 tomcat 的 webapps 文件夾下 創(chuàng)建 ota 文件夾:
3.1. 在 ota 文件夾下,制作一個(gè)簡單的 index.jsp:
<html><body><center>
Now time is: <%=new java.util.Date()%>
<br />
<a href="res/yourapplication.jad">yourapplication</a>
</center></body></html>
3.2. 準(zhǔn)備一個(gè) ota/WEB-INF/web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
3.3. 將上一步準(zhǔn)備好的 cod 文件和 jad 文件都放在 ota/res 文件夾下
可能有如下文件: yourapplication.cod, yourapplication-1.cod, yourapplication-2.cod, yourapplication.jad
3.4. 在 BlackBerry 上開啟瀏覽器
打入 http://214.2.13.4/ota ,更改成你自己主機(jī)的ip。點(diǎn)擊連接,瀏覽器會自動(dòng)開始OTA過程。