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

"