一方の画面の条件に変えられてしまう。
以下の環境でWebアプリケーションを開発しています。
Java 1.5
Tomcat 5.5
eclipse 3.3
フレームワークは使用しておらずServletとJspです。
二台のPC(AとB)から検索処理を行うことができる画面を開き、
それぞれ異なる検索条件を入力します。
同じタイミングで検索ボタンを押すと
Aに入力した検索条件にBが置き換えられ、
検索結果もAの検索結果と同じになってしまいます。
タイミングをずらすと特に問題なく表示されます。
(見た目で問題ないだけで中身は良くないと思っています)
どのようなことが原因でこのような現象になるのでしょうか?
同じオブジェクトを参照してしまっているとかでしょうか…
JSPの画面が指定しているアクションで以下のサーブレットが呼び出されます。
(かなり省略しています。)
public class TestServlet extends HttpServlet {
private TestBean testBean = null;
public void Post(HttpServlet request, HttpServletResponse) throws ServletException, IOException {
ServletContext context = this.getServletContext();
HttpSession session = request.getSession(false);
testBean = (TestBean)session.getAttribute("TestBean");
//Logic(検索処理呼び出し)
TestLogic logic = new TestLogic();
logic.search(testBean);
session.setAttribute("TestBean", testBean);
}
}
logic内では引数のtestBeanにそのまま検索結果を設定しています。
補足
返信有難うございます。 プログラムについて詳しくなく、質問があいまいで申し訳ございません。 javaでロジックを組んで、JPSで画面を表示しています。(MVC?) モーダル画面の上げ方を調べた際に、Javaスクリプトで書かれていたのでそれを利用しようとしていました。 スクリプトでwindow.showModalDialog("./aaa.html","dialogwidth=100px;dialogheight=100px;");と書いて、 そのあとにアクションコードの指定とsubmit();を行いました。 処理を行ってからモーダルを上げればいいのかと思い、サブミットの後に、モーダルを上げたのですが、処理の途中で止まってしまいます。 画面はダイアログ表示中は触らせないで、処理は続行したいのですが… スクリプトでなく、javaで実装できるのであれば、javaで行います! お手数ですが、解決方法があればご伝授をお願いします。