說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,
產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是

桌面Applet,這當然是以Java Web Start方式呈現,及javafx 的jnlp script的寫法,及jar檔

的簽署認證等等。

1.將我附上的壓縮檔jdbcfxSalary.zip解壓縮後,以netbeans開啟,jdbcfx及salary這兩
個porject,選meun,File--->Open Project,選到目錄.\jdbcfxSalary\netbeans_project\,
分別在目錄.\jdbcfxSalary\netbeans_project\jdbcfx及.\jdbcfxSalary\netbeans_project\salary
,分別開啟,如下圖

請確定你已設定好 Tomcat Server,參考第一篇。

2.開啟project後,他會自動把我有用到的lib加入(參考第一篇步驟8及第二篇步驟7),
如你有修改檔案,按一下jdbcfx project built來產生最新的前端要部署的jdbcfx.jar檔,
會在這個位置,.\jdbcfxSalary\netbeans_project\jdbcfx\dist\jdbcfx.jar,而按一下salary
project built會產生最新的後端部署的salary.war檔,會在這個位置,
.\jdbcfxSalary\netbeans_project\salary\dist\salary.war,如下圖

3.然後資料庫的部分SQL Server 2000在你已建立的資料庫的管理介面執行我附上的
salary_table.sql指令,在目錄.\jdbcfxSalary\salary_table.sql,這個主要是建立資料表
salary,欄位有id,name,dep,address,salary,mapfile。

4.需修改yj.servlet.utility.DB_Utility.java裡的變數
我的資料庫伺服器是localhost,而資料庫名稱是purchase,
String connUrl = "jdbc:jtds:sqlserver://localhost:1433/purchase";
String userName = "sa";(修改成你的帳號)
String password = "123456";(修改成你的密碼)

5.簽署jar檔,先產生加密Key,命令如下
keytool -genkey -keystore salaryKeystore -alias salary,執行後會設密碼及一些認證資訊
你只要依序輸入即可,我密碼是設123456,預設會產生加密檔案到
C:\Documents and Settings\使用者名稱\salaryKeystore,我們將他copy到目錄位置下,
.\jdbcfxSalary\netbeans_project\salary\web\salaryKeystore,因我會有個bat命令檔放在
.\jdbcfxSalary\copylibAndgenKey.bat這個檔主要是用我們產生的key做簽署前端會
下載的library,cos.jar及jdbcfx.jar,
當使用者下載時會出現認證框框,如使用者信任或執行,即可執行更多
客戶端權限的動作。

6.上面步驟完成後,依序執行下列部署步驟:
a:build jdbcfx project產生最新檔.\jdbcfxSalary\netbeans_project\jdbcfx\dist\jdbcfx.jar
b:excute .\jdbcfxSalary\copylibAndgenKey.bat
c:build salary project
d:然後copy .\jdbcfxSalary\netbeans_project\salary\dist\salary.war 到你對外發佈的
Tomcat Server 的根目錄\webapps目錄底下,如你已啟動 Tomcat Server,會自動
在.\webapps目錄下產生目錄salary,即表成功部署。

7.前端Java Web Start啟動方式的jnlp script放在
Tomcat Server 的根目錄\webapps\salary目錄底下的檔案,

Browser Applet啟動方式需下面兩個檔案
jdbcfx_applet_browser.html
jdbcfx_browser.jnlp

Java Web Start (for Application) 啟動方式需下面兩個檔案
jdbcfx_desktop.html
jdbcfx_desktop.jnlp

Java Web Start (for Applet) 啟動方式需下面兩個檔案
jdbcfx.html
jdbcfx.jnlp

產生的長條圖跟圓餅圖也放在Tomcat Server 的根目錄\webapps\salary目錄底下
bar.png,pie.png這兩的檔案會動態依你輸入的查詢條件改變 的比例圖

google map 的 template檔也在Tomcat Server 的根目錄\webapps\salary目錄底下
map_temp.html,這個檔案第五行有個key=的參數值是你要到google map api去申請
key,請到底下網址去申請(以真實domain name or ip而我是以localhost)如下圖
http://code.google.com/intl/zh-TW/apis/maps/signup.html
拉到底下輸入http://localhost/,勾選同意條款,按下Generate API Key按鈕,即可產
生key值,再把這key值copy到上述key=值,

這個 map_temp.html檔,主要是當使用者欲知道怎到某員工家的地圖時,由前端選
擇某員工後,按下前端程式的google map按鈕,根據資料庫員工的address欄位值,
寫入map_temp.html,存到Tomcat Server 的根目錄\webapps\salary目錄底下,檔名是
以資料庫的mapfile欄位對應的值,google map 也支援中文地址英譯後的英文地址,
漢語拼音或通用拼音應該都可以,但有時漢語拼音都會出不來,且map_temp.html裡
的charset 需設為utf-8,如要顯示中文需設為big5,顯示出來的地圖才不會有問題,
我預設用中文地址英譯。

8.以開發環境NetBeans IDE 如何 Run 這支程式,很簡單如下圖,
先 Run salary project,請確定你設好 Tomcat Server,參考第一篇,以及jdbc都已設
定好,參考本篇步驟3跟4

然後在 Run salary project,可看到如下圖,輸入查詢文字後可以按搜尋更新鈕,統計圖會
跟著動態改變,按翻轉鈕會切換長條圖或圓餅圖,然後在點toolbar紅色圈圈,看能否顯示
google map,如下圖


這個英文地址是台南市政府。

9.所以部署好之後,你的啟動應用程式方式有以下幾種
a.在瀏覽器輸入網址 http://localhost:8081/salary/jdbcfx_applet_browser.html
這個是瀏覽器的 Applet 方式啟動

b.在瀏覽器輸入網址 http://localhost:8081/salary/jdbcfx.html
這個是會在桌面產生捷徑的 Applet 方式啟動

c.在瀏覽器輸入網址 http://localhost:8081/salary/jdbcfx_desktop.html
這個是會在桌面產生捷徑的 Application 方式啟動

10.這樣是不是很容易就可以完成你的應用程式部署了呢,由於寫第三篇隔了較久,
NetBeans 跟 JavaFX 都已出了較新版本,我試過 NetBeans IDE 6.7.1 for JavaFX 1.2,
也可以 Run,總之請下載最新版本,在底下網址下載
http://javafx.com/downloads/windows.jsp

JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)的更多相关文章

  1. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  2. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (2):JavaFX建立及程式碼說明 (转帖)

    說明:就如同標題一樣,前端會用到JavaFX.Swing.Java Web Start.Google Map 的技術, 後端就是JDBC.Servlet的技術,以及我們會簽署認證jar檔案,這樣才可存 ...

  3. [Xamarin.Android] 結合Windows Azure與Google cloud message 來實現Push Notification (转帖)

    這一篇要討論如何使用Xamarin.Android 整合GCM以及Windows Azure來實作Android手機上的推播通知服務. 這篇文章比較著重概念的部分,在開始讀這篇之前,也可以先參考一下X ...

  4. 如何在Google Map中处理大量标记(ASP.NET)(转)

    如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...

  5. [Xamarin.Android] 如何使用Google Map V2 (转帖)

    Google Map v1已經在2013年的3月開始停止支援了,目前若要在你的Android手機上使用到Google Map,就必須要使用 到Google Map v2的版本.在Xamarin要使用G ...

  6. Google Map API Version3 :代码添加和删除marker标记

    转自:http://blog.sina.com.cn/s/blog_4cdc44df0100u80h.html Google Map API Version3 教程:在地图 通过代添加和删除mark标 ...

  7. Google Map API V3开发(1)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

  8. Google Map API V3开发(2)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

  9. Google Map API V3开发(3)

    Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...

随机推荐

  1. Hibernate QBC运算符

    HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <> Restrictions.ne() 不等于not   equal > Restrict ...

  2. inotify resources exhausted

    inotify resources exhausted tail -f /var/log/kubelet.log tail: inotify resources exhausted tail: ino ...

  3. .net 控件

    DevComponents.DotNetBar11.8.0.0:百度网盘里 DevExpress13.2.8:百度网盘里

  4. Subliem Text 3 的安装和使用

    前两天将Sublime Text3简单的看了看,发现是好经典的开发工具.... 1. sublime Text安装:www.sublimetext.com 此时的版本是: Build 3103 可用的 ...

  5. 【转载】Java中的回车换行符/n /r /t

    source:http://hane00.blog.163.com/blog/static/1600615220126204446809/ '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标 ...

  6. Android Fragment应用实战,使用碎片向ActivityGroup说再见

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191 现在Fragment的应用真的是越来越广泛了,之前Android在3 ...

  7. yii隐藏域的使用方法

    <?= $form->field($model, 'time')->textInput()->hiddenInput(['value'=>time()])->lab ...

  8. img 是内联元素

    图片是内联元素 ,同时是内联替换元素(替换元素是能设置宽和高的) 取消图片的magin display:block;(一般初始化标签中会把图片设置成块状) replaced element <i ...

  9. java:关于继承变量的值问题

    1.在java中,如果子类继承父类的静态变量时,当你在子类面前修改这个静态变量的值,其父类的静态变量也会改变. 案例: //父类public class Animal { //静态属性 public ...

  10. Framework manager编写SQL错误整理

    BMT-MD-0059 这个报错是由于导入了表全部的列,而之引用了部分列,所以未被引用的列将要被删除 XQE-PLN-0248 在模型中找不到“MONTHLY_FORECAST_FACT”的列“mon ...