创建web站点(单例模式)

2018-06-18 00:39:10来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在python2.7下运行。

#!usr/bin/env python
# -*- coding:utf-8 -*-
from wsgiref.simple_server import make_server

插入单例模式,创建私有类型变量。其中静态方法 get_instance 为单例模式,

 1 class ConnectionPool:
 2 
 3     __instance = None
 4 
 5     def __init__(self):
 6         pass
 7 
 8     @staticmethod
 9     def get_instance():
10         if ConnectionPool.__instance:
11             return ConnectionPool.__instance
12         else:
13             ConnectionPool.__instance = ConnectionPool()
14             return ConnectionPool.__instance
15 
16     def get_connection(self):
17         import random
18         r = random.randrange(1,11)
19         return r

 

def index():
    p = ConnectionPool.get_instance()   # 访问web时主动调用单例模式 get_instance
    Con = p.get_connection()
    print(p)                            # 每次在内存中都是同一个对象
    return "INDEX" + str(Con)
RunServer
def RunServer(environ, start_response):
    start_response(status='200 0k', headers=[('Content-Type', 'text/html')])
    url = environ['PATH_INFO']
    if url.endswith('index'):
        ret = index()
        return ret
    else:
        return '404'

if __name__ == '__main__':
    httpd = make_server('', 8008, RunServer)
    print('Serving HTTP on port 8008....')
    httpd.serve_forever()
View Code

2018-01-16  23:14:08

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用python导入pymysql库操作mysql(增删改查)

下一篇:python基础===monkeytype可以自动添加注释的模块!