【发布时间】:2011-03-10 22:01:44
【问题描述】:
我有一个 Django 应用程序,我们正在尝试使用 django-jython 部署到 Tomcat 服务器。
只是为了测试一下,我已经成功地为一个空的 Django 应用程序创建了 WAR 存档文件。测试 Django 应用程序称为“椅子”。
我们的 Tomcat 服务器显然不喜欢 WAR 存档文件,所以我解压(解压缩),并将这些文件复制到服务器。
网络服务器管理员为我创建了一个上下文,并为该上下文创建了一个目录(媒体跟踪)。
我已将 WAR 存档中的文件复制到该目录中,但我不太确定现在如何让该测试应用程序“运行”?
\mediatracking
- application.py
- application$py.class
\WEB-INF
web.xml
\lib
- jruby-extras-fileservlet.jar
- jython.jar
\lib-python
- Lib.pth
- README
\chair
\django
\doj
\Lib
等等。 (我没有下降到低于 chair/django/doj/Lib 目录。)
上面的目录结构有什么明显的遗漏吗?
我究竟如何让 Tomcat 服务器真正“运行”这个应用程序?如果您转到上下文目录,它不会自动运行(那里只有一个 application.py 和 application$py.class 文件,所以我不确定它会如何运行)。
我是否需要让我的网络服务器管理员对 web.xml 文件做一些事情?我检查了一下,里面似乎也没有任何东西可以帮助这个应用程序运行:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>chair</display-name>
<description>
chair through WSGI with modjy
</description>
<context-param>
<param-name>files.prefix</param-name> <!-- Needed by fileservlet -->
<param-value></param-value>
</context-param>
<servlet>
<servlet-name>modjy</servlet-name>
<servlet-class>com.xhaus.modjy.ModjyJServlet</servlet-class>
<init-param>
<param-name>reload_on_mod</param-name>
<param-value>1</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>fileservlet</servlet-name>
<servlet-class>org.jruby.webapp.FileServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>fileservlet</servlet-name>
<url-pattern>/media/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>modjy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
任何建议都将不胜感激 =)。
干杯, 维克多
【问题讨论】: