(二)Web框架-龙卷风Tornado之世界上最简单的Tornado示例
程序员文章站
2022-07-15 21:01:02
...
源码
# _*_coding:utf-8_*_
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello Tornado")
def make_app():
return tornado.web.Application(handlers=[
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
源码详解
# _*_coding:utf-8_*_
#导入异步IO网络库,它是核心的IO循环
import tornado.ioloop
#如下所导入的模块是FriendFeed 使用的基础 Web 框架,包含了 Tornado 的大多数重
#要的功能
import tornado.web
#编写一个Tornado应用中最多的工作是定义类继承Tornado的#RequestHandler类,该类
#有一系列有用的内建方法,比如如下的write方法,
#它以一个字符串作为函数的参数,并将其写入到HTTP响应中
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello Tornado")
#然后创建了一个Tornado的Application类的实例。传递给Application类__init__方
#法的最重要的参数是handlers。它告诉Tornado应该用哪个类来响应请求。当然也可以直
#接写成[(r"/", MainHandler),]略去左值handlers
def make_app():
return tornado.web.Application(handlers=[
(r"/", MainHandler),
])
if __name__ == "__main__":
#调用函数make_app,此时也实例化了web模块的Application类,将实例赋给app
app = make_app()
#调用实例的listen方法,并传入int值8888作为监听端口,而实际上是将其传
#递给Tornado的httpserver模块(服务于 web 模块的一个非常简单的 HTTP 服务器的
#实现)的HTTPServer对象,最后,在程序准备好接收HTTP请求后,我们创建一个
#Tornado的IOLoop的实例。
#Application类的#listen方法源码如下:
#
#def listen(self, port, address="", **kwargs):
# from tornado.httpserver import HTTPServer
# server = HTTPServer(self, **kwargs)
# server.listen(port, address)
# return server
#
app.listen(8888)
#启动事件循环
tornado.ioloop.IOLoop.current().start()
访问
下一篇: 泛型基础----------泛型方法一