学习日志day41(2021-09-03)(1、文件的上传 2、文件的查看 3、文件的下载 4、使用工具类上传文件 5、基于servlet3.0以上的文件上传 )

这篇学习日志详细记录了JavaWeb中关于文件上传、查看和下载的操作,包括使用工具类进行文件上传,以及基于Servlet 3.0以上版本的文件上传方法。内容涵盖创建上传表单、实现FileUploadServlet、ShowFileServlet和DownLoadServlet,以及上传工具类的使用。
摘要由CSDN通过智能技术生成

学习内容:学习JavaWeb(Day41)

1、文件的上传
2、文件的查看
3、文件的下载
4、使用工具类上传文件
5、基于servlet3.0以上的文件上传


1、文件的上传

(1)实现文件的上传需要的依赖包
commons-fileupload.jar
commons-io.jar

(2)在jsp文件创建上传文件表单

<!--创建可以上传文件的表单需要声明enctype="multipart/form-data-->
<form class="form-horizontal" action="/fileUpload" method = "post" enctype="multipart/form-data">
    <div class="form-group">
        <label class="col-sm-2 control-label">文件描述:</label>
        <div class="col-sm-10">
            <input type="text" name="desc" />
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-2 control-label">点击上传文件:</label>
        <div class="col-sm-10">
            <input type="file" name="myFile" />
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <input type="submit" value="提交">
        </div>
    </div>
</form>

(3)创建FileUploadServlet.java

@WebServlet("/fileUpload")
public class FileUploadServlet extends HttpServlet {
   

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        request.getRequestDispatcher("WEB-INF/views/file.jsp").forward(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        request.setCharacterEncoding("UTF-8");
        //判定当前提交表单是不是一个文件表单 是true  否false
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {
   
            try {
   
                //构建factory对象用于ServletFileUpload构造方法中
                DiskFileItemFactory factory = new DiskFileItemFactory();
                //设置上传文件时用的临时空间
                ServletContext servletContext = this.getServletConfig().getServletContext();
                File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");//文件的临时目录
                factory.setSizeThreshold(1024); //设置临时空间大小
                factory.setRepository(repository);
                
                ServletFileUpload upload = new ServletFileUpload(factory);
                upload.setSizeMax(1024*1024*20);//设置表单提交所有内容总长度
                upload.setHeaderEncoding(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值