nodejs进阶(1)—输出hello world
2024-09-30 04:33:15
下面将带领大家一步步学习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--函数模块调用
最新文章
- 洛谷P1141 01迷宫
- 【java基础】IOC介绍及其简单实现
- YTU 2295: KMP模式匹配 一(串)
- apache配置优化
- cmd命令查看端口和进程信息
- 【POJ】3283 Card Hands
- Java复习第一天---Javascript的基本知识点
- flume 自己定义 hbase sink 类
- spring多数据源的配置(转)
- java程序设计----学生基本信息管理系统
- (转)java内部类详解
- sau交流学习社区--看小说的lovebook一个无线端BS应用
- 「工具」Aquarelo - 来自意大利的色阶管理工具
- JPA学习-03
- Codeforces1071C Triple Flips 【构造】【Four Russians】
- 二分查找、two points、排序
- 火狐对SVG的兼容性
- 异步编程之asyncio简单介绍
- 对position的认知观
- MyEclipse/eclipse 添加作者、注释、版本、时间等
热门文章
- NodeJs之pm2
- 关于 Chrome 浏览器中 onresize 事件的 Bug
- 查看w3wp进程占用的内存及.NET内存泄露,死锁分析
- 记一个mvn奇怪错误: Archive for required library: 'D:/mvn/repos/junit/junit/3.8.1/junit-3.8.1.jar' in project 'xxx' cannot be read or is not a valid ZIP file
- 46张PPT讲述JVM体系结构、GC算法和调优
- OpenLiveWriter代码插件
- C#日志
- unity 3d 解析 json
- Mysql 忘记root密码处理办法
- 解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常