0

场景如下所述

我通过传递用户名从数据库中获取数据并从 js 到 servlet 进行 ajax 调用,并将用户名的输出详细信息作为 json 对象返回给 js。数据在 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>
  });

这就是我从 servlet 获取 json 对象的方式

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

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

我将应用程序部署到开发服务器,发现刚刚发现当来自不同机器的两个用户访问数据时,数据被正确抛出,但之后当他们尝试打印数据或进行任何排序操作时,最新用户的数据是在 servlet 中获取和抛出的。我需要对会话做些什么,还是 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