场景如下所述
我通过传递用户名从数据库中获取数据并从 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>