回 帖 发 新 帖 刷新版面

主题:[转帖]求救:网页提交给servlet时出现文件下载,安全警告窗口,在线等

我在把一般的jsp文件以post的方式提交给一个servlet时,出现“文件下载,安全警告窗口”

请问大家有没有遇到过这样的问题。
我检查了我的form表单,没有问题,servlet也没有问题。
我的其他的servlet都可以正常运行,就是这个不行。把项目删除了重新置入tomcat里,也是不能解决问题。
向高手求救

回复内容 
【turionboy】:
我也碰到过,form后边的action写正确了吗??看看web.xml里的映射路经和action一样不,应该就是这2地方的问题。我前几天就碰到过,还会打开迅雷。

【zongxing】:
原来出现过action写错的情况,不过这次是检查的非常仔细的了。实在是找不到一点问题了。
急!解决不了。

【zongxing】:
补充说明:
百度里也搜不到相关的信息。这种问题我以前从来都没有遇到过,为什么到了今天偏偏老是出现这个问题呢。
而且感觉到它没有一点规律可言,总是不知道什么时候就出来个警告。我也查杀病毒了,机子的确很干净,没有病毒。
action,input,web.xml这几个容易出错的地方都找了,就是不知道出错的原因。

【zongxing】:
再次说明。
我在servlet里加入了一些javascript程序,估计应该是这方面出的问题,因为我把这些代码删了就解决了。
现在总结一下会出现这些问题的地方:
1:form表单里的action写错,或是少写多写字母,servlet的路径不正确
2: web.xml中servlet的路径出错
3:form表单里input输入框的名字有错,或是与servlet里request.getParameter("你的输入框名字")不同
4: servlet有跳转页面的代码:如下
if(sign==1){
out.print("<script language=\"javascript\">");
out.print("alert('删除成功');");
out.print("window.location.href='"+preUrl+"';");
out.print("</script>");
}
else{
out.print("<script language=\"javascript\">");
out.print("alert('删除失败');");
out.print("history.back(-1)");
out.print("</script>");
}

以上都可能造成出现警告框的出现。
但是到底是不是这些原因造成的问题,我还不能太确定,因为,我感觉这些东西都太奇怪了,我只是现在暂时解决了这个问题,说不定明天又出来这个问题了。所以,写servlet里就要格外注意了。
还是希望高手出来把真正的原因我大家解释一下。谢谢。麻烦大家顶一下。


【little06】:
“文件下载,安全警告窗口”
是自动下载文件的提示吧

你用Httpwatch 看看,提交 或者 下载的时候到底有哪些文件

【junjun007006】:
我想是不是在jsp页面中的<title></title>是不是结束了!

【zongxing】:
<title></title>结束是什么意思?


【yu__yfchun125】:
周末抽空来看看, 仔细看看你web.xml

【zongxing】:
又找到一个出错的地方。2007-08-09 下午10:51
   我在servlet里调用一个DAO的方法,结果方法名字写错了。它又出现“文件下载,安全警告窗口”。
把方法名改过来,就好了。
  我现在已经找到好多种出现这种问题的原因了。但是却不知道为什么出现这种原因。按常规,出错了,应该报个异常呀。再不然就报个错呀。出现“文件下载,安全警告窗口”,谁能知道它是哪出错了。所以我在想,是不是我的运行环境有问题?????以前为什么没有出个这样的问题呢。为什么公司里的员工都没有遇到这个问题呢?很奇怪!


【hukui0302】:
ddd

【jingtao8177】:
up

【easyroom】:
当用户请求一个网络资源时,收到的是一个httpresponse响应。该响应头中包含congtent-type信息,暗示浏览器以何种方式处理content中的信息。提示下载说明content-type指示不是浏览器可以处理的格式。比如image,html,text等。应该检查用户访问的界面都请求了哪些资源。如果是servlet, jsp则应该检查其content-type设置

【zongxing】:
谢谢各位的回复,今天我终于找到了原因在哪里。其实我上面所讲的四种原因也都不是最主要的原因,他们只不过是一些普通的错误。真正造成出现警告窗的原因是:
我在servlet里的模板代码里(下面第一行)加了一点东西
response.setContentType("text/html");
加过之后变成
response.setContentType("text/html,charset=gb2312");
这里就是造成出现警告窗的真正原因。我以前没有遇到过这个问题是因为我在把response转换编码的时候都是用:
response.setCharacterEncoding("gb2312");
后来为了方便就改成了:
response.setContentType("text/html,charset=gb2312");
但是怎么也没有想到会出现这么多的问题。解决了一个又来一个。真是让我麻烦死了。
这次,无意中发现了问题的真正原因。
不过,还是不知道为什么加了
response.setContentType("text/html,charset=gb2312");
为出现警告窗。
马上结贴!
 
注:response.setContentType("text/html;charset=utf-8");//中间为分号
   今天遇到相同问题,谢谢以前的帖主!(来源:CSDN)

回复列表 (共1个回复)

沙发

楼主的问题真有意思,很有趣的一个小细节,以前还真没有注意到!

我来回复

您尚未登录,请登录后再回复。点此登录或注册