1、MySQL模块
mysql模块是第三方模块,提供了连接及操作mysql数据库的相关功能。
mysql.createConnection()//创建一个mysql服务器的连接,返回一个连接对象。此对象有以下常用方法:
connect() //连接数据库,可省略
query() //提交sql语句给mysql服务器执行
end() //断开与mysql服务器的连接
2、HTTP模块
用于创建使用HTTP协议的客户端应用或服务器端应用。
创建并发起请求消息,等待并解析响应消息。——实现web客户端
接收并解析请求消息,构建并发送响应消息。——实现web服务器
常用对象:
http.ClientRequest
http.Server
http.ServerResponse
http.IncomingMessage
常用方法:
http.createServer()
http.get()
http.request()
1、http.request
http.request是一个HTTP客户端工具
用于向web服务器发起http请求,并获取响应数据
有两个主要方法:
http.get()
http.request()
以上两个方法返回一个http.ClientRequest对象,用来描述请求信息,方法的回调函数的参数是一个http.IncomingMessage,封装着响应信息。
ClientRequest对象的常用方法:
write() //向服务器追加请求主体数据
end() //提交请求消息主体结束
setTimeout()//设置请求消息超时时间
abort() //终止请求
ClientRequest对象的常用事件:
response //接收到响应消息
abort //终止请求事件
error //请求发生错误
注意:使用request()方法时,需要手动调用end()方法,标识提交请求消息主体结束
2、http.server
http.server是一个基于事件的HTTP服务器
用于创建web服务器,接收客户端请求,返回响应消息。所有的请求都被封装到独立的事件当中,我们只需要对它的事件编写响应的处理程序,就可以实现HTTP服务器的所有功能。
方法:http.createServer()
用于创建一个web服务器应用,可以接收客户端请求,并返回响应消息。
该方法的返回值是一个http.Server对象
http.Server对象常用方法:
listen(port,[host]) //启动服务器,监听指定的服务器端口
close() //停止服务器的运行
setTimeout()//设置服务器响应消息的超时时间
http.Server对象常用事件:
connection //出现客户端连接
request //接收到请求消息
close //服务器停止事件
error //响应过程发生错误
http.createServer()回调函数:
第一个参数,是一个http.IncomingMessage对象,封装着客户端提交的请求消息数据。
第二个参数,是一个http.ServerResponse对象,用于构建向客户端输出的响应消息数据。
3、express模块
express模块封装Node.js中的http模块,扩展了http模块的功能。可以方便的实现服务器的路由、发送和接收http请求、返回响应、发送和接收cookie以及实现模板引擎等功能。
方法:
var app=express()//创建express服务器
返回一个服务器对象app,app对象的方法:
app.listen(port);//启动服务器,监听指定端口
//路由
app.method(path,callback)
-method//http请求方法,get,post
-path//一个服务器端的url路径
-callback//路由匹配成功后要执行的处理函数,参数:req,res
中间件:是一个函数,在“收到请求”和“发送响应”时点之间执行,提供附加功能。
app.use()//为路由指定中间件
express.static(path)//中间件函数,提供静态文件服务
app.use(express.static(path))//path:静态文件所在目录
处理函数中的req参数:
req.query //请求url中的查询字符串部分
处理函数中的res参数:
res.set()//设置请求标头
res.status//设置状态码
res.send()//发送响应