场景如下所述
我从js到servlet进行ajax调用,通过传递用户名来从DB获取数据,并将用户名的输出详细信息作为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中获取和抛出的内容。我需要用session做一些事情,或者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>