質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.97%

おかしなことにJSPでデータベースの値を表示させたいのですが、全くサーブレットを通さずにデータベースの値を取得してしまっています

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 2,353

Sfidante

score 96

こんにちは。
プログラミング初心者で原因がわからずに困っています。

まず、何を行いたいかと申しますと、
JSPであるボタンをクリックしたら、
サーブレットのある処理を行い、
DAOのメソッドで照会(SELECT)して、
違うJSPでDBの値を表示したいというものです。

続いて、どういった症状かと申しますと、
JSP⇒サーブレット⇒DAO⇒DB⇒DAO⇒サーブレット⇒JSPと
大まかにこういった流れで値を表示されたいのですが、
それがどうも
JSP⇒DB⇒JSP
のようになっている気がしてならないのです。

といいますのも、
サーブレットやDAOを全部削除してJSPを出して
ページの遷移を行ったところ
データベースの値をしっかりと取得して表示していました。
データベースの値を変えて試したところ、
しっかりと変更後の値を表示していました。

原因がわからず困っています。
何卒ご教授願います。

また、コードについて記載した方がよろしかったらおっしゃってください。
よろしく御願い致します。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+2

JSPの中にスクリプトレットを書いているなら、JSP単独でDBアクセスできますね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/04/27 12:06

    試しにstruts-config.xmlの記載を全て削除して
    改めて試しましたが、変わりありませんでした。
    というのも、struts-config.xmlは
    これらのページ遷移とは関係ないのかなと思っております。

    そのstruts-config.xmlが以下のようになっております。
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
    "http://struts.apache.org/dtds/struts-config_1_3.dtd">
    <struts-config>
    <form-beans>
    <form-bean name="page1form" type="jp.Page1ActionForm"/>
    </form-beans>
    <action-mappings>
    <action cancellable="true" path="/action1" input="/page1.jsp" type="jp.Page1Action" name="page1form"/>
    </action-mappings>

    <message-resources parameter="resource" />

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validation.xml" />
    </plug-in>
    </struts-config>

    理解不足なところがあるため、
    考えが間違っているかと思います。
    申し訳ありませんが、よろしく御願い致します。

    キャンセル

  • 2015/04/27 12:15

    恐れ入りますが、問題は開発環境(eclipse)にあるかもしれません。
    といいますのも、
    JSPは全く関係なく、
    .javaをjava applicationとして実行させてSystem.out.println(A);を
    コンソールに表示させました。
    その後、そのSystem.out.println(B);の表示内容を変更して実行させましたが、
    変更されず、最初に表示させたもの(A)が表示されました。

    キャンセル

  • 2015/04/28 09:28

    遅くなってしまい申し訳ございません。
    色々と考えてくださりありがとうございました。
    今後とも何かございましたら、
    よろしく御願い致します。

    キャンセル

checkベストアンサー

+1

状況が掴めないので当て推量ですが、Webサーバーのキャッシュが残っているような状況などないでしょうか。
開発環境にもよりますが、作成されたclassファイルはWebサーバーのワークエリアにコピーされて動くというのが一般的です。
ソースコード上の改変がWebサーバーの挙動に反映されないのだとすれば、Webサーバーのワークエリアを確認してみましょう。

開発環境や、サーブレットが動いていないと考えた根拠を提示すると良いと思いますよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/04/27 12:20

    ご回答ありがとうございます。
    ご指摘通り、キャッシュが残っているのが原因かと思います。
    実際、新しく作ったJavaファイルのclassファイルが
    ワークスペースにコピーされていないようです。
    その辺を中心に調べてみます。

    キャンセル

  • 2015/04/28 09:27

    遅くなりもうしわけございません。
    classファイルをリフレッシュして
    再度設定し直したら、
    無事にサーブレットを通るようになりました。
    何故このようなことになったのかの原因はわかりませんでしたが、
    無事解決できてよかったです。
    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.97%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる
  • トップ
  • Javaに関する質問
  • おかしなことにJSPでデータベースの値を表示させたいのですが、全くサーブレットを通さずにデータベースの値を取得してしまっています