node.js-------使用路由模块

路由需要的信息,包括URL 及GET 或 POST参数。路由根据这些参数执行相应的js处理程序,因此,需要在HTTP请求中提取出URL以及GET或POST参数。这些请求参数在request对象中,这个对象是onRequest()回调函数的第一个参数。需要提取这些信息,需要Node.js的模块,url和querystring模块。

                url.parse(string).query

                         |

     url.parse(string).pathname    |

              |           |  

 http://localhost:8888/start?foo=bar&hello=world                                  

    querystring(string)["foo"]

                querystring(string)["hello"]

 

当然可以用querystring模块来解释POST请求体中的参数。

可以通过不同的请求的URL路径来映射到不同的处理程序上面,路由就是做这一个工作。

例如来自:/start和/upload的请求可以使用不同的程序来处理。

 

下面是一个例子:

---index.js

---server.js

---route.js

 

编写一个路由,route.js

function route(pathname){console.log("About to route a request for "  +  pathname);
}
exports.route = route;

 编写处理请求的页面,server.js

var http = require("http");
var url = require('url');function start(route){function onRequest(request, response){var pathname = url.parse(request.url).pathname;console.log("Request for " + pathname + "received");route(pathname);//在这里可以对不同的路径进行处理//if(pathname =="...") response.writeHead不同的信息之类response.writeHead(200, {"Content-Type" : "text/plain"});response.write("Hello World");response.end();}http.createServer(onRequest).listen(3000);console.log("Server has started.");
}
exports.start = start;

编写启动文件,index.js

var server = require("./server");
var router = require("./router");server.start(router.route);

在客户端启动应用,服务器启动,开始监听3000端口:

node index.js

在浏览器端输入一个请求URL:

http://127.0.0.1:3000/

看到相应的客户端输出:

 浏览器显示:

 

转载于:https://www.cnblogs.com/IanI/p/3990210.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机意外重启或遇错误无法继续,计算机意外地重新启动或遇到错误如何解决?...

电脑小白在重装系统后难免会遇到些问题,有的容易处理,有的会有些棘手。那么,计算机意外地重新启动或遇到错误如何解决?今天快启动小编为大家分享详细的计算机意外地重新启动或遇到错误的解决方法,献给对系统重装知识不太了解的小…

JMeter web 测试

2019独角兽企业重金招聘Python工程师标准>>> JMeter web 测试 http://jmeter.apache.org/usermanual/build-web-test-plan.html 转载于:https://my.oschina.net/276172622/blog/808957

计算机软件记不住设置,想知道电脑密码记不住了怎么办

635509517回答数:23216 | 被采纳数:32017-01-09 17:51:10方法一:(1)启动电脑,使用DOS启动盘(比如:Windows 98启动盘)进入纯DOS状态。(2)在DOS提示符下,根据下面步骤操作:cd\\ (切换到根目录)c…

120xa正反转参数_你知道变频器的“正反转死区时间”吗?它的“停机方式”有几种?...

若你我之间有缘,关注作者又何妨?两情若是久长时,又岂在朝朝暮暮。大家好!我是江郎,一个踏踏实实的维修工。本期我们仍然探讨两个问题,如标题所述,#变频器#“死区时间”和“停机方式”&#xff0…

【转】游戏编程中的人工智能技术--神经网络

原文:http://blog.csdn.net/ecitnet/article/details/1799444 游戏编程中的人工智能技术.>. (连载之一)用平常语言介绍神经网络(Neural Networks in Plain English)因为我们没有很好了解大脑,我们经常试图用最新的技术作为一种模型来解释它。在我童年…

w8计算机配置要求,win8系统最低配置要求有哪些|win8系统是否有最低配置要求-系统城...

2013-10-17 17:08:08  浏览量:5753小编这里要为大家带来的是win8系统最低配置要求和部分安装截图,很多用户想要将自己的电脑装上win8,但也不是每一台电脑都可以安装win8系统的,为了避免一些低配置的用户安装了win8之后却无法运行…

财务管理专业应该报计算机二级哪个科目,我是应该报计算机二级还是三级呢

2008-12-01怎样学好财务管理?“五步”学好财务管理:学习这门课程前,首先就不要认为它“很难”,只要相信“难而不会,会而不难”,充满信心一定就能学好。我在学习过程中总结了几条经验,以供各位学友参考&…

java字符串排序_对字符串排序持一种宽容的心态

在Java中一涉及中文处理就会冒出很多问题来,其中排序也是一个让人头疼的课题,我们来看下面的代码:上面的代码定义一个数组,然后进行升序排序,我们期望的结果是按照拼音升序排列,即为李四、王五、张三&#…

nagios 监控配置介绍(二)

#配置服务端监控客户端[rootnagios etc]# cd objects/[rootnagios objects]# vi hosts.cfg# Define a host for the local machinedefine host{use linux-serverhost_name 1.3-sambaalias 1.3-sambaaddress …

spoj SUBLEX (Lexicographical Substring Search) RE的欢迎来看看

SPOJ.com - Problem SUBLEX 这么裸的一个SAM,放在了死破OJ上面就是个坑。 注意用SAM做的时候输出要用一个数组存下来,然后再puts,不然一个一个字符输出会更慢。 还有一个就是不要多数据输入,估计最后多了几个没用的数字&#xff0…

mt4双线macd_3年内从亏损90多万到获利近760万,我只坚持我的:60分钟MACD双回拉战法!附选股公式...

MACD指标被普遍认为是最经典实用的技术指标之一。其实并不是因为MACD有多么精妙的算法,而是MACD遵循了最基本的“均线指导原则”,形象的将经典双均线系统换了一种更加直观的表达方式。在MT4中,默认应用的是单线MACD指标,而在证券市…

计算机专业书籍速读方法,格式你玩的转?速读5分钟就懂

小编又接到了新问题,有小伙伴说自己64GB的U盘在电脑里格式化只能选ExFAT或者NTFS,不能选择FAT32,求小编解答,小编正好借着这个机会,说说现在电脑格式问题。如果你懒得读,↓↓↓最后一段有答案,如…

Thymeleaf 学习笔记 (4)~~~~

2019独角兽企业重金招聘Python工程师标准>>> 模板布局 模板布局主要用到的标记有这么几个: th:fragment ,用来定义片段的,用法:th:fragment"fragmentName",起一个名字方便被其他地方引用&#xf…

凭证 金蝶_金蝶软件账务处理流程之——凭证录入

金蝶是我们财务人非常熟悉的财务软件,但是我们很多财务人只在应用软件的时候还是会出现很多的问题,为了帮助大家更好地应用这个软件,小编今天就来和大家讲讲关于金蝶软件凭证查询环节的一些基本处理流程。点击主界面“凭证查询”→弹出凭证过…

计算机网申兴趣爱好怎么写,银行网申个人特长和兴趣爱好怎么写

银行网申个人特长和兴趣爱好怎么写银行网申中个人简历及兴趣爱好怎么写?下面jyj135小编为大家整理了银行网申中个人特长和兴趣爱好的写作技巧,希望能为大家提供帮助!银行网申特长及兴趣爱好怎么写?特长Strong Point(1)写强项。弱项一定不要写,面试人员…

人才管理是什么意思_上海托管仓库外包仓库管理什么意思

上海托管仓库外包仓库管理什么意思上海仓库托管外包。好的上海仓库托管是预估好自己的货物总计有多少个方。车子的体积有多少,然后估算出总计需要多少车需要多少钱,需要怎么装车、卸货码放方式是什么样的,算出总的费用然后包干给搬家公司。这…

Makefile学习(二)[第二版]

复杂实例#示例1:在上一个示例的基础上再增加一个可执行文件03test[修改之处已标红].PHONY: clean all CC gcc CFLAGS -Wall -gBIN 01test 02test 03testSOURCES $(BIN:.c)OBJECTS $(BIN:.o)all: $(BIN)01test: 01test.o02test: 02test.o03test: 03test.o.c.o:$(CC) $(CFLA…

三维家可以导入别人的方案吗_广州深圳天津形位公差检测三维缺陷检测服务

形位公差检测三维缺陷检测服务标签:形位公差检测 三维缺陷检测服务 三维缺陷检测铸造工艺是一种经济实惠的毛坯成形方式,对于一些形状复杂的零件更能显示出它的经济性。比如汽车发动机的缸体和缸盖,船舶螺旋桨以及精致的艺术品等。本期案例的…

对“粘连”footer布局的思考和总结

经典的"粘连"footer布局 参考文章链接在文章末尾&#xff0c;简单的语言总结如下&#xff1a; 经典的“粘连”footer布局就是。我们有一块内容<main>。当<main>的高度足够长的时候&#xff0c;紧跟在<main>后面的元素<footer>会跟在<main…