JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)
說明:這一篇主要是說明如何將程式部署到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):部署設定及應用 (转帖)的更多相关文章
- JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)
JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...
- JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (2):JavaFX建立及程式碼說明 (转帖)
說明:就如同標題一樣,前端會用到JavaFX.Swing.Java Web Start.Google Map 的技術, 後端就是JDBC.Servlet的技術,以及我們會簽署認證jar檔案,這樣才可存 ...
- [Xamarin.Android] 結合Windows Azure與Google cloud message 來實現Push Notification (转帖)
這一篇要討論如何使用Xamarin.Android 整合GCM以及Windows Azure來實作Android手機上的推播通知服務. 這篇文章比較著重概念的部分,在開始讀這篇之前,也可以先參考一下X ...
- 如何在Google Map中处理大量标记(ASP.NET)(转)
如何在Google Map中处理大量标记(ASP.NET)(原创-翻译) Posted on 2010-07-29 22:04 Happy Coding 阅读(8827) 评论(8) 编辑 收藏 在你 ...
- [Xamarin.Android] 如何使用Google Map V2 (转帖)
Google Map v1已經在2013年的3月開始停止支援了,目前若要在你的Android手機上使用到Google Map,就必須要使用 到Google Map v2的版本.在Xamarin要使用G ...
- Google Map API Version3 :代码添加和删除marker标记
转自:http://blog.sina.com.cn/s/blog_4cdc44df0100u80h.html Google Map API Version3 教程:在地图 通过代添加和删除mark标 ...
- 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 ...
- 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 ...
- 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 ...
随机推荐
- sql删除前导和后缀
1.patindex用法 patindex('%pattern%', expression) pattern--> 正则表达式,需要匹配的前导内容,可以进通配: expression--> ...
- linux 下进程通讯详解
linux 下进程通讯方法主要有以下六种: 1.管道 2.信号 3.共享内存 4.消息队列 5.信号量 6.socket
- OOP之C#设计及其UML(反向工程)
现在总结一下C#类关键字(virtual.abstract.override.new.sealed)的使用(以C#代码体现),并再次熟悉一下OOP思想,使用UML工具EA(Enterprise Arc ...
- flask-admin章节四:flask session的使用
1. 关于session flask session可能很多人根本都没有使用过,倒是cookie大家可能使用得比较多.flask cookie使用起来比较简单,就两个函数,读取和设置. 具体使用方式如 ...
- 推荐一个winform 界面交互类库转
// Copyright (c) 2008 CodeToast.com and Nicholas Brookins //This code is free to use in any applicat ...
- PHP中phar包的使用
PHP5.3之后支持了类似Java的jar包,名为phar.用来将多个PHP文件打包为一个文件. 首先需要修改php.ini配置将phar的readonly关闭,默认是不能写phar包的,includ ...
- Python 变量范围
1.本地变量,全局变量 Python 中有2种变量作用范围本地变量,全局变量. 变量搜索路径是:本地变量->全局变量 它们简而言之就是本地变量的值只在本地作用范围有效.而全局变量的作用范围是全局 ...
- python day2 列表的常用操作方法
#创建列表方法一li = ['aa','bb','cc']方法二li = list(['aa','bb','cc'])print(li)返回 ['aa', 'bb', 'cc']----------- ...
- JS-sort排序
var arr = [ 'c', 'd', 'a', 'e' ];// arr.sort();// alert( arr );var arr2 = [ 4,3,5,5,76,2,0,8 ];// ar ...
- React Ntive 学习手记
React使今年来比较热门的前端库,之所以说是库呢,因为React.js是应用于MVC中的V层, 它并不是一个完整的MVC框架,所以,我也不知称之为框架了. 不过这并不影响React的火热. 混合应用 ...