嗄拉唬啊克叭 2022-05-07 14:43 采纳率: 0%
浏览 67
已结题

本地运行javaweb项目实现文件下载功能,前后端代码没问题,可是下载文件列表不显示

问题遇到的现象和发生背景

一个javaweb项目包,实现文件上传下载功能的时候,文件下载页面不显示下载列表,希望有人可以指点一下

问题相关代码,请勿粘贴截图
package cn.lut.se.forum.controller;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;

@WebServlet("/controller/DownServlet")
//把服务器端的文件按照流的形式传输给客户端
public class showdownServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        File file = new File(getServletContext().getRealPath("/uploadFiles"));//原来的上传路径作为现在的下载路径
        if (!file.exists()){
            return;
        }
        File[] fileList = file.listFiles();//获得下载路径下所有文件的下载路径集合
        req.setAttribute("fileList",fileList);
        req.getRequestDispatcher("/showinfo.jsp").forward(req,resp);//将fileList给前端页面
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }
}
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022/4/30
  Time: 0:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>下载文件</title>
</head>
<body>
<table>
    <tr>
        <th>文件名称</th>
        <th>下载课件</th>
    </tr>
    <c:forEach var="afile" items="${fileList}">
        <tr>
            <td>${afile.name}</td>
            <td><a href="downloadServlet?resPath=${afile.name}">下载</a></td>
        </tr>
    </c:forEach>
</table>
</body>
</html>
运行结果及报错内容

显示页面没有文件列表,

img

我的解答思路和尝试过的方法

感觉哪个路径有设置错误,自己试了好多也没有试出来

我想要达到的结果

img

正常应该显示文件列表,可是我的改了两天都死活不显示,是不是少了什么东西还是路径错误/(ㄒoㄒ)/~~
希望有goodman可以帮忙看一下,可以远程或者发项目包😭

  • 写回答

3条回答 默认 最新

  • sinJack 2022-05-07 14:55
    关注

    servlet中打印一下fileList,看看是否有值。

    评论
    1人已打赏

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月7日
  • 创建了问题 5月7日

悬赏问题

  • ¥15 优质github账号直接兑换rmb,感兴趣伙伴可以私信
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)