grails 2.3 で cgi を使用したいのですが、私の開発ツールは Intellij Idea 13 です。しかし、TomcatPlugin での設定方法がわかりません。助けてもらえますか? どうもありがとうございました!!!
1 に答える
3
これを機能させるために、実行grails install-templates
して編集src/templates/war/web.xml
し、CGI サーブレットとマッピングを追加しました。
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>/usr/local/groovy/bin/groovy</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
次に、作成して追加したprivileged
フラグを設定しますscripts/_Events.groovy
eventConfigureTomcat = {tomcat ->
def context = tomcat.host.findChild(serverContextPath)
context.privileged = true
}
Groovy スクリプトをテストしましweb-app/WEB-INF/cgi/test1.cgi
た (Perl の代わりに Groovy を使用するには、上記の「実行可能」init-param を設定する必要がありました)。
#!/usr/local/groovy/bin/groovy
println "Content-type: text/html\n\n"
println """
<html>
<head>
<title>CGI Test</title>
</head>
<body>
<strong>Testing CGI at ${new Date()}</strong>
</body>
</html>
"""
于 2013-10-14T19:33:56.817 に答える