Node.js – Simple Http Server


一. 安裝和部署Node.js開發環境

1. 安裝node.js,請訪問http://nodejs.org/

2. IDE開發環境

開發方法有多種:notepad, eclipse, google chrome, WebMatrix, ...,各有各的優缺點,個人比較喜歡eclipse方式。

eclipse配置步驟可以參考如下網址:

http://download.eclipse.org/eclipse/downloads/

https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger

http://www.nodeclipse.org/

二. 創建一個基本的Http Server

1. 首先新建一個index.js文件,輸入如下代碼:

var http = require("http");

http.createServer(function(request, response) {
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write("Welcome to Node.js!");
        response.end();
}).listen(6600);

2. 命令行進入index.js目錄,輸入如下代碼來啟動:

node index.js

3. 打開瀏覽器地址欄輸入:http://127.0.0.1:6600,瀏覽器顯示“Welcome to Node.js!”。

通過以上簡單的三步操作,一個基本的Http Server就部署好了,在這個基礎上下面我們就來加一些小功能。

三. 實現一個支持表單提交的Http Server

為了實現這一功能我們將面臨三個問題:如何模塊化服務器代碼、如何路由處理不同的Http請求、如何獲取Post表單數據

1. 模塊化(require, exports)

將如下代碼保存為module.js

function abc() {
        console.log("function abc.");
}
    
exports.test = abc;

再將如下代碼保存為run.js,然后執行node run.js,可以看到輸出“function abc.”

var v = require("./module");

v.test();

其中module.js就是我們模塊化出來的文件,這樣我們就可以不用將所有代碼都寫在一個js文件中讓node來執行。

2. 路由Http請求

我們可以使用一個字典來存放路由規則,字典定義為這樣的結構<url, function>,不同的url請求執行不同的function

var map = {};
map["/"] = controller.home;
map["/home"] = controller.home;
map["/submit"] = controller.submit;
map["/result"] = controller.result;

3. 獲取Post表單數據

通過監聽request對象中的data事件來存儲Post數據,end事件表示Post數據接收完畢。

var postData = "";
request.setEncoding("utf8");
    
request.on("data", function(data) {
        postData += data;
        console.log("Received POST data chunk '" + data + "'.");
});
        
request.on("end", function() {
        route(map, pathname, response, postData);
});

使用node自帶的querystring模塊獲取表單中提交的數據。

var querystring = require("querystring");
var data = querystring.parse(postData).myText;

4. 完整實現

以上三個問題解決了,下面我們就來着手實現,基本可以分為三個模塊:server.js, controller.js, router.js和一個index.js。

server.js用於啟動服務和接收Http請求。

controller.js類似於ASP.Net MVC中的Controller,用於實現各種請求的處理。

router.js是Http請求的路由器,根據不同的請求執行Controller中相應的方法,未知請求將顯示404錯誤頁面。

index.js程序入口。

詳細代碼下載:SimpleServer

四. Node.js相關學習網站

http://nodeguide.com/index.html

http://www.nodecloud.org

http://news.cnblogs.com/n/138125/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM