在Tomcat上使用Jython部署Flask应用程序的最佳方法是什么?

Jul*_*lla 9 python tomcat jython flask

我成功部署了Jython附带的演示Web应用程序.它使用modjy,它是一个Jython WSGI网关.我现在正试图将modjy挂钩到我的Flask应用程序.我得到一个未定义错误的处理程序.

完整的回溯在这里:http://pastie.org/2810227

Jul*_*lla 8

您可以通过两种不同的方式指定要修改的应用程序:

  1. 使用app_import_name机制
  2. 使用app_directory/app_filename/app_callable_name的组合

对于第一种方法,只需创建一个导入Flask应用程序对象的文件.

from my_flask_app import app as application
Run Code Online (Sandbox Code Playgroud)

然后在你的web.xml中设置正确的init-param:

<init-param>
  <param-name>app_import_name</param-name>
  <param-value>wsgi.application</param-value>
</init-param>
Run Code Online (Sandbox Code Playgroud)

对于第二种方法,您可以使用在servlet上下文根中定义application.py的modjy约定,以及调用Flask WSGI应用程序的单个处理程序方法:

def handler(environ, start_response):
    return application.wsgi_app(environ, start_response)
Run Code Online (Sandbox Code Playgroud)