且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Tomcat上使用Jython部署Flask应用程序的***方式是什么?

更新时间:2023-02-17 21:26:19

有两种不同的方法可以指定一个应用程序modjy :
$ b $ ol

  • 使用app_import_name机制

  • 使用app_directory / app_filename / app_callable_name
  • >

    对于第一种方法,简单地创建一个导入Flask应用程序对象的文件。

    从my_flask_app导入应用程序作为应用程序

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

     < init-param> 
    < param-name> app_import_name< / param-name>
    < param-value> wsgi.application< / param-value>
    < / init-param>

    对于第二种方法,您可以使用在servlet上下文根中定义application.py的modjy约定调用Flask WSGI应用程序的单个处理程序方法:
    $ b $ pre $ $ $ c $ def处理程序(environ,start_response):
    返回应用程序。 wsgi_app(environ,start_response)


    I successfully deployed the demo web app that comes with Jython. It uses modjy which is a Jython WSGI gateway. I'm now trying to hook modjy to my Flask app. I get a handler not defined error.

    The full traceback is here: http://pastie.org/2810227

    There are two different ways you can specify an application to modjy:

    1. Using the app_import_name mechanism
    2. Using a combination of app_directory/app_filename/app_callable_name

    For the first method simply create a file that imports your Flask app object.

    from my_flask_app import app as application
    

    Then in your web.xml set the proper init-param:

    <init-param>
      <param-name>app_import_name</param-name>
      <param-value>wsgi.application</param-value>
    </init-param>
    

    For the second method you can use the modjy convention of defining application.py in the servlet context root with a single handler method that invokes the Flask WSGI app:

    def handler(environ, start_response):
        return application.wsgi_app(environ, start_response)