我的编程空间,编程开发者的网络收藏夹
学习永远不晚

轻松创建nodejs服务器(6):作出响应

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

轻松创建nodejs服务器(6):作出响应

我们接着改造服务器,让请求处理程序能够返回一些有意义的信息。

我们来看看如何实现它:

1、让请求处理程序通过onRequest函数直接返回(return())他们要展示给用户的信息。
2、让我们从让请求处理程序返回需要在浏览器中显示的信息开始。

我们需要将requestHandler.js修改为如下形式:

function start() {

  console.log("Request handler 'start' was called.");

  return "Hello Start";

}

function upload() {

  console.log("Request handler 'upload' was called.");

  return "Hello Upload";

}

exports.start = start;

exports.upload = upload;

同样的,请求路由需要将请求处理程序返回给它的信息返回给服务器。
因此,我们需要将router.js修改为如下形式:

function route(handle, pathname) {

  console.log("About to route a request for " + pathname);

  if (typeof handle[pathname] === 'function') {

 return handle[pathname]();

  } else {

 console.log("No request handler found for " + pathname);

 return "404 Not found";

  }

}

 

exports.route=route;

正如上述代码所示,当请求无法路由的时候,我们也返回了一些相关的错误信息。
最后,我们需要对我们的server.js进行重构以使得它能够将请求处理程序通过请求路由返回的内容响应给浏览器,如下所示:

var http = require("http");

var url = require("url");

function start(route, handle) {

  function onRequest(request, response) {

 var pathname = url.parse(request.url).pathname;

 console.log("Request for " + pathname + " received.");

 response.writeHead(200, {"Content-Type": "text/plain"});

 var content = route(handle, pathname);

 response.write(content);

 response.end();

  }

  http.createServer(onRequest).listen(8888);

  console.log("Server has started.");

}

exports.start=start;

如果我们运行重构后的应用:

请求http://localhost:8888/start,浏览器会输出“Hello Start”,
请求http://localhost:8888/upload会输出“Hello Upload”,
而请求http://localhost:8888/foo 会输出“404 Not found”。

这感觉不错,下一节我们要来了解一个概念:阻塞操作。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

轻松创建nodejs服务器(6):作出响应

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

轻松创建nodejs服务器(6):作出响应

我们接着改造服务器,让请求处理程序能够返回一些有意义的信息。 我们来看看如何实现它: 1、让请求处理程序通过onRequest函数直接返回(return())他们要展示给用户的信息。 2、让我们从让请求处理程序返回需要在浏览器中显示的信息开
2022-06-04

轻松创建nodejs服务器(4):路由

服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤。 第一步我们需要先解析出请求URL的路径,我们引入url模块。 我们来给onRequest()函数加上一些逻辑,用来找出浏览器请求的URL路径:var ht
2022-06-04

轻松创建nodejs服务器(9):实现非阻塞操作

我们要将response对象(从服务器的回调函数onRequest()获取)通过请求路由传递给请求处理程序。随后,处理程序就可以采用该对象上的函数来对请求作出响应。 我们先对server.js做出修改:var http = require(
2022-06-04

轻松创建nodejs服务器(7):阻塞操作的实现

我们来看一下什么是阻塞操作; 我模拟一个sleep()方法来使hello star延迟10秒打印。 requestHandlers.jsfunction start() {console.log("Request handler 'star
2022-06-04

轻松创建nodejs服务器(2):nodejs服务器的构成分析

紧接上一节,我们来分析一下代码: 第一行请求(require)Node.js自带的 http 模块,并且把它赋值给 http 变量。 接下来我们调用http模块提供的函数: createServer 。 这个函数会返回一个对象,这个对象有一
2022-06-04

轻松创建nodejs服务器(1):一个简单nodejs服务器例子

我们先来实现一个简单的例子,hello world。 似乎每种语言教程的第一节都会讲这个,我们也不例外。 首先我们先创建一个项目目录,目录可自己定义,本案例的目录为 e:/nodetest/。 由于我们要搭建的是服务器,所以我把第一个文件命
2022-06-04

轻松创建nodejs服务器(3):代码模块化

nodejs的功能块大都以模块的形式存在的。 通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能。 我们先来看看怎么把server.js变成一个模块让 index.js 主文件使用。var http = requi
2022-06-04

轻松创建nodejs服务器(10):处理POST请求

目前为止,我们做的服务器没有实际的用处,接下来我们开始实现一些实际有用的功能。 我们要做的是:用户选择一个文件,上传该文件,然后在浏览器中看到上传的文件。 首先我们需要一个文本区(textarea)供用户输入内容,然后通过POST请求提交给
2022-06-04

轻松创建nodejs服务器(5):事件处理程序

为了对不同请做出不同的反馈,我们引入一个事件处理器的模块。 该模块命名为 requestHandlers,我们先添加start() 和 upload()两个占位函数。 requestHandlers.js 代码如下:function sta
2022-06-04

轻松创建nodejs服务器(10):处理上传图片

本节我们将实现,用户上传图片,并将该图片在浏览器中显示出来。 这里我们要用到的外部模块是Felix Geisendörfer开发的node-formidable模块。它对解析上传的文件数据做了很好的抽象。 要安装这个外部模块,需在
2022-06-04

轻松创建nodejs服务器(8):非阻塞是如何实现的

这节我们来了解一下nodejs实现非阻塞操作的方法。 我们先来修改一下 start的处理程序:var exec = require("child_process").exec;function start() {console.log("R
2022-06-04

阿里云租赁服务器如何轻松搭建云端应用

随着云计算技术的发展,越来越多的企业和个人开始选择租赁服务器来搭建自己的云端应用。然而,对于很多初学者来说,如何选择租赁服务器,如何进行服务器的配置和管理,都是一大难题。本篇文章将详细解释如何租赁阿里云服务器,以及如何使用阿里云服务器进行云端应用的搭建。阿里云租赁服务器:轻松搭建云端应用随着云计算技术的发展,越来
阿里云租赁服务器如何轻松搭建云端应用
2023-12-09

推广阿里云ecs服务器如何轻松构建云端应用

随着互联网技术的飞速发展,云计算已经成为企业和个人的重要基础设施。阿里云作为全球领先的云计算服务提供商,提供了丰富多样的云服务器产品。本文将介绍如何使用阿里云ecs服务器轻松构建云端应用。一、什么是阿里云ecs服务器?阿里云ecs服务器是阿里云提供的基于云的通用计算服务,它提供了灵活的计算、存储和网络资源,让用户
推广阿里云ecs服务器如何轻松构建云端应用
2023-11-04

阿里云远程接入应用服务器让远程工作更轻松便捷

随着科技的发展,远程工作越来越受到人们的欢迎。远程工作不仅可以提高工作效率,还可以减少通勤时间,节省资源。然而,远程工作也带来了许多挑战,例如,如何安全地访问应用服务器。本文将介绍阿里云远程接入应用服务器,以及如何使用它来解决这个问题。阿里云远程接入应用服务器是一种基于云计算的远程访问解决方案,可以让你在任何地方
阿里云远程接入应用服务器让远程工作更轻松便捷
2023-11-12

服务器操作系统标准化:让IT系统像乐高积木一样,随心所欲地搭建出各种创新应用!

服务器操作系统标准化能够让IT系统像乐高积木一样,随心所欲地搭建出各种创新应用,从而提高IT系统的灵活性与扩展性。
服务器操作系统标准化:让IT系统像乐高积木一样,随心所欲地搭建出各种创新应用!
2024-02-12

编程热搜

目录