トップページ⇒tech
984コメント322KB

TOMCAT

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
JavaServletを使いたいと思いTOMCATをインストール
しようと思ったんすけど、うまく動きません。ネットで
調べまくって手順も大丈夫なはずなんだけど。

環境
Win2000Pro、Tomcat3.2.3
自宅のWin98SEで同じようにやったら動いた。

Win2000では

C:\tomcat\bin>tomcat run
Including all jars in c:\tomcat\lib in your CLASSPATH.

Using CLASSPATH: c:\tomcat\classes;c:\tomcat\lib\ant.jar;c:\tomcat\lib\jasper.ja
r;c:\tomcat\lib\jaxp.jar;c:\tomcat\lib\parser.jar;c:\tomcat\lib\servlet.jar;c:\t
omcat\lib\webserver.jar;c:\tomcat\classes;c:\tomcat\lib\ant.jar;c:\tomcat\lib\ja
sper.jar;c:\tomcat\lib\jaxp.jar;c:\tomcat\lib\parser.jar;c:\tomcat\lib\servlet.j
ar;c:\tomcat\lib\webserver.jar;c:\tomcat\lib\servlet.jar;c:\jdk1.3\lib\tools.jar
;c:\jdk1.3\lib\tools.jar

Exception in thread "main" java.lang.NoSuchMethodError
at org.apache.tomcat.startup.Tomcat.getConfigFile(Tomcat.java:116)
at org.apache.tomcat.startup.Tomcat.execute(Tomcat.java:141)
at org.apache.tomcat.startup.Tomcat.main(Tomcat.java:163)
C:\tomcat\bin>

こういうエラーが出ます。パスもJAVA_HOME、TOMCAT_HOME通した。
クラスパスも通ってるはず。なでしょう?
0431デフォルトの名無しさんNGNG
Tomcat 4.1.12で /WEB-INF/jsp 以下にJSPを置いたら、jspファイルの
コンパイル時に package org.apache.jsp.WEB-INF.jsp; のハイフンの
ところで「';'がありません」というエラーが出るようになってしまい
ました。
こういうものなんでしょうか?

0432tomcatの神NGNG
>>431
普通そこに置くのか・・・?
いいか、通常の設定では
WEB-INF以下のファイルは直接見れないようになってるんだぞ

ブラウザから直接アクセスの
JSPをそこに置けば見れないと思うのだが・・・
0433431NGNG
すみません、言葉足らずでした。
実はStrutsを使ってるんで、JSPはブラウザからは直接見せないで
必ずServletの処理後にforwardさせるような感じになっています。
で、いざActionの処理が終わってJSPにフォワードする段になって

>org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
>JSPファイル: null の中の行: -1でエラーが発生しました
>生成されたサーブレットのエラーです:
> [javac] Compiling 1 source file
>/path_to/jakarta-tomcat-4.1.18/work/Standalone/localhost/orion2static/WEB-INF/jsp/index_jsp.java:1: ';' がありません。
>package org.apache.jsp.WEB-INF.jsp;
> ^

というような例外が発生していたんですが、数日前まで動作していたことから
Eclipse用のTomcat Pluginに付属していた org.apache.jaspar.JspCompilationContext
が悪さをしていることに気づき、これを削除して解決しました。
お騒がせしました。

0434デフォルトの名無しさんNGNG
>>432
最近はJSPはWebサーバから直接見れないととこに置くことが推奨されてるよ。
直接アクセスされるのを防ぐこともできるし。
まあ徹底するのは結構難しいけど。
0435デフォルトの名無しさんNGNG
勝手な独り言ですが...
>>432 >>434

Tomcat は 3.3.x、4.0.xの頃はよく使ってたのですが、最近の事情には疎いものです。
なんか 4.1 ベースになるとだいぶ変わっているみたいですね。invoker とかも
デフォルトで無効化されているし、ほっとくとどんどんついていけなくなる.....

Tomcat 4.1.xの最新のものを落としてきて、ドキュメントでも読むかな...
0436デフォルトの名無しさんNGNG
>>435
Invokerは、デフォルトでセキュリティホールがあるという
マヌケな状態を生み出していたので、閉じただけでしょ。
0437デフォルトの名無しさんNGNG
>>434
通りすがりのものなんだが・・・
JSPが直接見れないトコに置くってことはどういうことなの?
JSPって基本的にViewだから直で見れないと意味ない気がするんだが・・・
もしかしてサーブレットからフォワードするようにするのが今の標準のやり方なの?
0438デフォルトの名無しさんNGNG
>>437
標準かどうかは物議を醸すところだが、
おっしゃるとおりの考え方。

Viewは画面の表示のみ。クライアントからのリクエストを
直接受け取ってはいけないということは、クライアントから
ファイルを直接指定して見られてはいけないということ。

クライアントからのリクエストを受け取るのはコントローラ。
コントローラがリクエストを受け取って、業務ロジック実行させて、
表示する画面を選択してフォワードする。
0439431NGNG
JSPを直接見えない所に置くのって基本かと思ってたらそうでもないみたいね。
JSPにスクリプトレットを記述することに抵抗の少ない人が多いってことでしょうか。
0440デフォルトの名無しさんNGNG
>JSPを直接見えない所に置くのって基本かと思ってたらそうでもないみたいね。

>JSPにスクリプトレットを記述することに抵抗の少ない人が多いってことでしょうか。

この2行には何の関連もありませんがアフォですか?
0441デフォルトの名無しさんNGNG
っていうか「直接見えない」
の定義がわからない・・・

単純に*.jspのファイルをDLしようとしても
DLしたファイルはjspの拡張子はついてるが
中身は普通のhtmlファイルだ
<% %>などの文字やロジック呼び出し部分とかは当然見えない
0442デフォルトの名無しさんNGNG
test
0443デフォルトの名無しさんNGNG
TOMCATのフォルダの中を見れないようにするにはどうしたらいいでしょうか?
index.jspなんか作れば大丈夫ですがそれ以外に何か方法ないですか?
0444デフォルトの名無しさんNGNG
TOMCATのフォルダの中の人などいない

というか、おれは>>443の逆で
apache経由でTOMCAT使うときに
フォルダの中身を見れるようにしたい
んだけど、どうすりゃいいのかな
0445デフォルトの名無しさんNGNG
普通に見れませんか?
0446444NGNG
>>445
見れないよ・・・
ポート8180(TOMCATスタンダロンのデフォ)で見るとフォルダの中の人が
見れるけど、ポート80(apache)で見ると中の人が見れない。
0447431NGNG
>>440
皆さんがJSPを /WEB-INF の中に置かないのはJSP内でリクエストパラメータを
いじったりしたいからじゃないの?
俺はそれじゃダサいと思うから /WEB-INF/jsp とかを作ってるんだけど。

>>441
コードが覗けるかどうかじゃなくて、ブラウザのURL欄に *.jsp が
出てこないような作りってことです。
■ このスレッドは過去ログ倉庫に格納されています