【傻瓜向】JavaWeb 发起文件下载简单教程(idea2023)

这篇教程面向初学者,详细介绍了如何使用IDEA2023创建JavaWeb项目,配置Tomcat,添加Servlet依赖,编写下载代码,最后启动测试,实现文件下载功能。每个步骤都有清晰的操作指南,帮助读者一步步完成。
摘要由CSDN通过智能技术生成

本文前置条件是已学会如何配置 Tomcat,如果不会,请先过一下教程:

Tomcat 配置教程icon-default.png?t=N3I4https://blog.csdn.net/qq_41567818/article/details/124269406

Step1 创建 JavaWeb 项目

1. 新建 - 选择 Maven Archetype(按以下说明设置)

2. 检查你的 Archetype 是否正确,如和下图一致,点击创建

 3. 等待进度条跑完,到下面的界面

 Step2 配置项目 Tomcat

1. 右上角选择编辑配置

 2. 添加新配置-选择 Tomcat Server(服务器)- Local(本地)

 3. 配置 Tomcat

4. 点击右下角修复工件

5. 选择 XXX:war exploded(第二个)

 6.出现如下界面,点确定,Tomcat 运行图标出现

  

 Step3 加入 Tomcat 与 Servlet 依赖

1. 打开 pom.xml 文件

2. 添加以下依赖

<!-- Servlet API -->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>4.0.0</version>
  <scope>provided</scope>
</dependency>
<!-- JSP API -->
<dependency>
   <groupId>javax.servlet.jsp</groupId>
   <artifactId>javax.servlet.jsp-api</artifactId>
   <version>2.3.3</version>
   <scope>provided</scope>
</dependency>

<!-- Tomcat -->
<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-core</artifactId>
   <version>9.0.73</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
   <version>9.0.40</version>
   <scope>provided</scope>
</dependency>
<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-el</artifactId>
   <version>9.0.40</version>
   <scope>provided</scope>
</dependency>

3. 检查你的依赖是否符合下图,检查完毕后下载依赖

 4.下载依赖完毕以后新建一个 java 目录

 Step4 创建测试类并编写代码

1. 选中 java 文件夹 - 新建 - Java 类

 2. 为刚刚创建的类加上 @WebServlet 注解,并使其继承 HttpServlet                      

如果你基础不好,请和这里保持一致,也用 /download

 3.Ctrl+O 实现重写方法,选择 doGet

删除选中的地方

 4. 粘贴下列代码:

        // 你的文件路径
        String path = "D:\\a.png";
        File file = new File(path);
        // 设置要求不预览直接下载,如果没设定,浏览器会尝试预览(如图片)
        resp.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
        // 读取文件并写出
        try(FileInputStream is = new FileInputStream(file)) {
            ServletOutputStream os = resp.getOutputStream();
            byte[] bytes = new byte[1024];
            int len;
            while ((len = is.read(bytes)) > 0){
                os.write(bytes, 0, len);
            }
            os.flush();
            os.close();
        }

 Step5 启动测试

访问自己设定的路径即可,如果全部和我一样,那么你应当访问:http://localhost:8080/DownloadTest_war_exploded/download

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林钟一六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值