0

シナリオは次のとおりです。

ユーザー名を渡して DB からデータをフェッチし、ユーザー名の出力の詳細を json オブジェクトとして js に返すことで、js からサーブレットに ajax 呼び出しを行います。データは HTML ページにスローされます。HTMLページにスローされたデータを印刷するために、HTMLページに印刷機能があります。以下のシナリオを除いて、すべてが正常に機能しています。

1) IE でアプリケーションを開き、ユーザー名に「XXXX」を指定すると、「XXXX」に関するデータが画面に表示されます。データも印刷できます。

2)この後、Chromeでアプリケーションを開き、ユーザー名に「YYYY」を指定すると、「YYYY」に関するデータが画面にスローされます。データは問題なく印刷できます。

3) 開いている IE に戻り、「XXXX」に関するデータがあり、印刷アイコンをクリックすると、「YYYY」に関するデータが印刷されますが、「XXXX」のデータが必要です。

これを回避するには、セッションで何かを設定する必要がありますか? 私を助けてください。

編集:

私の doPost メソッドと doGet メソッド:

protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    performtask(request, response);
}

protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    performtask(request, response);
}

Jquery からの私の Ajax 呼び出し:

  $.ajax({ 
      url: "XXXServlet",
      cache: false,
      dataType: contentType,
      data: {
      Action : action
      ,UserName : UserName
      ,pageAttr : pageAttr
 },
success:  (function(data) {
<Get the json data and throw in HTML>
  });

これは、サーブレットからjsonオブジェクトを取得する方法です

JSONObject returnObj = new JSONObject();
Controller.FetchDatafromDB (returnObj, UserName);

                            PrintWriter writer = response.getWriter();
                            writer.write(returnObj.toString());
                            writer.close();

アプリを開発サーバーにデプロイしたところ、別のマシンから 2 人のユーザーがデータにアクセスすると、データが正しくスローされることがわかりましたが、その後、データを印刷したり、並べ替え操作を実行したりしようとすると、最新のユーザーのデータは、サーブレットで取得およびスローされたものです。セッションで何かをする必要がありますか、または get/post メソッドに基本的に何か問題がありますか?

私のweb.xmlは以下の通りです

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>
    XXXXXXReport</display-name>
    <servlet>
        <description>
        </description>
        <display-name>
        XXXServlet</display-name>
        <servlet-name>XXXServlet</servlet-name>
        <servlet-class>com.xxxx.yyyy.zzz.servlet.XXXServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>XXXServlet</servlet-name>
        <url-pattern>
        /XXXServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>

        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>
4

0 に答える 0