A.jsp 上是一个数据显示页面(显示从数据库中查询出来的数据),上面有一个Button onClick="window.open('B.jsp')
B.jsp 是用来下载A中显示的数据.
数据是用session存储的String.
B.jsp:
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%><%@page import="com.goldsign.etc.*" %><%@page import="java.util.*" %><%@page import="java.io.*" %><%@page import="javax.servlet.*" %><%    
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache"); 
response.setHeader("Cache-Control","no-store"); 
response.setHeader("Expires","0"); 
%><%
String outputList=session.getAttribute("down");
StringTokenizer st = new StringTokenizer(outputList, "\r\n");
int tollNum=st.countTokens();
String[] tmpStres=new String[tollNum];
for(int i=0;i<tollNum;i++){
tmpStres[i]= st.nextToken();
}String downloadFileName = "download_"+String.valueOf((Calendar.getInstance().get(Calendar.MILLISECOND)));
            response.reset();
            response.setContentType("txt;charset=gb2312");
            response.addHeader("Content-Disposition", "attachment; filename=\"" + downloadFileName + "\"");
            int fileLength = outputList.getBytes().length;
            response.setContentLength(fileLength);
           if (fileLength != 0) {
ServletOutputStream servletOS = response.getOutputStream();
for(int i=0;i<tollNum;i++){
servletOS.write(tmpStres[i].getBytes(),0,tmpStres[i].getBytes().length);

                servletOS.flush();
                servletOS.close();
            }
%>
比如A.jsp第一次查出数据为:123456  点击下载:弹出下载对话框(下载文件名为download_43),内容为:123456
第2次查出数据为:888888  点击下载:弹出下载对话框(下载文件名仍然为download_43),内容仍然为123456。
这是不是缓存的问题?
因为我在本机的服务器上没有这种问题,只是放到公司的服务器上才有这种问题。
如果是缓存的问题,可是我已经在开头加了<%    
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache"); 
response.setHeader("Cache-Control","no-store"); 
response.setHeader("Expires","0"); 
%>.
恭候高手解答:分不够,给分时再加!