部落格

Lab2 Demo流程

Team member:

  1. 492512512 王文凱
  2. 492512196 黃勃勳
  3. 492511465 林秉毅

Technology Select:

JSP,XML+DOM 

Functional and structural description:

  • 會員註冊系統與會員資料查詢

會員註冊系統:使用者輸入了必要資訊,經過確認後,以XML的方式儲存於SERVER端。

會員資料查尋:JSP自動尋找SERVER端中的會員列表,點選後以DOM讀出XML的資訊,以HTML的語法呈現於瀏覽器中

   

makimaki...

"

maki maki? 

巻き巻~き~

今天上課開始講到AJAX的部份,

而有關Javascript的部份提到了一個jmaki的東西,

說是日本人開發的東西,

所以就開始想這個maki到底是指什麼...呵

後來看了網頁才發現,

原來就是最近奇摩yahoo上也有的Widget工具,

主要其實就是拿來寫一些Javascript的程式,

好像是Javascript與法比難寫,

所以日本那邊就有人開發出這個介面用來方便製作,

上日文的部落格就看到有人在介紹為什麼這個東西要叫做Jmaki,

那個J當然就是指javascript,

maki的話拿漢字來看就是"巻き",

很像我們用的"卷"這個字,

所以"巻き"一方面就有捲捲的意思,比方說捲毛頭...

不過他這邊是覆蓋物的意思,

指的就是覆蓋在Javascript上層的介面,

也就是Javascript wrapper, 

目前就只有裝yahoo那邊的Widget Engine來玩玩,

會在螢幕上跑出很多的小工具,

我是裝了一些像是:

桌面相框,快速啟動欄,CPU資源檢視,拍賣網的搜尋器,電子寵物,

其他還有小時鐘,顯示數量的垃圾桶,還有日文翻譯用的等等...

玩一玩發現這樣的話寬螢幕還真的滿需要的,

畫面多了一堆東西可以瀏覽說,

不過也是有人認為不需要那麼多雜七雜八在畫面上,

反正又沒真的很需要用到,

個人是覺得大概好玩就好巴~

"

關於這一次用JSP合XML(LAB2)

"

目前狀況:

組員-492511130高維陽 孫仲銳(BLOG連結在此) 王思惟

目前只有我(高維陽)的很虛JSP+XML做好

另外兩個組員還沒(ASP.PHP)商量後我先把我的PO上來

他們和我的要在禮拜五時一起DEMO 

------------------------------------------------------------------------- 

老實說JSP和XML我都是一點概念也沒有

所以這次算是盲人摸象XD

(註:放專一電腦,現在沒開機所以用家裡電腦直接抓圖貼上來) 

使用技術:JSP+Tomcat+XML+FLASH 

操作流程:

1.連進首頁main.htm,會要你輸入名字(中英文皆可)

2.接下來左半頁匡會顯示出"歡迎訊息"+ 幾個選項 + 一個FLASH時鐘

3.選了選項之後,右半頁框會去讀XML文件並顯示出所選的資料

 程式流程:

1.在main.htm框架下由一個Hello.htm讀使用者名稱,再送至Hello.jsp

2.Hello.jsp把讀到的名字加歡迎訊息PRINT出來 + 超連結選項

3.再由右邊框架的JSP檔去讀XML文件並秀出

 

遇到問題:

1.沒想到JSP好像不直接支援中文顯示,所以一開始使用者名稱打中文就變成亂碼了

   後來是在JAVAWORLD找到編碼轉換的一行程式碼才解決

2.一直找不到辦法由JSP去連XML將資料讀出來,去網路上找到約4到5種不同的寫法

   在一直試的狀況下,將近兩個小時才從一個範例中找到我可以成功的寫法

3.那個FLASH時鐘是想說作好玩的,不過一開始一直不會動,後來在網路上請教人才

 解決

4.使用者名稱想用COOKIE保留,但一直失敗所以放棄

 

心得:

  嗯,這可是我第一次寫純HTML以外的網頁,雖然都還是大部分都是HTML,不過

那ㄧ個去讀JSP讀XML的過程,就讓我這個從來沒寫過JSP和XML的人頭昏腦脹好幾小

時了,或許對學資訊的網頁寫那麼少是不行的,但在這門課的刺激之下,我想我會被迫

進步的! 

"

LAB2:server-side+xml 技術

"

組員:492512067 李運彬

      492512072  黃冠傑

      492512249   林桀宏

      492512421  陳柏森

主題:ㄚ民綜合討論區

最近王建民熱潮,主要就是作一個綜合的討論區,可以留言,聊天,看資料等等。

LAB2網址:http://140.136.150.91/web20/discuss2/discuss.asp

技術:Asp.net+xml,ROR,Jsp+xml

首先實作了Asp.NET+XML留言板

優點:

1.透過ADO.NET 物件處理XML 檔案和XML Schema的留言板。

2.這種留言板保持簡單和明確,因此你能容易修改它,使得符合你的要求或者任務。

3.非常適於沒有資料庫使用的網站。

4.能容易編輯XML 檔案,除去不需要使用。

5.使用ADO.NET 物體(DataSet,DataTable,DataRow,DataColumn 和DataView)顯示。

寫作流程:

定義架構Table:
使用ADO.NET,並且我們能使用DataTable 和DataColumn 來按部就班地確定架構Table,加入一些資料類型。

XML Schema 作為儲存表的架構

1.Table架構應該被儲存,每當我們使用它的時候,我們不需要確認Table。

2.Table架構可能被作為XML schema 儲存。

3.XML schema可能被在一個分離檔案裡(xsd extension),或者XML 檔案內。

4.DataSet 物體已經有能力寫並且讀schema。

5.WriteXml 寫DataSet進一個XML 檔案。

6.讀數據從XML 檔案是利用DataSet by ReadXml 方法。

7.如果schema存在,在操作期間保證數據有效和一致。
WriteXmlReadXml methods 的方法

DataSet.WriteXml(Server.MapPath("guestbook.xml", XMLWriteMode.WriteSchema))
DataSet.ReadXml(Server.MapPath("guestbook.xml", XMLReadMode.ReadSchema))

1.第2個參數是可選擇的。

2.Server.MapPath用來轉變virtual addressphysical address。

3.guestbook.xml和aspx 檔案放在相同的檔案夾下面。

不要擔心XML schema產生出來有多複雜。 因為ADO.NET 自己處理schema。
顯示資料 

利用AOD.NET的DataRepeater,DataList,DataGrid 和css來輸出顯示相當簡潔又美觀

結論

1.由於在ADO.NET 物體和XML之間的密切的關係,現在我們能容易操作XML 作為相關的資訊,就像是我們使用資料庫一樣般的方便。

2.我們能借由相關的表格儲存進XML 檔案中,並且保留她們原始的架構。

3.所以非常適合用在簡單和快速的小型SQL資料庫上面。


參考網路上的code架一個xml 留言板:
xml論區的好處跟留言板差不多:速度快,讓我們簡單的管理,而不需去用到資料庫。還有一些bug還沒解決,在這裡就不多作介紹了,主要是將管理者和文章等存成xml格式,再藉由xsl轉換輸出。


因ROR還處於摸索階段,這裡參考一篇How to Create A Web 2.0 AJAX-Powered ShoutBox in 5 Minutes using Rails

實做出一個ROR聊天室

我對ROR作一個介紹,有興趣的朋友可以連到上面那篇文章去試看看。
ROR是以MVC架構設計的,它提供了一個"一站式"物件導向用戶簡單易用的架構。它先幫我們定義了目錄結構,我們只要在它之下存東西就好了。配合ruby簡潔的語言,使得他的開發效率相當快。

主要apps目錄下的四個目錄:
Controllers:處理來自用戶的請求
views:存放相應的模板,轉成html到用戶的瀏覽器
models:存放資料庫之類的
helps:簡化上三項的幫助類


開發環境: Instant Rails 是在Windows環境中,整合了  Ruby, Rails, Apache, 和 MySQL的開發環境。

下載後,解壓縮就能馬上開發Ruby On Rails 程式,完全不用設定,相當方便。

JSP+XML:會員註冊系統

服務:
藉由JSP製作動態網頁作為會員註冊的相關資料儲存處理~


實作: 
先建立好JSP後並將資料輸入方式建立好,然後使用者輸入資料送出(post)後傳送到目的JSP去抓取值(get)後將值儲存並建立成節點的資料型態,接著再使用DOM去分析這些資料後使用之前定義好的XSL樣板輸出為固定結構的XML檔


結論心得:
對於JSP的使用上來說就是完全的JAVA使用,所以使用上還算得心應手,
最主要在於要使用DOM去對XML做結構上的處理,因為對於它還滿陌生的所以一些API也去上網或看書查了滿久,不過在基本的處理上也有一定的認識了~

另外XSL的樣板規劃上除了要定義了元素外還要定義屬性值所以還搞滿久的,不過最後也弄好了~


 

"

LAB2

"LAB 02
組員: 493511632 岑志豪 資工三甲

Server 篇:
1. ASP.NET
起初以為要架一台 IIS Server 跑 ASP.NET 是一件很簡單的事情, 但後來我才發現這種想法有點天真...

先說要從哪裡灌 IIS 吧.
從 [控制台] -> [新增移除程式], 點選 [新增/移除 Windows 元件], 就會看到 IIS 的安裝選項.
把他打勾, 下一步, 就會開始灌的了. (需要 XP 安裝檔)

灌完後, 可以輸入 %SystemRoot%System32Inetsrviis.msc 進入他的設定介面.

在設定介面裡, 我們可以設定我們 IIS 所跑的 ASP.NE 版本.
這次我所使用的是 2.0.50727 版.

這個是需要在有安裝 .NET Framework 才可以使用的.
在這裡我有碰到個小問題.

起初就算有把 ASP.NET 的版本設定好, 但使用的時候會跑出 Error 來. ( Hello World 也 error? )
一定是哪裡出問題.

經過上網爬文後發現, 是 .NET Framework 1.1 和 2.0 之間的衝突引起的. ( 我2個都有灌. )

要解決問題, 需要重新定義一次我們現在需要用的 .NET 版本. ( 在那個 IIS 介面設定無效... )

先到 C:WINDOWSMicrosoft.NETFramework,
點選要使用該版本之資料夾. ( 現在為 v2.0.50727 )

執行 aspnet_regiis.exe -i, 那麼他就會把 ASP.NET 重新註冊一次的了.

然後我的 Hello World 就回來了. (笑)

2. JSP
JSP 我是使用 Apache Tomcat 5.0.28 (win32), 為什麼沒用上最新版的 5.5.20 呢? 因為 Server 這類東西有時間太新的話, 在技術支援上會不及舊版, 出問題機會也比較大, 所以我選擇了舊一點的版本.

除了主要的 Tomcat Server 外, 我還外加了一個 JDOM Package, 這樣可以比較方便對 XML 的運用.

雖然我有灌過 Apache ANT (1.6.5, win32), 但可能是我不太會設定的關係, Servlet 更新過後 Server 還是要重開.

3. PHP
這個我是使用大陸的 WAPM ( Apache + PHP + MySQL 整合包 ), 網路上也有不少這樣子的 整合包, 剛好看到這個就不想再找了. 簡單設定了一下, Apache 使用 2.0 版, PHP 5.0, MySQL 5.1 (這次沒用上),

編寫 篇:
1. ASP.NET
我把這次的作業先放到一叫 mytest 的虛擬資料夾中. (詳情如圖)


然後再由 http://localhost/Mytest/view.aspx 讀取我的網頁. ( 不知道為什麼不能用 127.0.0.1 )

這個網頁的功能是指照使用者所設定的檔案名稱去打開該 XML 檔, 預設名稱為 cdcatalog.xml


通過 post 的方式把設定傳回給自己再作處理, 以 table 的形式顯示出來.

瀏覽路徑: http://localhost/Mytest/view.aspx

Source Code:

view_aspx.jpg

cdcatalog_xml.jpg

2. JSP
我於 Tomcat 裡設定了一個叫 MyWeb 的 webapps,
內含 admin.jsp (瀏覽用), add.jsp (新增資料用), data.xml (預設之 XML 資料檔).
在 webappsMyWebWEB-INFlib 放了一個叫 jdom.jar 的 package.
另外在webappsMyWebWEB-INFclassestwcomfjuMyWeb 放了一個叫 XmlTest 的 Servlet.

admin.jsp 固定打開 data.xml 再以 table 的形式顯示出來, 這裡由於用上 jdom 的關係, 代碼比較簡潔.
add.jsp 提供使用者設定 輸入 輸出 之檔案名稱, 要寫入的 3個資料. ( 輸入 -> 修改 -> 輸出 )
設定好後會以 post 的方式把設定值傳給 Servlet XmlTest
在 XmlTest 有判斷是否使用 Post 形式連接, 不是的話會提出警告.
XML 之編碼有設定為 UTF-8, 經 jdom 處理後之 xml 能夠很工整地儲存起來.
( setNewlines, setIndent 設定. )

瀏覽路徑: http://localhost:8080/MyWeb/admin.jsp

Source:

add_jsp.jpg

admin_jsp.jpg

XmlTest.jpg

data_xml.jpg

3. PHP
PHP 這樣所寫的效果基本上和 JSP 所寫的一樣. ( admin.php, add.php, data.xml, XmlTest.php )
在每個 PHP 上有設定 header 為 Content-Type: text/html; charset=Big5 以確保以 Big5 編碼顯示.
這裡使用 DOM 來達成讀寫 XML 的目的. 但在使用的過程中, 碰到不少問題...

i. 這樣子, 寫入時他並不會自己縮排, 換行.
ii. 輸出 XML 檔時無法設定編碼. ( 固定為 <?xml version="1.0">, 但聽說文字是以 UTF-8 寫入的. )
iii. DOM 在讀取 UTF-8 形式之 XML 時會出現問題, 無法讀取.

因此這種方法只能讀寫 英文...

瀏覽路徑: http://127.0.0.1/MyWeb/admin.php

Source:

add_php.jpg

admin_php.jpg

XmlTest_php.jpg

其他 篇:
這裡作一點小補充, RoR 研究了好一陣子也沒成果... 囧 (怨念)
3種語言的 Server 是獨立的, 因為每次 只能/最好 開一個來測試.
但搞不太懂為什麼 ASP 的, 使用 IP 會被要求輸入密碼...
而 PHP 的輸入 localhost 無法讀取...

這次以能跑為目的, 美觀, 外形完全沒有考慮...

Orz

"

ω符號..

"以下是我在借來的書上看到有關 ω 的介紹:

ω符號與Ω符號的關係就好像o符號與O符號的關係一樣。

我們使用ω來表示一個不是漸近緊密的下限。其定義為: iff  g(n) o(f(n)) 才會存在f(n) ω(g(n))

ω(g(n))={ f(n):  for all c(positive real) 會存在一個 N(nonnegative integer) , 在所有的nN,  0c g(n)f(n)成立

Textbook:Introduction to Algorithms[@more@]"

演算法的定義

"

演算法的正式說法是任何有良好定義的計算程序,

此計算程序會採用一些數值,或是一群數值來當作輸入值,

並且產生一些數值,或是一群數值,來作為輸出值。

所以一個演算法是一序列的計算步驟,用來將輸入值轉換成輸出值。

Textbook:Introduction to Algorithms, 2nd Ed., by Cormen......

"

分割處理(divide-and-conquer)

"許多有用的演算法都是用遞迴(recursive)的結構: 要解決一個問題時,他們一次又一次地重複呼叫自己來處理相關的子問題. 這些演算法通常遵循divide-and-conquer的處理模式:

他們將一個問題分割成數個子問題,子問題與原來的問題類似但是較小,重複地解決子問題,然後將這些解答合併來建立原來問題的解答.

Textbook:Introduction to Algorithms, 2nd Ed., by Cormen......

"

新聞分享 Office 2007

"

新聞分享 Office 2007

其實,微軟會想要這樣做,為了也是自己的利益

以後格式支援XML, 程式想要開發與office binding就會相對的很方便

就以JAVA來說,以往想要JAVA程式跟office做連結等動作

必須要用到jacob 的API支援

對於JAVA Programmer來說又是一項挑戰

但是,若以XML來支援,讓Programmer可以減輕不少壓力

"

頁面