Odoo的web运行机制

原文

http://blog.csdn.net/m0relia/article/details/39025947

Odoo中的web server

odoo\openerp\service\server.py

CommonServer是其他三个PreforkServer,GeventServer,ThreadedServer的父类

Odoo中的web container

odoo\openerp\service\wsgi_server.py

Odoo 中的web container在wsgi_server.py中定义

Odoo中的webhandler

odoo\openerp\http.py

在运行的时候,通过调用odoo container的register_wsgi_handler方法将HandlerRoot注册到容器中,

这个handler实现是充分利用werkzeug包进行二次封装,常见对象有reponserequest。具体werkzeug的内容请参见 http://werkzeug.pocoo.org/

对于Http请求

     既然可以把handler当做java中的servlet,且Odoo中只有Root这样一个handler,那么可以推定Root必然要负责对所有外部来的请求进行分发处理,通过url映射到具体的controller中来进行处理,执行这个操作的就是Root类的dispatch函数   

 

 

猜你喜欢

转载自radzhang.iteye.com/blog/2276056