- - PR -
eclipseで作成したjspが動きません。
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-31 13:19
こんにちは。
最近、eclipseを使い始めました。 こちらのサイトを参考にして http://www2s.biglobe.ne.jp/~yuuki_ki/opensource/js_eclipse6.htm サーブレット、jspを作成しまいた。 ディプロイも特に問題なく終了し(successfullと出ている)いざjspを動かそうとurlを入力してみると以下のメッセージがでます。 HTTP Status 404 - /ShowDateJSP.jsp type Status report message /ShowDateJSP.jsp description The requested resource (/ShowDateJSP.jsp) is not available. ちなみに同時に作成したサーブレットは動きます。 はじめたばかりで右も左もわからず途方にくれております。 ディプロイ自体に問題があるのでしょうか? 開発環境 os:windows2000 professional eclipse 2.1.2 Apache Tomcat 5.0.12 j2se 1.4.2 Lomboz 2.1.1 Apache ant 1.6.0 |
|
投稿日時: 2004-03-31 13:43
JSP を配置した場所と、リクエストした URL はどうなっていますか?
|
|
投稿日時: 2004-03-31 14:16
開発環境ではcドライブにappというディレクトリを作り
その中に様々なアプリをインストールしています。 今回は以下のようなディレクトリ構造です。 tomcat→c:\app\Apache Software Foundation\Tomcat 5.0 j2se→c:\app\j2sdk1.4.2 eclipse→c:\app\eclipse ant→c:\app\apache-ant-1.6.0 プロジェクトの保存場所は以下のようになっています。 C:\app\eclipse\workspace\J2EEPJ + \bin(この中にclassファイルとjspファイルがあります。) + \ExLomboz(この中にWEB-INF等があります。ちなみにclassesやlibの 中には何もありません。) + \j2src(この中には何もありません。) + \src(この中にソースファイルがあります。) + .classpath + .project デプロイ後のtomcat webappsの中は以下のようになっています。 c:\app\Apache Software Foundation\Tomcat 5.0\webapps\ExLomboz + \META-INF + MANIFEST.MF + \WEB-INF + \classes(この中にclassファイルとjspファイルがあります。) + \lib(この中には何もありません。) + weblogic.xml + web.xml + resin-web.xml 入力したurlは以下のとおりです。 サーブレット:http://localhost:8080/ExLomboz/ShowDate jsp:http://localhost:8080/ExLomboz/ShowDateJSP.jsp やけくそでこんなのも入力してみました。 http://localhost:8080/ExLomboz/ShowDateJSP http://localhost:8080/ExLomboz/WEB-INF/classes/ShowDateJSP.jsp http://localhost:8080/ExLomboz/classes/ShowDateJSP.jsp それから書き忘れたことがあります。すいません。 関係があるかどうか判りませんが当初、ant1.6.0を使用していたのですが デプロイを実行すると以下のようなメッセージがでてしまいます。 Buildfile: C:\app\eclipse\workspace\J2EEPJ\ExLomboz\WEB-INF\build.xml undeploy: init: [mkdir] Created dir: C:\app\eclipse\workspace\J2EEPJ\dist [mkdir] Created dir: C:\app\eclipse\workspace\J2EEPJ\dist\WEB-INF [mkdir] Created dir: C:\app\eclipse\workspace\J2EEPJ\dist\WEB-INF\classes [mkdir] Created dir: C:\app\eclipse\workspace\J2EEPJ\dist\WEB-INF\lib [copy] Copying 3 files to C:\app\eclipse\workspace\J2EEPJ\dist [copy] Copying 2 files to C:\app\eclipse\workspace\J2EEPJ\dist\WEB-INF\classes deploy: [jar] Building jar: C:\app\eclipse\workspace\J2EEPJ\ExLomboz\WEB-INF\ExLomboz.war BUILD FAILED: java.lang.NoSuchMethodError: org.apache.tools.zip.ZipOutputStream.<init>(Ljava/io/File;)V Total time: 3 seconds そこで過去ログを検索したところ同様の状況にみまわれた方がいらっしゃったので そこでの対処方法を試しました。(c:\app\eclipse\plugins\org.apache.ant_1.5.3\ant.jarのファイル名_ant.jarに書き換えました。)するとデプロイは成功するのですがjspファイルをエディタで開くとエラーがでるようになりました。そのためant1.6.0の使用をやめてデフォルトのant1.5.3に戻しました。 |
|
投稿日時: 2004-03-31 14:26
JSP の配置場所が間違っているようですね。
WEB-INF はクライアントからアクセスできませんよ。 参考にされたサイトに、プログラム配置・実行についての解説がありますので、確認してみてください。 |
|
投稿日時: 2004-03-31 14:55
うまくいきました。たいへんありがとうございました。
どうやら基本的なことを落としていたようです。 ということはデプロイ用のbuild.xmlの内容に不備があるということに なります。以下が今回使用したbuild.xml(参考にしたサイトからダウンロードしました。) の内容なのですがどう直せばよいかよくわかりません。ひとまず自分なりに解釈してコメント をつけてみました。☆マークの場所をどうにか直せばうまくいくような気がします。 <!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. --> <project name="webmodulebuilder" default="deploy" basedir="."> // 変数定義(パスの指定だと思われる。) <!-- set global properties for this build --> <property file="build.properties"/> <property name="dist" value="../../dist" /> <property name="web" value="../" /> // 処理@ <target name="init"> <!-- Create the dist directory structure used by compile and copy the deployment descriptors into it--> // ディレクトリを作成する <mkdir dir="${dist}"/> <mkdir dir="${dist}/WEB-INF"/> <mkdir dir="${dist}/WEB-INF/classes"/> <mkdir dir="${dist}/WEB-INF/lib"/> // ??へファイルをコピーする <copy todir="${dist}"> <fileset dir="${web}"> <include name="**/*.*"/> <exclude name="**/jsp_servlet/*.class"/> <exclude name="**/build.xml"/> <exclude name="**/deploy.xml"/> <exclude name="**/build.properties"/> <exclude name="**/servers.xml"/> <exclude name="**/targets.xml"/> <exclude name="**/*.war"/> </fileset> </copy> // binの中身をすべて/WEB-INF/classesへファイルをコピーする ☆ ここでjspファイルをWEB-INF以外の場所へコピーすればよいのか? <copy todir="${dist}/WEB-INF/classes"> <fileset dir="${project.dir}/${bin.dir}"> <include name="**/*.*"/> <exclude name="**/jsp_servlet/*.class"/> </fileset> </copy> </target> // 処理A // なんだかよくわかりませんがwarファイルを削除したりしているようです。 <target name="deploy" depends="undeploy,init" > <!-- Create the distribution directory --> <delete file="${war}.war"/> <jar jarfile="${war}.war" basedir="${dist}"/> <copy file="${war}.war" todir="${deploy.dir}"/> <delete file="${war}.war"/> <delete dir="${dist}"/> </target> // 処理B // ここもよくわかりません。 <target name="deployTool"> <ant antfile="./deploy.xml" dir="." target="deploy" inheritall="true"> </ant> </target> // 処理C // なにもしていません。 <target name="undeploy"> <!-- Sometimes you can undeploy with deleting the module file but it is best dealt on an appserver basis at undeployTool target --> </target> // 処理D // ここもよくわかりません。 <target name="undeployTool"> <ant antfile="./undeploy.xml" dir="." target="undeploy" inheritall="true"> </ant> </target> </project> それから例えばコンテキストディレクトリをtomcatのwebappsではなくて 任意のディレクトリに配置する場合は手動でコンテキスト用のxmlを \conf\Catalina\localhost\へ作成しなくてはならないのでしょうか? (tomcat4の場合はserver.xmlの編集が必要?) |
|
投稿日時: 2004-03-31 15:09
Eclipse で開発する時点で Web アプリケーションのルートディレクトリ配下に置いておけばいいんじゃないですか?(今回の場合、ExLomboz の直下)
build.xml の不備ではないと思います。(確認したわけではありませんが) |
|
投稿日時: 2004-03-31 15:21
ありがとうございました。
参考になりました。 |
1
