噢,就以下两个情况讨论吧:1、假设文件名是 a.tar ,所在路径是 http://localhost:8080/App/a.tar,那么明显的,文件的URL已经公开了,但如何实现,只有用户登陆之后才能下载呢?2、还是假设文件名是 a.tar. 所在路径不公开。如何实现,当用户在浏览器输入 http://localhost:8080/App/download?userId=myId&Downid=888 的时候自动就弹出对话框要求用户保存下载文件呢?我看到好多网页都这么做的,但不知道如何实现.其中myId是用户名,DownId指代a.tar 在数据库中对应的id.唉,对Web的东西真是不懂。谢谢大伙。
不是很懂你的意思,能否具体一点????
File file = new File("");
response.setHeader("","");
response.write(file.read());
}
这就是思路
你这个思路貌似行得通,但是浏览器支持断点续传的话,你这种做法就把断点续传抹杀了吧??一般情况下,假设用户登陆 http://localhost:8080/App/a.tar 下载a.tar 假设中途断开了,下一次继续这样访问,可以断点续传的..你那种做法,貌似不行吧?
第一种情况:不清楚,感觉要在Web服务器层次上设定用户,然后进行登录验证。
能否具体??
第一个问题能否具体点?
<web-resource-collection>
<web-resource-name>HTMLManger and Manager command</web-resource-name>
//a.doc和ccc.txt是需要登录才能查看或下载的文件
<url-pattern>/a.doc</url-pattern>
<url-pattern>/ccc.txt</url-pattern> <http-method>GET</http-method>
<http-method>POST</http-method> </web-resource-collection>
<auth-constraint>
<!-- NOTE: This role is not present in the default users file -->
<role-name>manager</role-name> //这个组的成员用户登录后可以下载上述文件
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name></realm-name>
</login-config>
<security-role>
<description>
The role that is required to log in to the Manager Application
</description>
<role-name>manager</role-name> //这个组的成员用户登录后可以下载上述文件
</security-role>2. 以tomcat为例,在TOMCAT_HOME/conf/tomcat-users.xml里定义上述组,和这个组的一些成员用户。
我想你的解决方案是对特定Web服务器绑定的。
或者连接到一个下载页面,不要直接连接到文件
用jspsmartupload,再在下面这里加上是否登陆的验证即可如下
<%@ page language="java" import="com.jspsmart.upload.*"%><jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /><%
// Initialization
mySmartUpload.initialize(pageContext);
// Download file
mySmartUpload.downloadFile("/upload/sample.zip");
// With a physical path
// mySmartUpload.downloadFile("c:\\temp\\sample.zip")
// With options
// mySmartUpload.downloadFile("/upload/sample.zip","application/x-zip-compressed","downloaded.zip")%>
还以tomcat为例,可以把服务器设定使用jdbc realm,或DataSource realm,用户名和密码对应数据库中的某个表(列)。google或baidu一下“j2ee安全”,有很多相关的文章
这是什么方法来着?
QQ:464199843