• ベストアンサー

tomcat起動時にservletを実行

tomcat起動時にある処理がしたいと思っています。 過去に同じ様な質問があり、 <servlet>タグ内に <load-on-startup>タグを追加することで可能だと 分かったのですが、うまくいきません。 eclipseでのtomcatの起動だからという事はありえるでしょうか? また、strutsを使っているのも関係しているのでしょうか? 稚拙な質問で申し訳ありませんが、教えていただけるとありがたいです。

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

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

このページの検索用のテキストフィールドに <load-on-startup> と入力して 「ウェブ」 で検索したら何件かヒットしました。 1番上にヒットしたサイト(参考URL)にやり方が過去の質問よりはもう少し詳しく書いてあります。 <load-on-startup>タグを追加されたサーブレットは Tomcat起動時に「ロード」されるだけです。 「ロード」されたときに呼び出されるinit()にやりたい処理を記述しておけば起動時に処理されます。 ですので、質問者さんのサーブレットにinit()を実装していなければ実装してやりたい処理を記述して、既に実装してあればやりたい処理を追記してあげればいいと思います。

参考URL:
http://www.hellohiro.com/servletwebxml.htm
osdama
質問者

お礼

ご返答有難うございます。 おかげさまで、解決することが出来ました。 起動時に実行させたい事ばかり頭にあり、 本来やりたい処理を行うservletではなく 他の処理で使っているservletで代用していた為 init()ではなくdoGet()のままになっていました。 本当に有難うございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Tomcat起動時にエラーが発生します。

    2つのプロジェクトをEclipseで作成しています。 Tomcat4.1をEclipseから起動させていますが、起動時に以下のようなエラーが表示されます。 このエラーに関して解決策がわかる方がいたらご教授いただきたいです。 サービス Tomcat-Standalone を起動します Apache Tomcat/4.1.18 2006/05/26 16:28:33 org.apache.commons.digester.Digester error 致命的: Parse Error at line 97 column 13: The content of element type "servlet" must match "(icon?,servlet-name,display-name?,description?,(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)". org.xml.sax.SAXParseException: The content of element type "servlet" must match "(icon?,servlet-name,display-name?,description?,(servlet-class|jsp-file),init-param*,load-on-startup?,run-as?,security-role-ref*)". at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:232)                  :                  : web.xmlの<servlet>タグの記述方法に間違いがある・・・というような、エラーメッセージに見えるのですが、 同じプロジェクトを他のマシンに入れて、Tomcatを起動しても、このエラーメッセージがでない・・・という状況です。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 【Java】Eclipseで作成したTomcatプロジェクトへブラウザ

    【Java】Eclipseで作成したTomcatプロジェクトへブラウザからアクセスできません。 Tomcatは問題なく起動していて、Apache Tomcatへはアクセスできます。 以下に詳細を記載していますのでアドバイスをお願いします。 環境は以下の通りです。 ・Windows XP ・Internet Explorer8.0 or Firefox ・Eclipse Platform 3.4.2 Ganymede (All in one) ・Tomcat6.0 ・jre1.6 EclipseでTomcatを起動でき、その際のコンソールにも特にエラーはありません。 Tomcatを起動した際に http://localhost:8080/ へアクセスすると、Apache Tomcatへ繋がります。 なので問題なくTomcatは起動しています。 EclipseでTomcatプロジェクトとして”mbshop”という名のプロジェクトを作成しました。 http://localhost:8080/mbshop/とアクセスするとHTTPステータス 404 - /mbshop/ と表示されてしまいます。 mbshop配下にWEB/INFがあり、その中にweb.xmlを記述しています。 web.xmlの記述内容は以下の通りです。 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app version="2.5" 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_5.xsd" <servlet> <servlet-name>invoker</servlet-name> <servlet-class> org.apache.catalina.servlets.InvokerServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> </web-app> Tomcatが起動できApache Tomcatのサイトへアクセスできるのに、 Eclipse内のTomcatプロジェクトが表示できないのは、なぜでしょうか。 いくら調べても原因が見つかりません。 ご存知の方がいれば、アドバイスを下さい。 宜しくお願いします。

    • ベストアンサー
    • Java
  • eclipseでTOMCATが起動しない

    eclipseにTOMCATのプラグインを導入し、eclipseからTOMCAT を起動できるようにしたい(というか、本にはできると書いてある) のですがうまくいきません。 2台のPCでやったのですが、どちらも同じようにだめです。 スタートメニューから、TOMCATを起動すれば起動してくれます。 http://localhost:8080 にて起動が確認できます。 TOMCATは4.1.31で、プラグインはcom.sysdeo.eclipse.tomcat_2.1.0です。 web.xmlはservlet-mappingのコメントアウトをはずしてます。 TOMCATホームは C:\Program Files\Apache Group\Tomcat 4.1 設定ファイルは C:\Program Files\Apache Group\Tomcat 4.1\conf\server.xml としています。 サーブレットを作成して、eclipseからTOMCATの起動ボタンを押すと、 なにやら起動画面が出てくることは出てくるのですが、 http://localhost:8080/Servlet などとしても、何も見つからないと出てしまいます。 ここで、スタートメニューからTOMCATを起動させ、ブラウザで↑にアクセスするとようやく 起動が確認できました。 何かが間違えているのでしょうか? 足りない情報は捕捉をお願いします。 よろしくお願いいたします

    • ベストアンサー
    • 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
  • eclipseからtomcatが起動しない

    eclipse3.2にtomcatプラグインをインストールし、必要な設定を行いましたが、アイコンからtomcatを起動すると下記のエラーがコンソールに表示され、起動しません。 org.apache.catalina.startup.Bootstrap main 警告: Bootstrap: command "C:\Tomcat\Tomcat 5.5\conf\server.xml" does not exist. C:\Tomcat\Tomcat 5.5\conf\server.xml は間違いなく存在しています。 又、eclipseからではなく、サービスや直接のバッチ起動ではtomcatは正常に起動します。 ご教授、よろしくお願いいたします。

  • strutsに関連したxmlのサーブレットマッピング

    失礼致します。 初歩的なことですが質問させてください。 strutsにおけるxmlファイルの記述例は次のようになります。 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ここで、新しいサーブレット(download)を追加しようと次のように記述を加えました。 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <servlet-name>download</servlet-name> <servlet-class>Download</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-patte <servlet-name>download</servlet-name> <url-pattern>/download</url-pattern>rn> </servlet-mapping> すると、入り口のファイルに対し、「The requested resource (/プロジェクト名/ファイル名.jsp) is not available.」と警告されました。 strutsではサーブレットの追加は出来ないのでしょうか?ご指摘お願いします。

    • ベストアンサー
    • Java
  • eclipseとTomcatについて

    TOMCAT5.0.28とeclipse2.1.2 j2sdk1.4.2_13 を使ってます。 エクリプスからTOMCATを起動するとすぐに終了になってしまいます。 TOMCATのバージョンとjdkのバージョンを上げる前は起動していたんですが。。 どこの設定が悪いのでしょうか? また、TOMCAT5.0.28にはservlet.jarはないのでしょうか?

    • ベストアンサー
    • Java
  • eclipseからtomcat起動できない

    eclipse から Tomcat を起動すると、 "Could not find the main class. Program will exit!" というエラーダイアログが表示され、 コンソールには、 java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap Exception in thread "main" とエラーが表示されます。 まったくの初心者でどうしたらよいのか解らず困っています。 どうしたらよいのか教えてください。 (環境) Tomcat 5.5.20 JDK 5.0.9 Eclipse 3.2.1

  • Tomcatの起動について

    前回同じような質問し、参考となるアドバイスがなく個人的にもいろいろ調べたのですが、似たような不具合の内容の質問は多少あったのですが今現在の状態を解決するものはなかったので再度質問をいたします。 ●質問内容はTomcatの一通りの設定は終わり、再起動しstartupを起動しネットのアドレスをhttp://localhost:8080に設定すると接続エラーの画面が表示されます。また同じようにIPアドレスをいれても同じ現象ができます。 原因が分からずじまいです。環境設定は以下のとおりです。 ●JDK1.3.1_01 tomcat-3.2.4 windows98SE ADSL8M対応(関係あるのかな?) ●Autoexec.batの内容 SET WIN32DMIPATH=C:\DMI PATH=C:\DMI\BIN;c:\jdk1.3.1_01\bin;c:\tomcat\jakarta-tomcat-3.2.4\bin PATH=c:\jdk1.3.1_01\bin set JAVA_HOME=C:\JDK1.3.1_01 SET TOMCAT_HOME=C:\tomcat\jakarta-tomcat-3.2.4 SET CLASSPATH=%TOMCAT_HOME%\lib\servlet.jar;%JAVA_HOME%\lib\tools.jar ●startupの環境変数は3072 ●servlet.xmlの内容   <!-- Normal HTTP -->   <Connector className="org.apache.tomcat.service.PoolTcpConnector">   <Parameter name="handler"    value="org.apache.tomcat.service.http.HttpConnectionHandler"/>    <Parameter name="port"    value="8080"/>    </Connector>   具体的な内容はこのぐらいです。アドバイスお願いします。 ●あと、余談なんですが現在使っているポートの確認をDOSで確認ができるみたいなのですがご存知の方教えてください。

    • ベストアンサー
    • Java
  • Linux上でのTomcatのServletプロセスについて。

    ご質問があります。 TomcatのServletプロセスについて悩んでいます。 Miracle Linuxをサーバとして、Apache-Tomcatを連携させたWebアプリの構築をしてます。 ここでまず一つ質問なのですが、Tomcatを起動させた時点でjavaのプロセスが24個も上がるのですが、これは普通なことなのでしょうか?ちなみに、メモリ消費量は約800Mです。 また次に、Tomcat内のServletに対してPostする度にプロセス数が増加し、メモリ消費量も1プロセスにつき300Kも消費してしまいます。そのため、どんどんリソースを消費し、メモリリークを起こしてしまうのですが、なぜかガベージコレクタが作動せず、延々とプロセスが溜まったままの状態になってしまいます。 通常は、ServletにアクセスしたらTomcatが常駐させてるプロセスを使用すると思うのですが、どこがおかしいのか全く分かりません。 どなたか、小さな事でもいいので助言をください。 よろしくお願いします。

このQ&Aのポイント
  • Windows11でQL-820NWBのダウンロードができない原因と解決方法について教えてください。
  • QL-820NWBのダウンロードがWindows11でうまくいかない場合、無線LAN接続の設定を確認する必要があります。
  • QL-820NWBのダウンロードに関する問題を解決するためには、ハードウェアとソフトウェアの両方を最新のバージョンに更新することが重要です。
回答を見る