下面将带领大家一步步学习nodejs,知道怎么使用nodejs搭建服务器,响应get/post请求,连接数据库等。

搭建服务器页面输出hello world

 var  http  =  require('http');  
http.createServer(function  (request,  response)  {  
    response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'});  
    if(request.url!=="/favicon.ico"){  //清除第2此访问 node.js bug,第二次访问/favicon.ico
        console.log('访问');  
        response.write('hello,world 世界');  
        response.end();//不写则没有http协议尾
    }  
}).listen(8000);  
console.log('Server  running  at  http://127.0.0.1:8000/');  
  
/*  
启动服务  
cmd下执行:  
node  1_helloworld.js  
浏览器访问:http://localhost:8000  
*/  

基本语句说明:

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--函数模块调用

最新文章

  1. 两listview联动
  2. (第六天)DOM
  3. php连接数据库、创建数据库、创建数据表
  4. pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
  5. jquery-validation 学习总结
  6. Azure SQL 数据库新服务级别现已正式发布
  7. C语言中堆和栈的区别
  8. Eclipse配置安卓开发环境(解决SDK manager下载慢问题)
  9. PC和单片机通过MODBUS RTU通信
  10. cxf webservice异步调用
  11. 20170109| javascript记录
  12. 关于 Socket 设置 setSoTimeout 误用的说明
  13. js获取当前url中参数
  14. JAVA-JSP内置对象之移除属性
  15. mysql中授权其它电脑链接指令。
  16. XXX esx.problem.hyperthreading.unmitigated.formatOnHost not found XXX (Build 9313334)
  17. Oracle用imp和exp实现数据的导入和导出
  18. 微信小程序,动态改变样式
  19. css深入理解之 border
  20. 校赛热身赛 Problem D. Unsolved Mystery

热门文章

  1. 【.net 深呼吸】细说CodeDom(5):类型成员
  2. Android请求网络共通类——Hi_博客 Android App 开发笔记
  3. Recurrent Neural Network系列1--RNN(循环神经网络)概述
  4. .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法
  5. CLR 这些年有啥变化吗?
  6. 一步一步教你用CSS画爱心
  7. MVC常遇见的几个场景代码分享
  8. 【夯实Nginx基础】Nginx工作原理和优化、漏洞
  9. 【干货分享】流程DEMO-费用报销
  10. ASP.NET Core MVC 中的 [Controller] 和 [NonController]