下麵將帶領大家一步步學習nodejs,知道怎麼使用nodejs搭建伺服器,響應get/post請求,連接資料庫等。 搭建伺服器頁面輸出hello world 基本語句說明: 1)require 語句,模塊通過它載入。 對於該語句的解析可參見我的文章《require() 源碼解讀》(http://ww ...
下麵將帶領大家一步步學習nodejs,知道怎麼使用nodejs搭建伺服器,響應get/post請求,連接資料庫等。
搭建伺服器頁面輸出hello world
1 var http = require('http'); 2 http.createServer(function (request, response) { 3 response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}); 4 if(request.url!=="/favicon.ico"){ //清除第2此訪問 node.js bug,第二次訪問/favicon.ico 5 console.log('訪問'); 6 response.write('hello,world 世界'); 7 response.end();//不寫則沒有http協議尾 8 } 9 }).listen(8000); 10 console.log('Server running at http://127.0.0.1:8000/'); 11 12 /* 13 啟動服務 14 cmd下執行: 15 node 1_helloworld.js 16 瀏覽器訪問:http://localhost:8000 17 */
基本語句說明:
1)require 語句,模塊通過它載入。
對於該語句的解析可參見我的文章《require() 源碼解讀》(http://www.cnblogs.com/fangsmile/p/6244615.html)
2)http.createServer(function(req, res){ }).listen(8000);
方法說明:
該函數用來創建一個HTTP伺服器,並將 requestListener 作為 request 事件的監聽函數。最後調用listen函數,監聽埠。
接收參數:
requestListener 請求處理函數,自動添加到 request 事件,函數傳遞兩個參數:
req 請求對象,想知道req有哪些屬性,可以查看 “http.request 屬性整合”。
res 響應對象 ,收到請求後要做出的響應。想知道res有哪些屬性,可以查看 “http.response屬性整合”。
3)response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
方法說明:
向請求的客戶端發送響應頭。
接收參數:
statusCode HTTP狀態碼,如200(請求成功),404(未找到)等。
headers 類似關聯數組的對象,表示響應頭的每個屬性
該函數在一個請求內最多只能調用一次,如果不調用,則會自動生成一個響應頭。
4)response.end()
方法說明:
結束響應,告訴客戶端所有消息已經發送。當所有要返回的內容發送完畢時,該函數必須被調用一次。
如何不調用該函數,客戶端將永遠處於等待狀態。
將上面的代碼複製保存到1_helloworld.js,cmd下執行語句:node 1_helloworld.js 。再去瀏覽器訪問:http://localhost:8000
下節課介紹函數調用:nodejs進階2--函數模塊調用