【nodeJs】connect中间件的简单使用

  • Connect是一个框架,它使用被称为中间件的模块化组件,在Connect中,中间件组件是一个函数,它拦截HTTP服务器提供的请求和响应对象,执行
    逻辑,或者结束响应,或者把它传递给下一个中间件组件。Connect用分派器把中间件“连
    接”在一起。
    这里写图片描述
  • 工作机制:在Connect中,中间件组件是一个JavaScript函数,按惯例会接受三个参数:一个请求对象,
    一个响应对象,还有一个通常命名为 next 的参数,它是一个回调函数,表明这个组件已经完成
    了它的工作,可以执行下一个中间件组件了。当一个组件不调用 next() 时,命令链中的后续中间件都不会被调用

  • 一个简单的connect

var connect = require('connect');

function logger(req, res, next) {
    console.log('Hi');
    next();
}

function hello(req, res, ) {
    res,setHeader('Content-type', 'text/plain');
    res.end('hello world');
}

connect()
.use(logger)
.use(hello)
.listen(3000)
hello 的参数中没有 next 回调,因为这个组件结束了HTTP响应,
从不需要把控制权交回给分派器

上面的链式调用也可以写成:
var app = connect();
app.use(logger);
app.use(hello);
app.listen(3000);
  • 挂载中间件和服务器: Connect中有一个挂载的概念,可以给中间件或整个程序
    定义一个路径前缀。使用挂载,你可以像在根层次下那样编写中间件(/ 根 req.url ),并且不修
    改代码就可以把它用在任一路径前缀上。
connect()
.use(logger)
.use('/admin', restrict)
.use('/admin', admin)
.use(hello)
.listen(3000)
  • 路由中间件组件: 路由会把请求URL映射到实现业务逻辑的
    函数上。
    这里写图片描述
  • 错误处理中间件: 错误处理中间件函数必须接受四个参数: err 、 req 、 res 和 next ,
    而常规的中间件只有三个参数: req 、 res 和 next 。
function errorHandler(err, req, res, next) {
    console.error(err.stack);
    res.setHeader('Content-Type', 'application/json');
    if(err.notFound){
        ...
    } else {
        res.statusCode = 500;
        res.end('error:Internal Server Error');
    }
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Node.js 中,我们通常使用 Express 框架来处理 HTTP 请求和响应。如果你想在 Node.js使用类似于 Java Servlet 的技术,可以使用 Connect 框架。 Connect 框架是一个基于 Node.js中间件框架,它提供了类似于 Java Servlet 的功能。它可以用于处理 HTTP 请求和响应,以及其他一些与请求相关的任务。 要使用 Connect 框架,请按照以下步骤操作: 1. 安装 Connect 模块: ``` npm install connect ``` 2. 在代码中引入 Connect 模块: ```javascript const connect = require('connect'); ``` 3. 创建一个 Connect 应用程序: ```javascript const app = connect(); ``` 4. 创建一个中间件处理程序: ```javascript function myMiddleware(req, res, next) { // 处理请求 next(); // 调用下一个中间件 } ``` 5. 将中间件处理程序添加到 Connect 应用程序中: ```javascript app.use(myMiddleware); ``` 6. 启动 Connect 应用程序: ```javascript app.listen(3000, () => { console.log('Server running at http://localhost:3000/'); }); ``` 这些步骤将创建一个简单Connect 应用程序,并将一个中间件处理程序添加到应用程序中。你可以在 myMiddleware 函数中编写代码来处理 HTTP 请求,并将请求传递给下一个中间件处理程序。 请注意,Connect 框架不是标准的 Servlet 规范实现,因此它可能与 Java Servlet 有所不同。但是,它提供了类似的功能,并且可以在 Node.js 中处理 HTTP 请求和响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值