解决方案 »
- java初学:eclipse导入java源文件的问题
- 一本设计模式的免费书籍
- 移动同步手机订制彩信数据,调我开发的webserver接受不到参数
- 学Struts怎么这么难!!!
- 用ant构建文件,我的hibenate-tools已经添加到class_path中,为什么还提示错误。
- 菜鸟请教,如何建立JNDI数据源?
- 请问大家开发j2ee都用什么开发工具啊。可以说说大家吗?
- 关于J2EE中数据库连接事务处理
- 请问哪里有gservany下载?或者有什么办法让Tomcat做为服务启动?
- 如何像sql一样动态执行 mongodb
- 不知道自动提取标题关键词怎么处理
- 求一jetspeed下portlet的例子
点击下载,不管客户端有没有弹出下载的框(不管有没有保存文件),
数据库都要插入一条记录,一个资源一个用户只有一条记录,这样就可以统计下载的次数了
第一次下载需要积分,以后下载就不用了
<s:iterator value="dmList" var="vocab" status="status">
<tr height=50px>
<%
//通过 dmno 获取文件 的 有关信息 然后 传到 loadfile.jsp
//文件大小 保留在 本页面
%>
<td align="left">[<font color="red"><s:property value="#vocab.dmtype"/></font>]</td>
<td><font color=""><s:property value="#vocab.dmname"/></font></td>
<td><s:property value="#vocab.filetype"/></td>
<td><s:property value="#vocab.filesize"/> KB</td>
<td>20<s:property value="#vocab.dmtime"/></td>
<td><s:property value="#vocab.downloads"/> 次</td>
<td align="right"><a href="examFileAction.action?filename=<s:property value="#vocab.dmname"/>&filetype=<s:property value="#vocab.filetype"/>&fileid=<s:property value="#vocab.dmno"/>"><img width=30px height=30px src="image/downloadimage/download.jpg"></a></td>
</tr>
</s:iterator>
</table>
首先有三张表:用户表(user), 资源表(res), 下载表(download, 分别引用user和res)
点击下载后,如果download中不存在user和res关联的记录,就插入一条记录,已经存在就更新下载时间
然后再根据res的id去download中统计下载的次数,就好了
刚刚测试了下,csdn下载也是点击时就插入数据了,不会管你下载成功与否(测试结果)。好像还没下载成功返回的函数吧,所有只能算点击次数,确实csdn可能只算了一次(后台不清楚),而且我的积分也扣了,,有点坑吧LZ你的问题如果要成功才添加次数,要就要io流读取完一个文件后+1就可以了
刚刚测试了下,csdn下载也是点击时就插入数据了,不会管你下载成功与否(测试结果)。好像还没下载成功返回的函数吧,所有只能算点击次数,确实csdn可能只算了一次(后台不清楚),而且我的积分也扣了,,有点坑吧LZ你的问题如果要成功才添加次数,要就要io流读取完一个文件后+1就可以了问题不是加1问题,每次下载成功后次数加2,我就是在读取流结束后才计算的,原因在于,我的文件下载代码被执行了两次
然后将文件数据 request到新做的界面 ,新页面设个submit 将数据提交至你的ExamFileAction
在此action 就不要对数据库 进行操作了
刚刚测试了下,csdn下载也是点击时就插入数据了,不会管你下载成功与否(测试结果)。好像还没下载成功返回的函数吧,所有只能算点击次数,确实csdn可能只算了一次(后台不清楚),而且我的积分也扣了,,有点坑吧LZ你的问题如果要成功才添加次数,要就要io流读取完一个文件后+1就可以了问题不是加1问题,每次下载成功后次数加2,我就是在读取流结束后才计算的,原因在于,我的文件下载代码被执行了两次debug一下 ,,是什么原因啊代码贴出来
System.out.println("downloadTimes begin!!!!!");
dlm.downloadTimes(fileid);
通过fileid找到对应文件使得下载次数加1,没有贴出来,问题不是这里,是下载次数每次都加二,原因是贴出的那段代码被执行了两次