写道
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="matrix" uri="matrix_dojo"%>
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<head>
<matrix:theme />
</head>
<%!
//用于删除文件夹
boolean delFile(String delFilesUrl)
{
try
{
File delFiles = new File(delFilesUrl);
File[] files = delFiles.listFiles();
for (int i = 0; i < files.length; i++)
{
if (files[i].isDirectory())
{
delFile(delFiles + "\\" + files[i].getName());
}
else
{
files[i].delete();
}
}
delFiles.delete();
return true;
}
catch (Exception ex)
{
return false;
}
}%>
<%
String message = "";
%>
<%
//得到要删除的文件的文件名字和路径
String delFile = request.getParameter("delFile");
if (delFile != null && !delFile.equals(""))
{
delFile = new String(delFile.getBytes("UTF-8"), "UTF-8");
try
{
File file = new File(delFile);
if (file.delete())
{
message = message + "<font color=green>删除文件成功!<b>";
}
else
{
message = message + "<font color=red>删除文件失败<b>";
}
}
catch (Exception ex)
{
message = message + "<font color=red>异常!<b>";
}
}
%>
<%
//文件下载
String downFile = request.getParameter("file");
if (downFile != null && !downFile.equals(""))
{
String filename = downFile
.substring(downFile.lastIndexOf("\\") + 1);
downFile = new String(downFile.getBytes("UTF-8"), "UTF-8");
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(downFile));
byte[] buf = new byte[1024];
int len = 0;
OutputStream os = response.getOutputStream();
response.reset();
//纯下载方式
response.setHeader("Content-Disposition",
"attachment;filename=\"" + filename + "\"");
response.setContentType("bin;charset=UTF-8");
while ((len = bis.read(buf)) > 0)
os.write(buf, 0, len);
bis.close();
os.close();
}
%>
<div class="fg_body" id="fg_body">
<div class="fg_showMessage">
<%=message%>
</div>
<div class="dbfile">
<table width="100%">
<tr>
<td width="100%">
<%
//页面
request.setCharacterEncoding("UTF-8");
String strDir="D:/NCC/ExpDbFile"+"/"+request.getAttribute("uf");
if (strDir != null && !strDir.equals(""))
{
strDir = new String(strDir.getBytes("UTF-8"), "UTF-8");
strDir = strDir.replace('/', '\\');
}
StringBuffer sbFile = new StringBuffer("");
try
{
File objFile = new File(strDir);
File list[] = objFile.listFiles();
for (int i = 0; i < list.length; i++)
{
if (list[i].isDirectory())
{
}
else
{
String strLen = "";
String strDT = "";
long lFile = 0;
lFile = list[i].length();
if (lFile > 1000000)
{
lFile = lFile / 1000000;
strLen = "" + lFile + " M";
}
else if (lFile > 1000)
{
lFile = lFile / 1000;
strLen = "" + lFile + " K";
}
else
{
strLen = "" + lFile + " Byte";
}
Date dt = new Date(list[i].lastModified());
strDT = dt.toLocaleString();
sbFile
.append("<tbody><tr class='searchListTable' align='center'><td>");
sbFile.append("" +(i+1));
sbFile.append("</td><td>");
sbFile.append("" + list[i].getName());
sbFile.append("</td><td>");
sbFile.append("" + strLen);
sbFile.append("</td><td>");
sbFile.append("" + strDT);
sbFile.append("</td><td align='center'>");
sbFile
.append("<a href='?path="
+ strDir
+ "&delFile="
+ strDir
+ "\\"
+ list[i].getName()
+ "' onclick=\"javascript:return confirm('真的要删除文件"
+ list[i].getName()
+ "吗?')\">删除</a> ");
sbFile
.append("<a href='?file=" + strDir + "\\"
+ list[i].getName()
+ "'>下载到本地</a> ");
sbFile.append("</td></tr></tbody>\r\n");
}
}
}
catch (Exception e)
{
out.println("<font color=red>" + "</font>");
}
%>
</td>
</tr>
</table>
</div>
<div class="">
<table width="100%">
<tr>
<td width="100%" align="center" valign="top">
<table class="rmb_tab"
style="behavior:url('/TRAMS/pbac/css/sorttable.htc')" width="100%"
border="1">
<thead>
<tr class="rmb_tab_tr" style="position: relative">
<th width="5%" align="center">
序号
</th>
<th width="35%" align="center">
文件名称
</th>
<th width="20%" align="center">
文件大小
</th>
<th width="20%" align="center">
修改时间
</th>
<th width="20%" align="center">
文件操作
</th>
</tr>
<%=sbFile%>
</table>
</td>
</tr>
</table>
</div>
</div>
分享到:
相关推荐
在这个场景下,我们关注的是如何在JSP页面中实现文件的下载功能。这个功能在很多网站上都常见,例如提供文档、软件或其他资源的下载服务。下面我们将详细探讨如何实现这一功能。 首先,为了创建一个下载链接,你...
在Java服务器页面(JSP)技术中,文件操作是一个关键的方面,它允许开发者读取、写入、创建和管理服务器上的文件。本教程将深入探讨JSP中的文件操作及其应用,帮助你理解和掌握相关技能。 一、JSP概述 JSP是Java...
【标题】"jsp页面人力资源管理系统静态页面"涉及的是基于JavaServer Pages(JSP)技术构建的人力资源管理系统的前端部分。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript等静态内容与Java代码相...
本文将深入探讨“jsp操作文件”的主题,旨在帮助初学者更好地理解和掌握如何在JSP中进行文件操作。 一、JSP概述 JSP是Java平台的一部分,它结合了HTML和Java代码,使得开发人员可以方便地创建动态Web应用。在JSP中...
在使用FCKeditor时,开发者首先需要在JSP页面中引入编辑器的JavaScript库,并通过初始化函数设置编辑器的基本配置,如宽度、高度、语言等。然后,可以创建一个textarea元素,FCKeditor会将其替换为可视化的编辑界面...
在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的...总的来说,JSP页面实现文件上传下载涉及了HTML表单、Servlet/JSP处理、文件I/O操作等多个方面,理解这些知识点对于进行Java Web开发至关重要。
在本文中,我们将深入探讨如何使用Spring Boot框架访问JSP页面,同时介绍如何结合Maven插件和MyBatis来自动生成Mapper、Model和相关的XML配置文件,以便于简化开发流程。 首先,让我们来理解Spring Boot与JSP的集成...
本文将深入探讨如何在JSP页面中获取Servlet请求中的参数,并将其传递到另一个JSP页面。 首先,我们需要配置`web.xml`文件,这是部署描述符,它定义了Servlet的映射和配置。以下是一个示例配置: ```xml ...
3. JSP页面或者Servlet捕获这个请求,解析请求体中的文件数据。 4. 文件数据被保存到服务器的临时目录或指定的存储路径。 5. 服务器返回一个确认消息,告知客户端文件上传成功。 在实现过程中,我们需要注意以下几...
本项目“JSP页面文件上传下载实例”聚焦于如何在JSP环境中实现文件的上传与下载功能,这对于构建交互式的Web应用程序是至关重要的。下面我们将详细探讨相关的知识点。 首先,文件上传功能通常依赖于HTTP协议中的...
可以将这些值存储在Java对象(如自定义的实体类)中,或者直接用作向JSP页面传递的属性。 6. **转发到JSP页面**:使用Servlet的`RequestDispatcher`的`forward()`方法,将请求转发到JSP页面。在转发时,可以将之前...
在JSP中,可以直接使用Java代码来处理文件操作,如文件的创建、读取、更新和删除等。以下是一些关于在JSP中进行文件操作的关键知识点: 1. **文件的创建/检查与删除**: - `File`类是Java IO库中的核心类,用于...
在JSP中,每个JSP页面在运行时都会被转换为一个Servlet类。JSP的执行流程是先编译为Servlet,然后通过Servlet处理请求并生成响应。 **8. 错误处理** JSP可以通过`<error-page>`标签在web.xml中配置错误处理,当特定...
综上所述,JSP源码分析主要关注JSP页面的结构、指令、脚本元素、动作标签的使用,以及与之相关的数据库操作、XML处理、样式控制等技术。每个JSP文件都有其特定的功能,通过它们的名称可以推测其大致用途。同时,SQL...
标题“图片直接保存到数据库,并在JSP页面显示”涉及的知识点主要集中在Web开发领域,尤其是Java Web开发,包括图片处理、数据库存储以及前端展示。这里我们将深入探讨以下几个关键环节: 1. 图片数据的二进制化:...
9. **性能优化**:对于大数据量的表格,直接操作DOM可能会导致性能下降。可以采用虚拟DOM或者只更新受影响的部分来提高性能。 10. **状态管理**:如果页面有多个表格或者需要记住用户的排序偏好,可以使用Cookie、...
JSP页面通常不直接处理表单提交,而是通过一个关联的Servlet来接收并处理这些数据。 在Servlet中,我们可以使用Apache Commons FileUpload库来解析多部分请求。该库提供API来提取文件内容并保存到服务器的指定位置...
- 通常情况下,模板文件中会包含一些占位符(如`${title}`),需要在运行时用实际数据替换这些占位符。 - 这部分代码示例未给出具体的实现方式,但可以通过字符串操作或专门的模板引擎来实现。 #### 总结 以上两...
在多文件上传中,JSP页面会提交表单到一个Servlet,Servlet负责接收文件并进行处理。 3. **Multipart解析器**: 文件上传涉及到二进制数据,不能直接通过HTTP的普通请求来发送。因此,我们需要使用Multipart解析器...
JSTL提供了一系列预定义的标签,如fmt、sql、c等,而EL简化了在JSP页面中获取和操作数据的方式。 8. 安全性:考虑到用户可能直接与数据库交互,商品详情页需要防范SQL注入等安全威胁。开发者应使用预编译语句、参数...