- PR -

TomcatでCGIを動かす方法(画像表示)

1
投稿者投稿内容
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2004-05-24 14:31
皆様こんにちわ。

TomcatでCGIを動作させる際、以下の
問題にあたっています。

・画像を表示できない。
・スタイルシートを認識しない。

TomcatのCGIに関する設定は施してあり
動作確認もしています。

しかしながら、例えば結果をgif画像で
表示させるカウンタや、スタイルシート
を使用しているCGI掲示板などを動作さ
せようとした場合、上記のようになります。

Tomcatに施した箇所は以下です。
・servlets-cgi.jarのリネーム
・web.xmlの<servlet>と<servlet-mapping>
 のコメントアウト除去

この他に設定しなければいけない箇所が
あるのでしょうか?

または、そもそもTomcatのCGIは単純な
ものしかできないから不可能という
ことでしょうか?

webでも調べていたのですが、なかなか
情報がなく困っています。

情報あればよろしくお願い致します。

環境
---
J2SDK1.4.2
Tomcat4.1
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-05-24 15:39
単にURLが間違っているだけのような気がしますが。

スタイルシートや画像ファイルへのURLを相対パスで指定しているなら、
servletを表示する(servlet-mappingで指定している)URLからの
相対パスになっているでしょうか?
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2004-05-24 16:45
引用:

Clusterさんの書き込み (2004-05-24 15:39) より:
単にURLが間違っているだけのような気がしますが。

スタイルシートや画像ファイルへのURLを相対パスで指定しているなら、
servletを表示する(servlet-mappingで指定している)URLからの
相対パスになっているでしょうか?



構成としては以下のようになっています。

/webapps
 /sample
  /WEB-INF
   /cgi
    -sample.cgi
    /img
     -sample.gif

表示画面では、cgiによって出力された
HTML中で<img src="./img/sample.gif"
となっています。

このパスではまずいのでしょうか。

※注意
 sample.cgiなどは説明のために使用した
 cgiであり、実際試しているコードは
 フリーで配布されているものです。
 パスが="./img/sample.gif"になっている
 というのはログレベルを詳細にして
 確かめました。

どなたかご存知であればお聞きしたいのですが
そもそもTomcatではCGIで画像などは表示できな
い、という解はないのでしょうか?

CGIの知識がないもので、自分でコードを
作って試すということができないです。。
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2004-05-24 17:01
自己レスです。

そもそもApacheなどでCGIを設定する場合
cgi-bin配下の画像ファイル等はCGIとして
読み込まれてしまうため、対処方法が存在
します。

1.画像をcgi-bin以外に置く
2.設定ファイルに画像は画像と認識するように記述する

tomcatでは2.が不可能であるため1.の方法を取ることで
画像表示も可能となる。

色々試して、1.の方法で画像を表示できました。

2.はできないと思っているのですが合っていますでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)