備忘一下,透過 Microsoft SQL Server Management Studio Express來連接資料庫做簡單的操作。
1.如果連線主機有防火牆,記得開通。
2. 下載 SQL Server Management Studio Express SP2 並安裝
Microsoft SQL Server Management Studio Express (SSMSE) 是一套免費又簡單好用的圖形化管理工具,可以用來管理 SQL Server 2005 Express Edition 和 SQL Server 2005 Express Edition with Advanced Services。
開啟時出現的連線視窗,通常是選擇
a) Database Engine
b) ip
c) SQL Server 驗證
d) 帳號
e) 密碼
3. 成功登入後,檢視與查詢 SQL
展開 [資料庫] > [some_one_db] > [資料表] > table_list
在某 table 右鍵點[開啟資料表],可以看到該 table的資料,接著這模式下按快速鍵
ctrl+3 出現 sql 語法輸入視窗
ctrl+r 是執行 sql
2008年9月17日 星期三
[指引] 透過 JDBC 連接 MS SQL Server
以前連到 informix 資料庫都是照著前輩的語法跑,現在試著連到新平台的資料庫看看。
簡述步驟
1.下載 driver
Microsoft SQL Server 2005 JDBC Driver 1.2 載點
2.安裝 driver
解壓縮找到sqljdbc,jar,而讓程式找的到 driver有幾種方式
1)設定環境變數
ex: classpath=C:\sqljdbc.jar
2)將sqljdbc.jar 拷貝到jdk\jre\lib\ext目錄下
(或是從專案屬性設定新增 sqljdbc.jar)
第二種方法似乎比較好,不用多改 classpath。
3)若是執行 JSP程式,需將 . jar copy到 Tomcat/專案下的 lib目錄下,
3.連接語法
在 sql server 2000 中的語法是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://ip:1433;DatabaseName=sample","user","pawd";
而 sql server 2005 則為
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://ip:1433;DatabaseName=sample","user","pawd";
這樣子就大功告成,如果是要方便往後的系統沿用,可以包成公用物件.jar,程式需要連到sql資料庫時下 connection會比較簡便。
簡述步驟
1.下載 driver
Microsoft SQL Server 2005 JDBC Driver 1.2 載點
2.安裝 driver
解壓縮找到sqljdbc,jar,而讓程式找的到 driver有幾種方式
1)設定環境變數
ex: classpath=C:\sqljdbc.jar
2)將sqljdbc.jar 拷貝到jdk\jre\lib\ext目錄下
(或是從專案屬性設定新增 sqljdbc.jar)
第二種方法似乎比較好,不用多改 classpath。
3)若是執行 JSP程式,需將 . jar copy到 Tomcat/專案下的 lib目錄下,
3.連接語法
在 sql server 2000 中的語法是
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://ip:1433;DatabaseName=sample","user","pawd";
而 sql server 2005 則為
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://ip:1433;DatabaseName=sample","user","pawd";
這樣子就大功告成,如果是要方便往後的系統沿用,可以包成公用物件.jar,程式需要連到sql資料庫時下 connection會比較簡便。
[jsp筆記] web services
未來不同的程式溝通機制之一,有空時先研究好。
JavaWorld Web Services教學範例
從介紹到範例實做,蠻清楚的
簡述步驟:
1. JWSDP
2. Web container 偏好設定到 3-6.pdf p18
3. 接著改用 xfire 部屬 (找了一些資料稍微比較,感覺設定比較單純)
4. 建構 pojo and then copy classes 到對應目錄 (註1.)
5. 測試網址
成功的話,在 http://localhost:8080/webservices/services/communication?wsdl 會看到 XML資訊。
留意!開發環境跟發佈環境可能因為版本新舊,或是納入 .jar 的完整性,可能會遇到一些錯誤,解法是自行加入xalan.jar跟serializer.jar。
http://www.blogjava.net/XXNiuLang/archive/2007/08/15/136952.html
另外是要發佈到 Weblogic 的 qname 問題,請參考官網
http://xfire.codehaus.org/XFire+on+Weblogic+8.1
註:
1.
JWSDP: Java Web Services Developer Pack - Java Web Services相關工具的集合
Web container負責執行 JSP 和 servlet. Web container 提供一些服務(services),
諸如網頁請求分派(request dispatching), 安全控管, 同步控管(concurrency),
和生命週期控管(life-cycle management).
Web container 同時提供一些API的執行 如命名(naming), 交易(transactions),
email 等. 一些設定可以在程式部署時定義在Web container. Web container
最主要的功能是支援HTTP protocol.
From EJB的基本觀念介紹 and Wiki Page
POJO: Plain Old Java Object(其實就是一般的 Java Class)
#延伸閱讀
XFire入門
POJO Web Services using Apache Axis2
Axis vs XFire
Building a Simple Web Service (有點舊)
JavaWorld Web Services教學範例
從介紹到範例實做,蠻清楚的
簡述步驟:
1. JWSDP
2. Web container 偏好設定到 3-6.pdf p18
3. 接著改用 xfire 部屬 (找了一些資料稍微比較,感覺設定比較單純)
4. 建構 pojo and then copy classes 到對應目錄 (註1.)
5. 測試網址
成功的話,在 http://localhost:8080/webservices/services/communication?wsdl 會看到 XML資訊。
留意!開發環境跟發佈環境可能因為版本新舊,或是納入 .jar 的完整性,可能會遇到一些錯誤,解法是自行加入xalan.jar跟serializer.jar。
http://www.blogjava.net/XXNiuLang/archive/2007/08/15/136952.html
另外是要發佈到 Weblogic 的 qname 問題,請參考官網
http://xfire.codehaus.org/XFire+on+Weblogic+8.1
註:
1.
JWSDP: Java Web Services Developer Pack - Java Web Services相關工具的集合
Web container負責執行 JSP 和 servlet. Web container 提供一些服務(services),
諸如網頁請求分派(request dispatching), 安全控管, 同步控管(concurrency),
和生命週期控管(life-cycle management).
Web container 同時提供一些API的執行 如命名(naming), 交易(transactions),
email 等. 一些設定可以在程式部署時定義在Web container. Web container
最主要的功能是支援HTTP protocol.
From EJB的基本觀念介紹 and Wiki Page
POJO: Plain Old Java Object(其實就是一般的 Java Class)
#延伸閱讀
XFire入門
POJO Web Services using Apache Axis2
Axis vs XFire
Building a Simple Web Service (有點舊)
2008年5月26日 星期一
[筆記] jQuery-tablesorter
這是在撰寫系統時想到可以派上用場的功能,同樣的除了 include jquery.js 外,只要多寫幾行 js,配上 html tag ,就可以完成以前可能要寫數十行程式的功能..
參考的來源在此 Flexible client-side table sorting,只要對於 jQuery 有點認識了,相信瀏覽過就知道怎麼寫了。
這邊做一些重點摘要:
1. include .js 檔
2. 定義 table id (經過測試,不透過id jQuery 也可以找到 table,可能是多 table 時才有差)
3. 新增 table 欄位標籤 ,分成 THEAD與 TBODY,並且要有 th tag(這些在撰寫一般Html都是會被忽略的),如此一來 jQuery 才知道要對哪些欄位來進行操作。
4. 撰寫 js function
參考的來源在此 Flexible client-side table sorting,只要對於 jQuery 有點認識了,相信瀏覽過就知道怎麼寫了。
這邊做一些重點摘要:
1. include .js 檔
2. 定義 table id (經過測試,不透過id jQuery 也可以找到 table,可能是多 table 時才有差)
3. 新增 table 欄位標籤 ,分成 THEAD與 TBODY,並且要有 th tag(這些在撰寫一般Html都是會被忽略的),如此一來 jQuery 才知道要對哪些欄位來進行操作。
4. 撰寫 js function
$(document).ready(function()
{
$("#myTable").tablesorter();
}
);
這樣子就差不多啦,也可以套用他的 theme,顯示不同的風格。在table sorter的背景圖示部份,是在 css裡指定,把 style.css 打開來看就會知道他怎麼指定個欄位與其動作樣式啦!(thead背景圖片路徑,表格的字體樣式置中等細節,都在這邊完成。)[筆記] jQuery-Tabs
這是自己學 jQuery 所寫的第一個功能。
一開始上手有看到 ericsk 的文章,覺得看起來蠻不錯的。第二則有說明 Hello jQuery怎麼寫
[節錄]
$ 在 jQuery 裡被定義為 jQuery 物件,
$() 則是用來取得頁面上元件(DOM element)的函式,
傳入的 ‘#msg’ 代表的即是 id 為 msg (跟 CSS 的用法一模一樣),
所以 $('#msg') 整個的意義是:
取得頁面上 id 為 msg 的元件,然後把它變成一個 jQuery 物件。
接著理解他的 DOM概念後,直接看 jQuery UI Tabs這邊,可以很清楚的看到透過指定 div 的 id 與 js code做一個對應: $('#container-1 > ul').tabs();,分頁功能就可以完成。
其中的 Start With Custom Tab,也是個很實用的功能,因為我們在有分頁的頁面,不一定跳過去都是想看到第一個分頁,可能想看到第二或其他分頁的資訊,接著我找到 getUrlParam ,透過在網址上串接變數,即可將分頁 index資訊傳到目的頁,但是需要留意
當然,在 UI Tabs上還有很多其他切換的效果,可以選一個適當的做呈現,以Rotating UI Tabs example為例我覺得挺炫的,那麼配上我上述的 code 該怎麼改呢?只要改成以下
這樣子就可以正常 work了!
ps. 原本的 .tabs('rotate', 2000) 是自動切換的秒數,用不到所以拿掉了。
備忘 switch tabs
一開始上手有看到 ericsk 的文章,覺得看起來蠻不錯的。第二則有說明 Hello jQuery怎麼寫
function showMsg() { // 設定 Hello 給 msg 物件
$('#msg').html(' Hello');
}
[節錄]
$ 在 jQuery 裡被定義為 jQuery 物件,
$() 則是用來取得頁面上元件(DOM element)的函式,
傳入的 ‘#msg’ 代表的即是 id 為 msg (跟 CSS 的用法一模一樣),
所以 $('#msg') 整個的意義是:
取得頁面上 id 為 msg 的元件,然後把它變成一個 jQuery 物件。
接著理解他的 DOM概念後,直接看 jQuery UI Tabs這邊,可以很清楚的看到透過指定 div 的 id 與 js code做一個對應: $('#container-1 > ul').tabs();,分頁功能就可以完成。
其中的 Start With Custom Tab,也是個很實用的功能,因為我們在有分頁的頁面,不一定跳過去都是想看到第一個分頁,可能想看到第二或其他分頁的資訊,接著我找到 getUrlParam ,透過在網址上串接變數,即可將分頁 index資訊傳到目的頁,但是需要留意
var index = $(document).getUrlParam("tab");
其中 x會被當成字元,所以得透過 eval()轉成 int!$('#container > ul').tabs({ selected: eval(index) )});
如此一來,便大公告成。當然,在 UI Tabs上還有很多其他切換的效果,可以選一個適當的做呈現,以Rotating UI Tabs example為例我覺得挺炫的,那麼配上我上述的 code 該怎麼改呢?只要改成以下
$('#container > ul').tabs({ selected: index , fx: { opacity: 'toggle' }});
這樣子就可以正常 work了!
ps. 原本的 .tabs('rotate', 2000) 是自動切換的秒數,用不到所以拿掉了。
備忘 switch tabs
[學習資源] jQuery
輔助 Ajax 功能效果的套件有不少,會選這個的原因之一是承接的系統,是用這個做當前端顯示,於是藉由這個機會好好摸熟吧!
其他套有機會再多接觸來比較看看。
從摸索到上手找了不少參考資料,做一下整理吧!
#教學類
jQuery Tutorials for Designers(英)
Learning jQuery(英)
Easy Ajax with jQuery(簡)
jQuery查詢手冊(簡)
#使用心得類
jQuery Selector Test
jQuery神奇的選擇器(Selector)
jQuery 教學 - 基礎篇 (上一層還有篇文章)
jQuery, I LOVE YOU
jQuery some example (一些心得筆記)
#文件查詢類
API查詢(版本非最新)
官方文件
其他套有機會再多接觸來比較看看。
從摸索到上手找了不少參考資料,做一下整理吧!
#教學類
jQuery Tutorials for Designers(英)
Learning jQuery(英)
Easy Ajax with jQuery(簡)
jQuery查詢手冊(簡)
#使用心得類
jQuery Selector Test
jQuery神奇的選擇器(Selector)
jQuery 教學 - 基礎篇 (上一層還有篇文章)
jQuery, I LOVE YOU
jQuery some example (一些心得筆記)
#文件查詢類
API查詢(版本非最新)
官方文件
2008年4月14日 星期一
jsp 程式透過 session 取得 hashmap 值
承接的系統,因為需要處理一個比較複雜的資料傳遞,想說試著用 hashmap 看看。日前是卡在傳完後要怎麼引用,經過多番嘗試與查詢,終於踹出來惹。
sample code:
.java
Map list = new HashMap();
ArrayList ar=new ArrayList();
ar.add(new String[]{"101","honda"});
ar.add(new String[]{"102","asuka"});
list.put("100",ar);
request.getSession().setAttribute("Slist",list);
是由 arraylist 串到 hashmap 的資料型態,構成 arraylist 又是 String[]。
.jsp
"${sessionScopeSlist['100'][0][0]}"
在呈現單筆資料,如此可以正確印出「101」
後面的 index如為 ['100'][1][1] 則是印出「asuka」
之前會卡在無法正確引用,應是 'single quotes',卻一直在試 double quote, [number]組合。
不過原本的系統的資料是有好幾組 key與 value對應,所以顯示部份是包在 foreach 裡,如下:
﹤c:forEach items="${sessionScope.Slist}" var="rowdata">
﹤li> "${rowdata}" ﹤/li>
﹤/c:forEach>
以塞入 99、100 之key 為例,會秀出
- "99=[[Ljava.lang.String;@c2ee15, [Ljava.lang.String;@19cd75a]"
- "100=[[Ljava.lang.String;@c2ee15, [Ljava.lang.String;@19cd75a]"
(物件資訊)
如要指定 string array 的值,或是取 key值寫法就是 .key 與 .value,所以改成這樣子就可以了!
"${rowdata.value[0][0]}"
sample code:
.java
Map
ArrayList ar=new ArrayList();
ar.add(new String[]{"101","honda"});
ar.add(new String[]{"102","asuka"});
list.put("100",ar);
request.getSession().setAttribute("Slist",list);
是由 arraylist 串到 hashmap 的資料型態,構成 arraylist 又是 String[]。
.jsp
"${sessionScopeSlist['100'][0][0]}"
在呈現單筆資料,如此可以正確印出「101」
後面的 index如為 ['100'][1][1] 則是印出「asuka」
之前會卡在無法正確引用,應是 'single quotes',卻一直在試 double quote, [number]組合。
不過原本的系統的資料是有好幾組 key與 value對應,所以顯示部份是包在 foreach 裡,如下:
﹤/c:forEach>
以塞入 99、100 之key 為例,會秀出
- "99=[[Ljava.lang.String;@c2ee15, [Ljava.lang.String;@19cd75a]"
- "100=[[Ljava.lang.String;@c2ee15, [Ljava.lang.String;@19cd75a]"
(物件資訊)
如要指定 string array 的值,或是取 key值寫法就是 .key 與 .value,所以改成這樣子就可以了!
"${rowdata.value[0][0]}"
訂閱:
文章 (Atom)