Javaで開発 - Tomcatの設定

このQ&Aのポイント
  • Javaの勉強中にサーブレット開発でブラウザの更新が反映されない問題について
  • ブラウザやTomcatの再起動なしでサーブレットの変更を反映する方法はあるのか
  • サーブレットの更新によるブラウザの自動更新ができない問題の解決方法
回答を見る
  • ベストアンサー

javaで開発 - Tomcatの設定

javaで開発 - Tomcatの設定 Javaの勉強をしていて今サーブレットを勉強しているのですが、 ファイルをコンパイルしてブラウザで表示させた後、処理を変更してコンパイルしたclassファイルを前のclassファイルに上書きしてブラウザの更新ボタンを押しても反映されません。 ・ブラウザを起動し直してページ開いても更新されません ・ブラウザを開いたままTomcatのサービスを一度停止して、再びスタートしても更新されません。 ブラウザを閉じてTomcatのサービスも停止した状態でファイルを上書きしてTomcatのサービスを開始してブラウザ起動しページを開くと更新されます。 ファイルを更新する為にいちいちブラウザもTomcatも閉じなければいけないのが非常に面倒なんですが、コレは仕様ですか?それとも設定でどうにかなるものでしょうか?

  • Java
  • 回答数3
  • ありがとう数7

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

  • ベストアンサー
  • haratom
  • ベストアンサー率36% (15/41)
回答No.3

商用のアプリケーションサーバやJBossは、ファイルが更新されたらそれを検知して更新してくれるホットデプロイメント機能があったかと思いますが、Tomcatでそのような機能は無いかと思います。Tomcatでは、以下の方法が一番早いと思われます。 1. クラスファイルを上書き 2. Tomcatのトップページ(初期状態だとhttp://localhost:8080/で出てくる画面)の左側リンクから管理画面に遷移し、対象のアプリを選択し、再起動。 3. (サーブレットにアクセスしている)ブラウザの更新ボタンを押す

その他の回答 (2)

  • e00083
  • ベストアンサー率31% (25/80)
回答No.2

JSPに入ればかなり、楽になります。

  • kotoby2003
  • ベストアンサー率15% (280/1755)
回答No.1

そういうものです。 設定でどうにかなります。 そして、便利にする仕組み、道具が用意されています。 それを知らないということは、勉強の仕方に問題があるということでしょうね。

itu1989
質問者

補足

どういった設定をすればよいのでしょうか? 私の買った書物ではTomcatの設定は詳しく書かれていないので出来れば教えて頂きたいのですが。 「便利にする仕組み、道具」とはEclipseでしょうか? もしそうでしたらのちのち使う予定です。 今、使っていない理由は効率が悪いかもしれませんがエディタで全部打ち込んでやり方をちゃんと覚えたいからなんです(汗

関連するQ&A

  • Tomcat5.5の設定で困っています。

    はじめまして。Javaの初心者です。 質問をさせてください。 現在jdk1.5.0_06とTomcat 5.5.17をインストールして いるのですが、Tomcat5.5でサーブレットが実行されな いし、%CATALINA_HOME%\webappsの下に、自分のアプリケーション用ディレクトリを作成してもブラウザで表示されません。サーブレットファイル(*.java)は コンパイルができたので、クラスパスのミスでは ないと思うのですが、Tomcatの諸設定をネット で探して試してもダメでした。どうしたら利用できる ようになるのでしょうか?教えてください。よろしく お願いします。

    • ベストアンサー
    • Java
  • Tomcat内のJSPファイルを削除したい

    事情がありにTomcat内のフォルダを 見せなければならなくなりました。 他人にTomcat内のファルダにあるサーブレット(+Beans等のクラスファイル)と JSPのソースを見られない様にしたいです。 またその上で実行も可能にしたいのですがどうすればいいでしょうか? サーブレット等は Tomcat 7.0/webapps/MyWebSite/WEB-INF/classes以下の クラスファイル(.class)だけを残してJavaファイル(.java)を削除 するか、Eclipseでソースをエクスポートさせない様にすると Javaのソースは見れなくなると思いますが、 JSPの場合だと Tomcat 7.0/webapps/MyWebSite/以下の JSPファイル(.jsp)を削除して、 Tomcat 7.0/work/ 以下にあるJSPをサーブレットに変換後 コンパイルされたファイル(.class)を残すだけではダメな様です。 他に方法はあるでしょうか? サーブレットのソースを見られないだけでも良しと考えるべきでしょうか?

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

    Javaサーブレット&JSPの勉強のためにTomcatをインストールしたのですが 正常に起動してくれません。 binディレクトリから、startup.batを起動すると、一瞬別のウィンドウが 開くのですが、すぐに閉じてしまいます。 (何か表示されているようですが、速すぎて見えません。) logディレクトリにあるファイルを見たのですが、0kバイトとなっていて 原因がわかりません。 JAVA_HOME、TOMCAT_HOME、PATH の環境変数はセットしたのでが 他に何か設定が必要なのでしょうか? (または、原因を調べる方法はないでしょうか?) ちなみに、Tomcat・JDKは以下のページからダウンロードしました。 [Tomcat3.2.1] http://java.sun.com/j2se/1.3/ [JDK1.3] http://jakarta.apache.org/site/binindex.html よろしくお願いします。

  • Tomcat停止後の処理継続について

    Tomcat停止後の処理継続について質問です。 ある処理を行うプログラムAがあるとします。 この処理には非常に時間がかかり、1時間くらいかかるとします。 このプログラムをサーブレットから呼び出し、起動させた後、 仮に、Tomcatが停止してもプログラムAを稼動させ続けたいのですが、 どのようにすればよろしいでしょうか? つまり、 1:ユーザがあるリンクをクリック 2:TomcatがHTTPリクエストを受け取り、サーブレットを呼び出す 3:2のサーブレットがプログラムAを起動 4:サーブレットが「プログラムAを起動しました。」というHTMLをブラウザに返す 5:プログラムAの処理が終了していない段階で、Tomcatを停止させる という流れの中で、5以降もプログラムAを稼動させつづけたいのです。 どなたか、ご教授いただけませんでしょうか? ちなみに、プログラムAはJavaです。 動作OSはRedHatです。

    • ベストアンサー
    • Java
  • java servlet tomcat エラー

    サーブレット用のクラスファイルがwebページ (http://localhost:8080/examples/servlet/HelloWorldServlet) で見ることができないんですがなんででしょうか? http://localhost:8080にはアクセスできるからtomcatは正常に起動してるんですが。 ちなみにファイル HelloWorldServlet.class はtomcat 6.0\webapps\examples\WEB-INF\classesに保存してあります。 エラー内容は下記のようになっています。 ーーーーーーーーーーーーーーーーーーーーーーーーーーー HTTPステータス 404 - /examples/servlet/HelloWorldServlet type ステータスレポート メッセージ /examples/servlet/HelloWorldServlet 説明 The requested resource (/examples/servlet/HelloWorldServlet) is not available. ーーーーーーーーーーーーーーーーーーーーーーーーーーー

  • Tomcat4.1のworkフォルダとJavaについて…。

    実は、Tomcat4.0とRDBを使って簡単な商用サイトをlocalhost上で動かせるように 作りました。 それから、Tomcatのversionを4.1.18に変え、CLASSPATHも間違いなく変更しました。 version4.1になってからworkフォルダというものができたのですが、その部分について知識のある方がいたら、是非とも教えて頂きたい事があります。。 まず、workフォルダはブラウザ上からjspファイルを開こうとすると、 そのフォルダ内でjspファイルをServlet化したファイル――例えばopen_jsp.java――を自動的に生成します。 どうにか一応そのServletのコンパイルは通ったのですが、 『Cannot create JDBC driver of class ‘com.mysql.jdbc.Driver' for connect URL 'null'』 というExceptionエラーが表示されます。 長々となりましたが、この意味が分かるようで分からなくて困っています。 classファイルもでき、Tomcatのserver.xmlにはしっかりとurlを入れているのに何故画面が表示されないのでしょうか。 長々となりましたが、宜しくお願いします。

  • TOMCATインストール後、コンパイルエラーが起こってしまいます。

    WinXP(home)にTOMCATをインストールしサーブレット/JSPを勉強したいと思っているのでが、うまくいきません。 ○症状 TOMCATインストール語、「Hello Servlet」の文字を表示させるプログラムがコンパイルエラーになってしまいます。 プログラムコードに問題は無いとはずだと思い、TOMCAT以外に、「JRun」というソフトを入れて同じプログラムをコンパイルすると無事完了し、「Hello Servlet」が表示できました。 ○質問 TOMCATのインストールがうまくいっていないのでしょうか? ○TOMCATの動作確認状況 startup.batファイル実行すると、2つ目のプロンプトウィンドウは下記の様になります。 ========================================= サービス Tomcat-Standalone を起動します Apache Tomcat/4.0 サービス Tomcat-Apache を起動します Apache Tomcat/4.0 ========================================== また、 「http://localhost:8080/」は無事に表示されます。 ○コンパイルエラー内容 C:\java_sample>javac -classpath %TOMCAT_HOME%\bin\servlet.jar HelloServlet.java HelloServlet.java:3: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloServlet.java:4: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; ^ HelloServlet.java:6: シンボルを解釈処理できません。 シンボル: クラス HttpServlet 以下省略 ご教授よろしくお願いします。

    • ベストアンサー
    • Java
  • Tomcat context.xmlが更新できない

    windows7 local環境でTomcat6.0.32をService Installerを使用し、インストールを行いました。 インストール後に、conf/context.xmlのManagerタグをのコメンアウトを外したいのですが、 他のアプリケーションが使用中の為、上書きできないとなり、 Tomcatを停止させても、同様となり、 また、PC再起動後、書き換えようとしても、同様になります。 なにかのServiceが見に行っているのでしょうか? どのようにすれば更新できるのかわかりません。 どなたか教えてください。

  • JAVAのパッケージについて

    CentOSで、WEBページからデータベースにアクセスするためのプログラムをつくっているのですが、サーブレットがコンパイルエラーになります。 サーブレットで、mypackageが解決できないとのことです。 # javac -classpath /opt/tomcat6/apache-tomcat-6.0.20/lib/servlet-api.jar Controller10.java ---------- 1. ERROR in Controller10.java (at line 10) import mypackage.Model10; ^^^^^^^^^ The import mypackage cannot be resolved ---------- mypackageはデータベースにアクセスするJavaBeanであるModel10をいれているフォルダです。Model10.javaはコンパイルできました。 Controller10.java というのは、Model10.classにアクセスするためのサーブレットです。 Controller10.javaと同じ階層に、mypackageのフォルダをつくり、その下に、Model10.classというJavaBeanをいれていて、なぜ解決できないのか、どうしてもわかりません。 ファイル構造は下記の通りです。 webapps  |___mysamples      |_test.jsp      |_HTML      |_WEB-INF        |_class               |_Controller10.java          |_mypackage ←フォルダ             |_Model10.class ←JavaBean Controller10.javaの抜粋です ------------------------------ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import java.io.IOException; import javax.servlet.ServletContext; import javax.servlet.RequestDispatcher; import java.io.PrintWriter; import mypackage.Model10; ←Controller10にimport文をいれてます。 ------------------------------ Model10.javaの抜粋です ------------------------------ package mypackage;  ←Model10にpackage文をいれてます。 import java.sql.DriverManager; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Vector; ------------------------------- JARやWARファイルをつくらなければ、パッケージしたことに ならないのでしょうか・・・。 すみませんが、解決方法を教えてください。

    • ベストアンサー
    • Java
  • JAVAについての質問

     現在、JAVA(アプレット)を勉強しているのですがどうもうまくいかないので質問させていただきます。   まず、javaプログラム(Hello.java)をコマンドプロンプトを使ってclassファイルを作ります。そして、そのファイルを <APPLET CODE="Hello.class" WIDTH=150 HEIGHT=100> </APPLET> というのを書いてhtml形式のファイルにくっつけます。このhtmlファイルをダブルクリックすると"Hello"と出ます。  しかし、この後Hello.javaファイルを"Goodbye"と出るように変えて上書き保存します。そして、上で書いたのと同じようにjavacを行なって、html形式のファイルをダブルクリックしても"Goodbye"と出ずに、"Hello"と出て更新されていません。(上書き保存しているので"Hello"と出るプログラムは無いはずなのに)  どうしたら更新されるのでしょうか?どうぞよろしくお願いします。

専門家に質問してみよう