(二)Web框架-龙卷风Tornado之世界上最简单的Tornado示例

版权声明:本文为博主原创文章,转载文章须附上文章来源与作者。 https://blog.csdn.net/ChangerJJLee/article/details/77417390

源码

# _*_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()

访问

http://127.0.0.1:8888/

展开阅读全文

没有更多推荐了,返回首页