zoukankan      html  css  js  c++  java
  • 手动搭建HTTP下载站点

    手动搭建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>
  • 相关阅读:
    Android开发 使用 adb logcat 显示 Android 日志
    【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    C语言 结构体相关 函数 指针 数组
    C语言 命令行参数 函数指针 gdb调试
    C语言 指针数组 多维数组
    Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
    C语言 内存分配 地址 指针 数组 参数 实例解析
    CRT 环境变量注意事项
    hadoop 输出文件 key val 分隔符
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
  • 原文地址:https://www.cnblogs.com/stono/p/8375737.html
Copyright © 2011-2022 走看看