3-创建web服务


在安装pydev和tornado后,在eclipse中选择File->New->pydev,输入工程名称,在此暂叫做MyServer。

 

工程创建成功后开始添加主文件,在eclipse中选中工程目录,右键->New->Pydev Module,在弹出的对话框中的“Name”属性框中输入文件的

名称“MyServer”,在点击确定后的对话框中选择“Module::main”。

开始添加自己的代码:

首先引入需要的包:

from tornado import httpserver
import tornado.ioloop


1,定义自己的“Application”,继承自“tornado.web.Application”:


class MyServer(tornado.web.Application):
    
    def __init__(self):
        handlers = [
        //暂且不添加handlers,后续添加
                    ]
        settings = dict(gzip=True,
                        debug=False,)
        tornado.web.Application.__init__(self,
                                         handlers=handlers,
                                         **settings)

2,定义启动函数:

def startServer():
   http_server = httpserver.HTTPServer(MyServer())
   http_server.bind(8888) //绑定到8888端口,或者其他可用端口
   http_server.start(1)
   tornado.ioloop.IOLoop.instance().start()

 

3,在main中启动服务

if __name__ == '__main__':
    startServer()

此时,服务已经可以启动,但是因为没有添加handlers,还不能处理、回应请求,接下来我们添加handlers


4,选中工程目录文件,右键->New...->PydevPackage,输入包名“Handler”,或者其他名称,后续的handler相关文件都放入到这个包中;


5,在包handler中添加新的“Pydev Module”,命名为“BaseHandler.py”,在“BaseHandler.py”中添加“基Handler“的定义、实现:

import tornado.web

class BaseHandler(tornado.web.RequestHandler):
    '''
    处理http请求的基类:
        在此做对请求参数的校验等
    '''
    def __init__(self,*request, **kwargs):
        super(BaseHandler, self).__init__(request[0], request[1])
    
    def get(self):
        self.write('My Server is working !!!')
        
    def post(self):
        pass

现在的handler中只处理“get”,如果我们的服务还运行着,则返回客户端一个字符串;

6,在我们的启动文件中添加handler:

     在“my_server.py”文件中,添加引用包


from Handler.BaseHandler import BaseHandler;

     将:

   handlers = [
       //暂且不添加handlers,后续添加
                    ]

      修改为:              

 handlers = [
                    (r"/",BaseHandler),
               ]


7,启动服务

     右击“my_server.py”,选择Debug as->Python Run,带“Console”中输出“pydev debugger: starting”,标示服务已经启动;

     在浏览器中输入:http://127.0.0.1:8888 或者 http://localhost:8888


8,调试

     在BaseHandler.py文件中的“get”函数处设置一个断点,再在浏览器中输入上述地址,看看有什么事情发生;


9,停止服务

     点击“Console”工具栏中的的一个红色按钮(Terminate)停止当前启动的服务;

     命令行:打开终端,输入 lsof -i :8888 查看占用8888端口的进程

                                  输入 pgrep -lf python 查看以python启动的程序

      找到对应的pid,可以用 kill -9 [pid] 将对应的进程杀掉。

 

  至此,一个简单得web服务搭设完毕。


源工程下载目录:

http://download.csdn.net/detail/thekingofc/7892687 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值