スポンサー広告 - スポンサーサイト

--/--/-- (--) --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【プログラミング】JAVA - TomcatでCGI

2011/06/18 (土) 21:56

自宅でPHPでの開発(ほぼ趣味)を行いたいと考えたときに、ApacheやIISを導入するのはなんとなく躊躇われた。
レジストリとか汚したくないし、サービスが登録されてもうざいし。
できるだけ綺麗に美しく、エレガントにできないだろうかと。
そこで、Eclipse(Pleiadesの3.6)は既にインストールしてあったので、同胞のTomcat上でCGIを動かすことにした。

実は、以前に仕事でTomcat上で動くwebアプリケーションをJAVAで作成する案件があり、同時にPerlで書かれたCGIも動かす必要があったので同じ設定をしたことがある。
なので実現可能であることは知っていたのでした。
とりあえず備忘録として記録しておくことにします。

まずはCGIを何で書くのか。
今時だとPHPが主流かしら?一昔前はPerl一色だった気もするが。

言語を決めたらその言語をインストールする。
WindowsでもLinuxでもどっちでも良いけど、まぁとりあえずWindowsにしておこう。

Tomcat全体に設定することも可能だけども、ここはとある任意のコンテキストにだけ設定を施そう。

各webappの web.xml に設定を記述する。
以下はPHPの場合。
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<!-- CGI用のサーブレット定義 -->
<servlet>
<servlet-name>php</servlet-name>

<!-- TomcatでCGIを動かすためのサーブレット -->
<servlet-class>
org.apache.catalina.servlets.CGIServlet
</servlet-class>

<!-- パラメータ:デバッグレベル -->
<init-param>
<param-name>debug</param-name>
<param-value>6</param-value>
</init-param>

<!-- パラメータ:PHPスクリプトを配備するフォルダのパス docrootが基点 -->
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>php</param-value>
</init-param>

<!-- パラメータ:PHPを実行するためのコマンド -->
<init-param>
<param-name>executable</param-name>
<param-value>C:/php/php-4.4.9/php.exe</param-value>
</init-param>

<load-on-startup>5</load-on-startup>
</servlet>

<!-- CGI用のサーブレットマッピング -->
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>/php/*</url-pattern>
</servlet-mapping>

</web-app>


で、ここからはTomcatのバージョンによって異なる設定。

■Tomcat5.xの場合
$CATALINA_HOME/server/lib/servlets-cgi.renametojar

$CATALINA_HOME/server/lib/servlets-cgi.jar
にリネームする。
要するに、先の web.xml で指定したサーブレット「org.apache.catalina.servlets.CGIServlet」がこのjarの中にあるということ。

■Tomcat6の場合
サーブレットクラス「org.apache.catalina.servlets.CGIServlet」は、
$CATALINA_HOME/lib/catalina.jar
に引っ越しした模様。
なので特に設定の必要はなくなったのだけど、別の設定が必要なようです。

該当のコンテキスト設定タグの要素(Context)に、
privileged="true"
というのが必要。
$CATALINA_HOME/conf/Catalina/localhost
に置くファイルか、
$CATALINA_HOME/conf/Catalina/localhost/server.xml
に書くものですね。

この privileged 要素の意味するところは以下のような感じ。
---
このWebアプリケーションに特権を与えるかどうかを指定します。
true にすると、コンテナ・サーブレットを使うことが可能になります。
コンテナ・サーブレットとは、org.apache.catalina.ContainerServletインターフェイスを
実装したサーブレットの事を指します。
---
だそうだ。

PHP以外にもPerlも同時に使いたいんだぁ!という場合は、web.xmlにサーブレットとマッピングの設定を追加すれば共存が可能と思われます。

Eclipseだけで開発したいときには便利だと思ふ。

関連記事

コメントの投稿

非公開コメント

サマンサタバサ 財布 http://www.techseg.com/

<a href=www.techseg.com/>www.techseg.com/</a>
<a href=http://www.techseg.com/>リュック</a>
WINTER SALE START! 人気が続きのサマンサタバサニューヨーク,サマンサタバサ バッグ,サマンサタバサ 財布が勢揃い! 大推薦された,サマンサタバサ アウトレット,サマンサタバサ ショルダーバッグ,サマンサベガ,サマンサキングズ,サマンサ バッグ,サマンサ 財布,サマンサタバサ 店舗,サマンサタバサニューヨーク バッグ,サマンサタバサニューヨーク 財布は今季の ベストセラー アイテムです。いつでも安心価格で お客様に満足いただける!
<img>http://www.techseg.com/includes/templates/techseg/images/brand/top06.jpg</img>
http://www.techseg.com/サマンサタバサニューヨーク 財布

カシオ Gショック http://www.nemojoe.com/

ブランド 腕時計スーパーセール開催中!フォリフォリ 腕時計,フォリフォリ 時計,Folli Follie 時計,フォリフォリ 腕時計 人気,フォリフォリ アウトレット,フォリフォリ セール,フォリフォリン メンズ,フォリフォリ 腕時計 レディースなど、 冬キャンペーンSALE。
<img>http://www.nemojoe.com/includes/templates/nemojoe/images/brand/right11.jpg</img>
http://www.nemojoe.com/
http://www.nemojoe.com/timexbrタイメックス-c-201/タイメックス-sale-腕時計-エクスペディション-アルミニウム-キャンパー-グリーン-ナイロンベルト-timex-t499322014冬セール-p-4554.html

タトラス ダウン メンズ http://www.g-naya.com/

<a href=www.g-naya.com/>www.g-naya.com/</a>
<a href=http://www.g-naya.com/>モンクレール ダウン</a>
人気ブーツ&ダウンウェア店舗 : レッドウィング ブーツ、レッドウィング ベックマン、レッドウィング エンジニア、レッドウィング ブーツ 人気、レッドウィング ブーツ メンズ、レッドウィング 新作、レッドウィング ブーツ 875通販!レッドウィング ブーツ、レッドウィング ベックマン、レッドウィング エンジニア大割引セール!我々はご注文を期待しております!
<img>http://www.g-naya.com/includes/templates/g-naya/images/brand/right05.jpg</img>
http://www.g-naya.com/ダナーライト

セリーヌ バッグ コピー http://www.miamontana.com/

<a href=www.miamontana.com/>www.miamontana.com/</a>
<a href=http://www.miamontana.com/>ラメール 時計</a>
弊社はこの度お客様に感謝ためアニエス·ベー ,イヴ·サンローラン,オリエント腕時計,カシオ腕時計,コーチ,シーバイクロエ,ジミーチュウ,セリーヌ,タイメックス腕時計, ラメール腕時計,ボッテガヴェネタ正規品をすべて激安特価saleスタート!最大80%OFF
<img>http://www.miamontana.com/includes/templates/miamontana/images/brand/right07.jpg</img>
http://www.miamontana.com/ジミーチュウ キーケース

ルイヴィトン 財布 http://www.joehaas.net/

<a href=http://www.joehaas.net/>http://www.joehaas.net/</a>
<a href=http://www.joehaas.net/>joehaas</a>
ブランド バッグ、財布通販店♪高品質、低価格のミュウミュウ 財布、ミュウミュウ バッグ、ミュウミュウ アウトレット、miumiu 財布 2013、miumiu 財布 人気、ミュウミュウ 財布 新作 2013、miumiu バッグ 新作、ミュウミュウ バッグ 新作 2013 秋冬販売!通販価格でさらに大幅値下げ、安心で購入してください!
<img>http://www.joehaas.net/includes/templates/joehaas/images/brand/top01.jpg</img>
http://www.joehaas.net/シャネル 財布 2013 新作
検索フォーム
RSSリンクの表示
カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。