jsp+servletでファイルが更新されず原因がわからない

このQ&Aのポイント
  • jsp+servletの勉強を始めていますが、ファイルが更新されない問題に遭遇しました。
  • 具体的には、jspから呼び出しているサーブレットのファイルが更新されず、変更内容が反映されません。
  • メモリにロードされている可能性や、jspファイルのタイムスタンプの更新などを試しましたが、問題は解決しません。
回答を見る
  • ベストアンサー

ファイルが更新されない

jsp+servletの勉強を始めました。 どうしても原因がわからないので、ご教授頂きたいのです。 まず、下記のように、jspからservletをincludeしています。 サーブレット:logSrvは、環境変数をロギングするだけの 処理を行っています。 <jsp:include page="/servlet/logSrv" flush="true" /> そこで、logSrvを修正し、コンパイルし直してアップ したところ、logSrvの変更が更新されません。 というか、logSrvのファイルを削除しても動きます・・。 メモリにロードされているためでしょうか? 呼び出し元のjspファイルのタイムスタンプを更新 しても変わりません。 初歩的なご質問かもしれませんが、 どなたかご教授くださいませ。

  • four
  • お礼率94% (16/17)
  • Java
  • 回答数1
  • ありがとう数3

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

  • ベストアンサー
  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.1

クラスを変更したあとにサーブレットコンテナの再起動 もしくはserver.xmlにてreload="true"にしてありますか?

four
質問者

お礼

情報ありがとうございます! server.xmlにてreload="true" ですか。 server.xml自体よく知りませんでした。。。 jsp/servletの開発環境を理解するだけで、 大変ですね。 ありがとうございました!

関連するQ&A

  • *値の受け渡し方法が分かりません*

    失礼いたします。 お昼過ぎからjavateaです。 質問させて下さい。 今、jspファイルの中にサーブレットを、include演算子を用いて埋め込もうとしています。 <jsp:include page = "/servlet" flush="true" /> ところが、このサーブレットに値をどう受け渡せばいいのか分かりません。 jsp→サーブレットなら普段サーブレット側でrequestのgetParameterとかを使って値を受け渡しているのですが、jspの中に埋め込まれている場合どうすればいいのでしょうか? 埋め込まれているものは同じページだと解釈してjspソース内で受け取った値をそのまま使ってよろしいのでしょうか?(そんな訳ないですよね・・・) かなり混乱しています。 教えてください、よろしくお願いします。m(__)m

    • ベストアンサー
    • Java
  • [JSP]ページの挿入!?

    JSPでページを挿入する際・・・ <jsp:include page="Menu.jsp" flush="true"> としますが、 たとえばRequestからファイル名を取得するにはどうすればいいでしょう? ↓これじゃだめですよね?だめでした。 ~/Test.jsp?target=Menu.jsp で、 <jsp:include page="<%= request.getParameter("target") %>.jsp" flush="true"> うぅぅん。

    • ベストアンサー
    • Java
  • サーブレットからJSPの呼び出しについて

    こんにちは。 JSPの呼び出しについて質問です。 サーブレットで RequestDispatcher dispatcher = req.getRequestDispatcher("/jsp/java.jsp"); dispatcher.include(req, res); としてJSPファイルを呼び出そうとしているのですが、うまくいきません。コンパイルは通ります。 dispatcher.include(req, res); の部分で例外処理にいってるのでそこがおかしいようですが。urlの指定もjspファイルの内容も何度も確認したのですがミスはないみたいで原因がわかりません。 またTomcatのログファイルlocalhost_logを見ると 2002-07-11 16:05:35 ApplicationDispatcher[/DB] サーブレット jsp のServlet.service()は例外を投げました という文が出力されています。

    • ベストアンサー
    • Java
  • jspで関数部分だけ分離することができますか?

    jspで関数部分を分離できないでしょうか? 例えば <%! public int add(int a,int b){return a+b;} %> このadd関数だけ別のファイルにして呼び出せないでしょうか。 <jsp:include page="add.jsp" flush="true "/> とやってもadd関数がcannot resolve symbolとなってしまいます。 jspの方が手間的に楽なのですが やはりサーブレットにするしかないのでしょうか? linuxのtomcat4.1です。

    • ベストアンサー
    • Java
  • JavaでStrutsを使用してJSP画面のインクルードを行う場合について

    JavaでStrutsを使用してJSP画面のインクルードを行う場合について 改修を行いたい画面では現在、他の画面をインクルードディレクティブを使用して呼んでいます。 今回、呼んでいる先の表示項目が固定でなく、条件により変更されるように変更したいと思っています。 しかし、インクルードディレクティブを使用すると、呼んでいる先の画面の表示項目に変数を使用できないときいたため、以下の修正を行い、変更後の画面を見たところ、呼んでいる先の画面が表示されていませんでした。 ・インクルードアクションを使用して呼ぶように変更 (AAA.jspは呼んでいる先のJSP名)) 変更前 (<%@ include file="AAA.jsp"%> 変更後 <jsp:include page="AAA.jsp" flush="true"> <jsp:param name="count" value="<%= count1 %>" /> <jsp:param name="count" value="<%= count2 %>" /> </jsp:include> ※count1,count2は、JSP内で定義している変数が設定されています。 と、変数を2つ使用しています。 、画面にエラーメッセージは表示されないため、原因について、記述内容を考えたのですが、改修を行った画面と呼んでいる先の画面は、同一フォルダ内にあるため、問題ないと考えています。 インクルードディレクティブからインクルードアクションに変更したのみで、ページのインクルードができなくなることってあるのでしょうか? それとも、インクルードディレクティブとインクルードアクションの違いは <%@ include file="AAA.jsp"%> と <jsp:include page="AAA.jsp" flush="true" /> だけではなく、別のところでも設定変更が必要なのでしょうか? 素人な質問で申し訳ありませんが、 ・インクルードディレクティブからインクルードアクションに変更するときに画面が表示されなくなった理由 ・インクルードディレクティブを使用して、呼んでいる先の画面から変数を取得する方法 のどちらかがわかる方いらっしゃいましたら教えてください。 ちなみに、 <jsp:include file="AAA.jsp" flush="true" /> だったとか、そういうミスはしていません。

    • ベストアンサー
    • Java
  • JSP、Servlet、設計について

    今回Webアプリの設計を行っていますが、そこで発生した疑問について質問させて頂きます。 このアプリは、大きく分けてログイン画面とメイン画面の二つがあり、各メイン画面ではフレーム部分と内側の部分が存在し、各メイン画面のフレーム部分のデザインは統一したいと思っています。 また、出来るだけMVCモデルを守り、スプリクトレットはできる限り用いず、カスタムタグは使用せず、JavaとServletが理解できれば全体が把握できるような形にしたいと思っています。 ○疑問1 メイン画面のデザインを統一させるためにどのような流れにするか? ・案1 サーブレット、フレーム部分のjsp、内側のjspのファイル、この3つをメイン画面の各機能分作る。 サーブレットで要求を受け、フレーム部分jspにフォワードし、フレーム部分jspから内側jspをインクルードする。 ・案2 サーブレット、フレーム部分のjsp、フレームからインクルードするファイルを決める分岐用サーブレット、この3つを一つづつ作り、内側のjspファイルを各機能分作る。 サーブレットで要求を受け、フレーム部分jspにフォワードし、フレーム部分jspから分岐用サーブレットをインクルードし、分岐用サーブレットから内側jspをインクルードする。 ・考察 案2では、フレーム部分jspを一つに限定できるのでそちらのほうが良いように思えますが、流れが若干複雑になります。案1ではシンプルですが、フレーム部分jspファイルが複数できてしまいます。 機能によっては、サーブレットとJSPがお互いを呼び出すような事が5回ぐらいネストされると思います。 このようなやり方が普通なのか、判断できません。 ○疑問2 ログイン情報を用いた動的メニューを、メイン画面で共通のフレームに追加したい。 ・案1 ViewHelperパターン?のような形にする 一例 <jsp:useBean id="menu" scope="request" class="MenuBean" /> <%= menu.getMenu() %> サーブレットでMenuBeanにログイン情報を設定し、JSPからメニューのHTMLを構成したStringを返してもらう。 ・案2 Servletにする <jsp:include page="MenuServlet" /> JSPからインクルードされたMenuサーブレットで、ログイン情報を取得してメニューのHTMLを構成し、out.printlnする。 ・考察 案1はサーブレットでMenuを作成しなくてはならず、一つ手間が増える。案2は、コントローラであるはずのServletでout.printlnしなくてはならないので何か違和感がある。(他のサーブレットでは、out.printlnする箇所は全くない) どちらが良いのか、または別の方法があるのか。 Servletで実現できるならViewHelperの用途とは何か? よろしくお願い致します。

  • includeアクションのflush属性について

    質問があります。 現在JSP/サーブレットを学習中なのですが、どうしてもわからないことがあります。それは、includeアクションのflush属性についてなのですが、flush属性にtrueやfalseのどちらを設定しても、結果画面にその違いが反映されていなくてflush属性の役割が理解できません。まずは、 以下のサンプルをご覧ください。 ----------------------------------------------------- <%@ page contentType="text/html;charset=Shift_JIS" %> <html> <head> <title>include_action.jsp</title> </head> <body> <p>表示1</p> <jsp:include page="/morej/foo.jsp" flush="true"/> <p>表示2</p> </body> </html> ----------------------------------------------------- <%@ page contentType="text/html;charset=Shift_JIS" %> <html> <head> <title>foo.jsp</title> </head> <body> <p>こんにちは</p> </body> </html> ------------------------------------------------------------ 参考書には、flush属性は「インクルード前にレスポンスバッファを クリアするかどうかの指定。trueを指定した場合はクリアする。」 と記述されています。上記のサンプルの結果画面は -------------------------------------------------- 表示1 こんにちは 表示2 -------------------------------------------------- と表示されます。flush属性をtrueに設定すると、 インクルード前に出力バッファをクリアすると記述されているので、 「表示1」が表示されないことを期待したのですが、表示されてしまいます。もしかしたら、自分の認識が間違っているかもしれないので どなたか、flush属性の使い方を教えていただけませんでしょうか。 現在の環境は、windows vista home、jdk1.6.0_11、jre1.6.0、 Apache Tomcat/6.0.14、Eclipse Version: 3.4.1です。では、 よろしくお願いします。

    • ベストアンサー
    • Java
  • 違いを教えてください

    JSPには、 ディレクティブ <% include file = "guide.jsp"%> と、 アクション <% jsp:include page = "guide.jsp" flush = "true" %> の二種類のインクルードがあるのは分かるのですが、 分かりやすくいうと、どのような用途によって使いわけるのですか? ディレクティブのほうは、DB CONNECTというような、 JSPファイルを読み込む時に一度実行すればいいというようなものを インクルードしており、 アクションのほうは、JSPファイルの<BODY>部で、guide.jspのなかのものを 必要な時に呼び出したりしているみたいです・・・・ 自分ではそのように解釈したのですが、明確な答えが、本などを調べてみても いまいちピンとこないので、簡単な言葉で使い分けの用途があるのか、 それとも、それ以外の理由で、インクルードの仕方が違うのか、 教えて頂きたいです。

    • ベストアンサー
    • Java
  • JSPファイルがコンパイルできない!

    雑誌に付いていたtomcat3.2.3用のServlet/JSPを tomcat4.1.10で動かそうとしたら、JSPファイルが コンパイルできないというエラーが出ました。 エラーの内容は、 ------------------------ org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /*****.jsp の中の行: 1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\*****\*****_jsp.java:43: シンボルを解決できません。 シンボル: クラス ○○ 場所 : org.apache.jsp.*****_jsp の クラス ***** ***** = (*****)request.getAttribute("*****"); ^ -------------------------- といった感じです。 tomcat3.2.3ではちゃんと動いたのですが、 4.1.10では他に何かしなければいけないのでしょうか。 よろしくお願いします。

  • JSPのインクルードアクションについて

    AAA.jspというファイルの中で <jsp:include page="BBB.jsp" flush="true" /> とインクルードアクションでBBB.jspをインクルードしている個所があります。そのBBB.jspの中でresponse.addcookie()を使いたいのですが、正常に動作しません。不必要な個所は削除し、cookie発行の個所だけ残しても同じ結果です。JAVA初心者で改修を頼まれて困っています。漠然とした質問で申し訳ないのですが、どのような問題が考えられるでしょうか?宜しくお願い致します。

    • ベストアンサー
    • Java

専門家に質問してみよう