CSharp要取得網頁內容可以利用內建的WebBrowser來取用IE Container進行連線與資料的取得,WebBrowser實作了很多內容,像是Javascript、HTML parse等等,功能十分強大。
這個範例不使用WebBrowser,而是使用HttpWebRequest來取得遠端的html內容。
Web Server說穿了也就是一個Socket Server,只是Browser在與其溝通時使用了規定的規則而已,以下範例會模擬此規則傳送header來告知Web Server,假裝自己是Browser,而此也會利用cookieContainer來記錄傳輸過程的Session情況,如此登入後的Session就可以在往後的需求連線中被使用。
程式說明:
Server端
詳細文章
Applet除非是內部或自己使用時,可以直接使用JDBC來連接資料庫,而一般對外開放的服務如果讓Applet直接連接到資料庫,需要開port讓Clinet 的Applet來使用,在安全性上相對的十分危險。
此時可以利用一個中繼的Sokcet Server或是Web Server來當與資料庫連接的proxy代理服務器,如此Apllet只要連接Web Server,對Server提出需求,而Server會依需求與資料庫做溝通,並回傳Applet要求之資料,如此可以做成多層式的架構來解決Applet資料取得之問題。

範例設計上有一個輸入框JTextField可以輸入要傳給Server的資料內容,而下方的JTextArea是承接從Server回傳的資料內容,按鈕則可進行動作Action。
詳細文章
Posted in
database,
eclipse,
Java,
jsp,
程式 on 2011/4/26 by yku 瀏覽:
419 瀏覽數 —
留下回應
標籤:
applet,
database,
google,
gson,
Java,
json,
jsp,
MySQL,
server,
Socket,
tomcat
這個範例與之前的HttpURLConnection來實作get及post動作基本原理是一樣的,一個是使用java.io.BufferedReader來取得文字的html內容,而這個範例則是使用java.io.InputStream取得binary的檔案內容。
程式的流程大概是,先建立HttpConnection,給Connection標題Header、Referer、Cookie等內容,然後建立連線,跟伺服器request要求內容,再取得http的InputStrem,要取得伺服器response的內容,把內容讀取byte[],然後寫入檔案,如此就完成下載檔案的動作了。
詳細文章
java.net.URLConnection是一個Http Connecion物件,可以用來連接網站,並處理回傳的資訊資料,當然也可以使用socket連線來做這些事情,不過會顯的麻煩多了。
利用java.net.URLConnection可以直接取得response的Status來判斷網站是不存在、連線錯誤、無法存取,而如果需要更詳細的回傳資訊可以增加給於的Header。而如果需要取得網址的ip則可使用java.net.Inet4Address.getByName(網址名稱)。
有一點要注意的是在JDK1.4以前並有沒有setReadTimeout這個函數,所以需要自己實作一個HttpURLConnectionTimeout來操作TimeOut,可以參考Adding Socket Timeout to java.net.URLConnection這一篇。
這是範例的結果:

詳細文章
這是一個超簡單的Client Server範例,Server部份利用Thread來常駐執行,而Client利用Socket去連接指定的port,送出一個字元組給OutputStream,而Server接收到請求後,使用InputStream來取得資料。
這裡有篇介紹Socket Server的原理Thread應用-Java SocketServer,還有一篇傳送物件Serializable序列化Socket傳送範例,這篇算是比較進階。
程式碼包裝在jar裡,利用二個command視窗,一個執行Server一個執行Client,結果如下:

原始碼及jar下載:
詳細文章