JSP文件管理器

    使用计算机时经常会利用资源管理器对文件和目录进行管理,通过指定的路径进行文件和目录的打开、创建、删除、显示属性等操作。在本项目开发中,设计了一个简单的在线文件管理器,这是一个基于Web浏览器的文件管理程序。文件管理器允许用户使用浏览器来管理文件和目录,可以浏览指定路径下的目录、文件,也可以在指定路径下新建和删除文件或目录以及对其属性的获取。

    对文件和目录进行管理,需要使用java.io包下的File类。File类的对象主要用来获取文件和目录本身的一些信息,其包含大量的方法,通过这些方法,可以获取路径、目录和文件的相关信息,并对它们进行创建、删除、改名等操作。


本次设计的文件管理器具有以下的功能:

    1.浏览指定路径下的目录和文件属性;

    2.创建指定路径下的目录和文件;

    3.删除指定路径下的目录和文件。


效果图:


步骤说明
1、部分代码请参考——第十五篇JDBC操作数据库之Cookie技术

2、在第十五篇基础上继续实现功能——JSP文件管理器。


一.loginUser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ page import="java.net.URLDecoder" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">

    <title>用户登录</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">

    <link rel="stylesheet" type="text/css" href="css/userStyle.css">


</head>

<body>
<%
    String username = "";
    String password = "";

    //获取cookie数组
    Cookie[] cookies = request.getCookies();
    if(cookies != null && cookies.length>0){
        for(Cookie cookie : cookies){
            //获取值
            if(cookie.getName().equals("username")){
                username = cookie.getValue();
                System.out.println("loginCookie username: " + username);
            }
            if(cookie.getName().equals("password")){
                password = cookie.getValue();
                System.out.println("loginCookie password: " + password);
            }
        }
    }
%>
<div class="border">
    <div class="head">登录用户</div>
    <div class="div1">
        <ul>
            <li><a href="registerUser.jsp"> 用户注册 |</a></li>
            <li><a href="loginUser.jsp"> 用户登录 |</a> </li>
            <li><a href="message.jsp"> 当前用户 |</a></li>
            <li><a href="cookie.jsp"> 查看cookie |</a></li>
            <li><a href="ExitLogin"> 退出登录 |</a></li>
            <li><a href="file.jsp"> 文件管理 |</a></li>
        </ul>
    </div>
    <div class="div2">
        <form action="<%=request.getContextPath()%>/LoginUser" method="post" οnsubmit="return login(this)">
            <table align="center" width="300" border="0">
                <tr>
                    <td align="right">用户名:</td>
                    <td><input type="text" name="username" value="<%=username%>"></td>
                </tr>
                <tr>
                    <td align="right">密码:</td>
                    <td><input type="text" name="password" value="<%=password%>"></td>
                </tr>
                <tr>
                    <td colspan="2" align="center" height="50">
                        <input type="checkbox" name="isUseCookie">十天内记住我的登录状态
                    </td>
                </tr>
                <tr>
                    <td colspan="2" align="center" height="50">
                        <input type="submit" value="登录">
                    </td>
                </tr>
            </table>
        </form>
    </div>
</body>
</html>


二.file.jsp

1.首先判断用户是否已登录

2.默认路径----d:/

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ page import="java.io.File" %>
<%@ page import="com.entity.User" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">

    <title>显示文件和目录</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
    <link rel="stylesheet" type="text/css" href="css/userStyle.css">
</head>

<body>
<div class="head">文件操作</div>
<div class="div1">
    <ul>
        <li><a href="registerUser.jsp"> 用户注册 |</a></li>
        <li><a href="loginUser.jsp"> 用户登录 |</a> </li>
        <li><a href="message.jsp"> 当前用户 |</a></li>
        <li><a href="cookie.jsp"> 查看cookie |</a></li>
        <li><a href="ExitLogin"> 退出登录 |</a></li>
        <li><a href="file.jsp"> 文件管理 |</a></li>
    </ul>
</div>
<div class="out">
        <%
        //获取提示信息
        String info = String.valueOf(request.getAttribute("info"));
        //如果提示信息不为空,则输出提示信息
        if (info != "null") {
            out.print(info);
        }
        //获取登录的用户信息
        User user = (User) session.getAttribute("user");
        //判断用户是否登录
        if (user != null) {
        %>
        <h2>默认路径(不填写):d:/</h2>
        <form action="manager.jsp" method="post">
            <table>
                <tr>
                    <td>文件/目录浏览</td>
                    <td>输入路径:</td>
                    <td><input type="text" name="catalog"></td>
                    <td><input type="submit" value="提交"></td>
                </tr>
            </table>
            <br>
            <table>
                <tr>
                    <td>创建目录:</td>
                    <td>输入路径:</td>
                    <td><input type="text" name="path1"></td>
                    <td>输入目录名:</td>
                    <td><input type="text" name="name1"></td>
                    <td><input type="submit" value="创建"></td>
                </tr>
                <tr>
                    <td>创建文件:</td>
                    <td>输入路径:</td>
                    <td><input type="text" name="path2"></td>
                    <td>输入文件名:</td>
                    <td><input type="text" name="name2"></td>
                    <td><input type="submit" value="创建"></td>
                </tr>
                <tr>
                    <td>删除目录:</td>
                    <td>输入路径:</td>
                    <td><input type="text" name="path3"></td>
                    <td>输入目录名:</td>
                    <td><input type="text" name="name3"></td>
                    <td><input type="submit" value="删除"></td>
                </tr>
                <tr>
                    <td>删除文件:</td>
                    <td>输入路径:</td>
                    <td><input type="text" name="path4"></td>
                    <td>输入文件名:</td>
                    <td><input type="text" name="name4"></td>
                    <td><input type="submit" value="删除"></td>
                </tr>
            </table>
        </form>
    </div>
        <%
    } else {
        out.print("<br>对不起,您还没有<a href='loginUser.jsp'>登录</a>!");
    }
%>
</body>
</html>


三.manager.jsp

1.catalog默认"d:/"

2.路径path默认"d:/"

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ page import="java.io.File" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <base href="<%=basePath%>">

    <title>操作结果</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
    <link rel="stylesheet" type="text/css" href="css/userStyle.css">

</head>

<body>
<%
    String catalog = request.getParameter("catalog");
    if (catalog == null || "".equals(catalog)) {
        System.out.println(catalog);
        catalog = "d:/";
    }
    File dir1 = new File(catalog);
    File file[] = dir1.listFiles();
%>
<p>
    <font color="#FF0000">当前路径下的目录有:</font>
    <%
        for (int i = 0; i < file.length; i++) {
            if (file[i].isDirectory()) {
                out.print("<br>" + file[i].toString());
            }
        }
    %>
</p>

<font color="#FF0000">当前路径下的所有文件有:</font>
<p>
    <%
        for (int i = 0; i < file.length; i++) {
            if (file[i].isFile()) {
                out.print("<br>" + file[i].toString());
            }
        }
    %>
</p>

<p>----------------------------------------------------</p>

<%
    //定义数组,存储获取的值
    String[] s = new String[8];
    //获取对应的文本框文件或目录路径
    s[0] = request.getParameter("path1");
    s[1] = request.getParameter("name1");
    s[2] = request.getParameter("path2");
    s[3] = request.getParameter("name2");
    s[4] = request.getParameter("path3");
    s[5] = request.getParameter("name3");
    s[6] = request.getParameter("path4");
    s[7] = request.getParameter("name4");

    for (int i = 0; i < s.length; i++) {
        if (i % 2 == 0) {
            if(s[i] == null || "".equals(s[i])){
                s[i] = "d:/";
                System.out.println("路径:" + s[i]);
            }else{
                System.out.println("路径:" + s[i]);
            }
        }
    }
    File dir2 = new File(s[0], s[1]);
    File dir3 = new File(s[2], s[3]);
    File dir4 = new File(s[4], s[5]);
    File dir5 = new File(s[6], s[7]);
%>

<p>
    <%=s[1]%><font color="#FF0000">目录是否创建成功?</font><%=dir2.mkdir()%>
</p>

<p>
    <%=s[3]%><font color="#FF0000">文件是否创建成功</font><%=dir3.createNewFile()%>
</p>

<p>
    <%=s[5]%><font color="#FF0000">目录是否删除成功?</font><%=dir4.delete()%>
</p>

<p>
    <%=s[7]%><font color="#FF0000">文件是否删除成功?</font><%=dir5.delete()%>
</p>
</body>
</html>


四.页面效果








ok!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值