手动搭建HTTP下载站点
index.jsp
<%--Listfile.jsp--%>
<%@ page import="java.io.File,java.text.SimpleDateFormat,java.util.Calendar"%>
<%@ page contentType="text/html;charset=GB2312" language="java" %>
<html>
<head>
<title>index</title>
<style type="text/css">
body {
font-size: 9pt;
background-color: #F0F0F0;
}
TABLE {
background-color: #CCCCCC;
font-size: 9pt;
}
TR {
color: black;
height: 22px;
background-color: white
}
TR.header {
color: #996600;
height: 22px;
background-color: #EBEBEB;
cursor: hand
}
</style>
</head>
<body>
<%!
public void travelDirectory(String directory, JspWriter out) {
try {
File dir = new File(directory);
if (dir.isFile()) // 判断是否是文件,如果是文件则返回。
return;
File[] files = dir.listFiles(); // 列出当前目录下的所有文件和目录
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
continue;
} // 如果是目录,则继续遍历该目录
// travelDirectory(files[i].getAbsolutePath(),out);
if(files[i].getName().equals("index.jsp")){
continue;
}
String fn = files[i].getName();
String fs = files[i].length()/(1024 * 1024) + "M";
Calendar cal = Calendar.getInstance();
long time = files[i].lastModified();
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
cal.setTimeInMillis(time);
String ft = formatter.format(cal.getTime());
String tr = "<tr><td><a href='" + fn + "' target='_blank'>" + fn + "</a></td>";
tr += "<td>" + fs + "</td>";
tr += "<td>" + ft + "</td></tr>";
out.println(tr); // 输出该目录或者文件的名字
}
} catch (Exception e) {
e.printStackTrace();
}
}
%>
<%
//将当前web程序目录结构输出到控制台
String path=pageContext.getServletContext().getRealPath(request.getServletPath());
String dir=new File(path).getParent();
out.println("<div align='center'>软件下载界面,点击文件名称下载</div><table align='center'>");
out.println("<tr class='header'><td>文件名称</td><td>大小(M)</td><td>修改时间</td></tr>");
travelDirectory(dir,out);
out.println("</table>");
%>
</body>
</html>
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Welcome to download</display-name>
<description>
Welcome to download
</description>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rar</extension>
<mime-type>application/rar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>exe</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>iso</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>docx</extension>
<mime-type>application/doc</mime-type>
</mime-mapping>
<mime-mapping>
<extension>doc</extension>
<mime-type>application/doc</mime-type>
</mime-mapping>
</web-app>