你的位置:首页 > Java教程

[Java教程]node js学习(一)

1、简介

  JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了。

  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。
  Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
2、node.js优点
  • RESTful API
  • 单线程
  • Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
  • 非阻塞IO
  • V8虚拟机
  • 事件驱动

3、下载安装(Window 64位版本)
  64位下载地址:http://pan.baidu.com/s/1geaR3OZ
安装步骤:
      直接 双击node-v0.10.26-x86.msi文件默认安装即可。
配置环境变量:
  默认情况下,安装后Path中会将我们刚刚安装的node所在的路径添加到Path中,所没有则需要手动将其添加到Path环境变量中。
查看是否安装成功:
  在cmd 进入刚刚安装的路径,敲入如下的命令,查询其版本
node --version 

   假如出现下面的界面则证明安装配置成功。


4、nodejs应用组成部分
  1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。

  2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

  3. 接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。


5、hello world程序

步骤一、引入 required 模块

  我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:


var http = require("http");

步骤二、创建服务器

  接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。

  实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:


var http = require('http');http.createServer(function (request, response) {  // 发送 HTTP 头部   // HTTP 状态值: 200 : OK  // 内容类型: text/plain  response.writeHead(200, {'Content-Type': 'text/plain'});  // 发送响应数据 "Hello World"  response.end('Hello World\n');}).listen(8888);// 终端打印如下信息console.log('Server running at http://127.0.0.1:8888/');

   以上代码我们完成了一个可以工作的 HTTP 服务器。

  使用 node 命令执行以上的代码:


node server.js

  命令行输出如下信息,则说明服务器应用已经启动(上面打印的一句话)

Server running at http://127.0.0.1:8888/

 

   在浏览器中访问http://127.0.0.1:8888/ ,你就会看到“Hello World”页面


分析Node.js 的 HTTP 服务器:

  • 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
  • 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。

 
  致谢:感谢您的阅读!