• ベストアンサー

TomcatのWEB-INFディレクトリ

お世話になります。 外部から直接アクセスさせないデータを格納しているWEB-INFディレクトリ配下にweb.xmlファイルとclassesディレクトリを作成して、その配下にJavaファイルではなく、Htmlファイルを作成してTomcatをブートして、http://localhost:8080で実行させたいのですが、ポート番号8080以降のアドレスには、Javaファイルはweb.xmlファイルのServletをコールして、<url-pattern>タグで定義できますが、Htmlファイルはどのように定義すれば良いですか? また、別の方法はございますか? 以上 宜しくお願いします。

noname#187796
noname#187796

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

私はあなたを外国人の方か、初心者の方と思います。 あなたの日本語の文法または意味がおかしいので、私が正しく理解できているかは自信がありません。 回答内容が見当外れかも知れませんが、予めご了承ください。 FileTransferServlet を作成します。 パラメータでファイル名を受け取ります。 FileTransferServlet がパラメータで指定したファイルを返します。 http://localhost:8080/FileTransferServlet.do?filename=xxxx.html あるいは単純に xxxxx.html を下のように呼び出したいのならば、WEB アプリケーションのルートとなるディレクトリに xxxxx.html を配置します。 http://localhost:8080/xxxxx.html 以上、ご参考になれば幸いです。

noname#187796
質問者

お礼

ありがとうございました

noname#187796
質問者

補足

やりたいのは、下記構成でclassesディレクトリ中にHtmlファイルを置いて実行する方法です。 webapps\WEB-INF\classes webapps\WEB-INF\lib webapps\WEB-INF\web.xml

関連するQ&A

  • Tomcatにおけるサーブレットの呼び出し

    tomcatに関してですが、現在サーブレットからjspを呼び出すようなことをしたいと思い、web.xmlを以下のように設定し、”http:localhost:8080/servlet/Login”としても『HTTP Status 404 - 』が返却されます。jspからサーブレットを呼び出すことはできるのですが・・・(この場合、jspファイルをWEB-INFの直下にディレクトリを作成するとやはりアクセスができませんでした。WEB-INFと同レベルに置けばアクセスは可能でした。)。 どなたかわかる方がいれば教えて下さい! よろしくお願いします。 --------------- 環境 --------------- Windows2000Server eclipse ver2.1.1 tomcat ver4.1 --------------- ディレクトリ構成 --------------- WEB-INF Lclasses | LLogin_serv.java Ljsp LLogin.jsp --------------- web.xml --------------- <?xml version="1.0" encoding="shift_jis"?> <!DOCTYPE web-app PUBLIC "-//SUN Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>Login</servlet-name> <servlet-class>serv.Login_serv</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet> <url-pattern>Login</url-pattern> </servlet-mapping> </web-app> 補足:tomcat-confにあるweb.xmlの『invoker』はコメントを外し有効にしてます。

    • ベストアンサー
    • Java
  • Tomcatのwebappsディレクトリについて

    Tomcatについて勉強しているのですが、webappsディレクトリについてよく分からないので どなたかご回答をよろしくお願いします。 Tomcat 6.0をNomalインストールすると、webapps配下には以下のディレクトリが存在しています。 ・docs ・host-manager ・manager ・ROOT 質問1 webapps配下に存在するディレクトリの中身は(WEB-INF配下を除いて)基本的に 公開されるものだと思っているのですが ブラウザからアクセスすると「ROOT」配下のコンテンツのみアクセスができません。 「ROOT」ディレクトリだけ何か特別な設定がされているのでしょうか? また、その設定はどのファイルで確認できますか? 質問2 「http://localhost:8080」とブラウザに入力すると「ROOT」フォルダ配下のindex.htmlにアクセスされます。 この設定はどのファイルに定義されているのでしょうか? 質問3 「host-manager」「manager」「ROOT」フォルダはなんのためにあるのでしょうか? 削除しても問題無いでしょうか? 以上、よろしくお願いします。

    • ベストアンサー
    • Java
  • servlet (resin) について

    tomcatとresinって、そんなに違うのですか? resinでプログラムを動かしたいのですが、動いてくれません… tomcatの場合、webappsの下に自分の好きなディレクトリを作れば(test)その中のWEB-INF/classes にクラスファイル(TEST.class)を置けば、  http://localhost:8080/test/servlet/TEST で動きますが、resinも同じようにしようと思って、test/WEB-INF/classes/の下にTEST.java を置いて(コンパイルしてくれると聞いたのでJAVAファイルを置きました) http://localhost:8080/test/servlet/TEST を見ても、/test/servlet/TEST was not found on this server. と怒られました… どうすればいいのでしょう??

  • Javaサーブレットを読み込んでくれません…

    現在、社内での新プロジェクトの為にJSPの研修を行っています。 開発環境 ・Windows2000 Service Pack 4 ・JDK 1.5.0_06 ・Tomcat 5.5.20 JDKとTomcatのインストールは正常に終了し、http://localhost:8080/は正常に見ることが出来ました。 その後、<Tomcat-Home>/webapps/ROOT/entryフォルダを作成し、 ・entry/WEB-INF/ ・entry/WEB-INF/classes/ 以上二つのフォルダを作成して、WEB-INFフォルダ直下にweb.xmlファイルを作成しています。 classesフォルダの中にHelloServlet.classを置き、web.xmlファイルの中身を書き換えてTomcatを再起動させてみたのですが、http://localhost:8080/entry/HelloServletとURLを打ってみても見ることが出来ません。 何か間違っているのか、設定不足なのか…教えていただければ幸いです、よろしくお願いいたします。 ************<web.xml>************ <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/HelloServlet</url-pattern> </servlet-mapping> *********************************

    • ベストアンサー
    • Java
  • Eclipse+TomcatのHTML表示について

    Eclipse+TomcatのHTML表示について EclipseにTomcatプラグインを追加して、下記動作を行ったところ404エラーが出てしまいます。 WEB-INF以下に置いたHTMLファイルを正常に表示するためには、どのような設定が必要なのでしょうか? 環境:eclipse3.4/Tomcat6 1.プロジェクトの作成 新規プロジェクト>Tomcatプロジェクト プロジェクト名:Example コンテキスト名:/Example Webアプリケーション・ルートとするサブディレクトリ:/ コンテキスト定義の更新を可能にする(server.xml またはコンテキスト・ファイル):チェック 2.コンテキストの更新 プロジェクト右クリック>Tomcatプロジェクト>コンテキスト定義を更新 3.Tomcat起動 Tomcatプラグインからポート8080でTomcatを起動。 4.HTMLを配置してアクセス(1) 配置:/Example/WEB-INF/index.html アクセス:http://localhost:8080/Example/index.html 結果:404エラー 4.HTMLを配置してアクセス(2) 配置:/Example/WEB-INF/index.html アクセス:http://localhost:8080/Example/WEB-INF/index.html 結果:404エラー 5.HTMLを配置してアクセス(3) 配置:/Example/index.html アクセス:http://localhost:8080/Example/index.html 結果:正常表示

    • ベストアンサー
    • Java
  • Tomcat Servletが動きません

    『Javaへの道:Tomcat』のページを参考に同じようにやってるのですが、 JSPはうまくいくのですがServletがうまくいきません。 (長文になります) 参考ページと私の環境で違う点 Windows XP Home → XP Pro Tomcat 6 → Tomcat 7 JDK6.0 → JDK6.23 ポート8080 → 8081 以下のファイル、フォルダを作りました(参考ページそのままです)。 C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\jspdir\HelloJsp.jsp C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\classes\HelloServlet.class C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\web.xml C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost\javaroad.xml --↓↓HelloJsp.jspここから↓↓-- <HTML> <BODY> from JSP source<br> <%= new java.util.Date() %> </BODY> </HTML> --↑↑HelloJsp.jspここまで↑↑-- --↓↓web.xmlここから↓↓-- <?xml version="1.0" encoding="ISO-8859-1"?> <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"> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping> </web-app> --↑↑web.xmlここまで↑↑-- --↓↓javaroad.xmlここから↓↓-- <Context path="/javaroad" reloadable="false"/> --↑↑javaroad.xmlここまで↑↑-- JSPを起動 http://localhost:8081/javaroad/jspdir/HelloJsp.jsp → 正しく表示される Servletを起動 http://localhost:8081/javaroad/Hello → ステータス404 The requested resource (/javaroad/Hello) is not available. <気になる点> 1.Tomcatを起動するためStratボタン押しても1回では起動せず、2~3回で起動する。  1回目のときcommons-daemon.2011-01-15.logにこんなログが出る。  [2011-01-15 23:01:16] [error] Pid file 'C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\tomcat7.pid' exists  [2011-01-15 23:01:16] [error] ServiceStart returned 1 2.servletクラスは正しくコンパイルできているのか 状況を詳しく説明しようとして長々と書いてしましたが Servletを表示するにはどうしたらいいでしょう? 足りない情報があれば追加します。

    • ベストアンサー
    • Java
  • Tomcatプロジェクトと動的Webプロジェクト

    EclipseにてWebアプリを作成しようとしているのですが 下記サイトで「J2EE仕様で定められているプログラム配置構成」 http://www.javaroad.jp/opensource/js_tomcat2.htm ということでフォルダ構成が掲載されています。 EclipseにてTomcatプロジェクトを作成するとルートディレクトリの 配下にWEB-INFその下にclassesフォルダ や libフォルダ ができると いった具合になります。 しかし、動的Webプロジェクトではルートディレクトリの配下にWebContent その下にWEB-INFlibフォルダ が存在しclassesフォルダは別の場所に存在しています。 動的WebプロジェクトはJ2EE仕様に従っていないということでしょうか。 また、そうであるならば仕様に従っていないことによる不利益があったりするのでしょうか。 Tomcatプロジェクトと動的Webプロジェクトならば動的Webプロジェクトで開発したほうがよい というWebの記述も見かけたりしたのですがどちらのプロジェクトで開発を行うのが よいのでしょうか。

    • ベストアンサー
    • Java
  • TOMCATでのサーブレット環境構築

    初心者です。 Tomcat4.1を使ってサーブレットを動かしたいと思います。 manage/installを使ってWebアプリをインストールするところまではわかりました。 ディレクトリ[c:\java\test\]の配下に [WEB-INF\classes\]というディレクトリを掘って そこにtest.javaとそれをコンパイルしたtest.classがあります。 この状態で http://localhost:8080/manager/install?path=/test&war=file:c:/java/test といれ、testというwebアプリをインストールしました。 listでも確認し、登録されていました。 しかし http://localhost:8080/test/servlet/test とやっても動作しません。 HTTP 404エラーがでます。 (description The requested resource (/test/servlet/test) is not available.) 何が足らないのでしょうか?ご指示をお願いします。 できればわかりやすく解説してあるサイトとかを教えていただければありがたいです。 ちなみにサンプルではいってたexamplesのサーブレットは動作します。 環境はWindows2000です。

    • ベストアンサー
    • Java
  • クラスファイルの配置について

    初めまして。 質問したいことがあります。 私の環境は OS:RedHatLinux7.2 JDK:1.3.0_02 Tomcat:ver3.2.4 です。 servletの動作について (1)tomcat/WEB-INF/test/classes/hello.class ("HelloWorld"という文字列を表示するクラス)で  アドレス→http://localhost:8080/test/servlet/helloと入力すると正常に動 作しました。 次に (2)tomcat/WEB-INF/test/classes/sample/hello.class ("HelloWorld"という文字列を表示するクラス)で  アドレス→http://localhost:8080/test/servlet/sample/helloと入力すると Error 500 Internal Servlet Errorというエラーが発生しました。 server.xmlには <Context path="/test"    docBase="webapps/test"    crossContext="false"    debug="0"    reloadable="true" > </Context> を追加しているだけなのですが、Tomcatではクラスファイルは絶対にclassesディレクトリの直下に配置しなければならないのでしょうか? (2)のclasses-sample-hello.classというように、classesディレクトリとクラスファイルの間にディレクトリが存在すると駄目なのでしょうか? もし何かわかることがありましたらご教授御願い致します。

    • ベストアンサー
    • Java
  • 新しいWebアプリをTomcat4.0に追加するには?

    servletを使った掲示板の製作を行っています。 実際のWebアプリは開発中のため 試しに簡単なアプリを仮に登録しようと思い Webアプリを配置したもののローカルでもうまく起動してくれません。 フォルダ構成も  %CATALINA_HOME%\webapps   |----SampleAdressApp\      |----WEB-INF\           |----classes\               |----*******1.class               |----*******2.class           |----web.xml      |----index.html   |----examples\ といった配置で配置しています。 web.xmlには Tomcatの既存(サンプル)のweb.xmlをコピーし 以下を追加しました。 <servlet> <servlet-name> *********1 </servlet-name> <servlet-class> SampleAdressApp.*********1 </servlet-class> </servlet> <servlet-mapping> <servlet-name> *********1 </servlet-name> <url-pattern> /SampleAdressApp1 </url-pattern> </servlet-mapping> それで http://localhost:8080/SampleAdressApp/index.html で接続しにいくと、以下のメッセージが表示されてエラーになります。  Apache Tomcat/4.0.4 - HTTP Status 404 - /SampleAdressApp/index.html  type Status report  message /SampleAdressApp/index.html  description The requested resource (/SampleAdressApp/index.html) is not available. 解決するにはどうすればよいのでしょうか? 直接、server.xmlに追加する方法もとってみましたが、 無理でした・・・ 教えてください m(__)m よろしくお願いします、