zoukankan      html  css  js  c++  java
  • Servlet3.0-内嵌文件上传

    注解替代web.xml的配置

        在eclipse中servlet3.0没有了web.xml文件而是使用注解来配置servlet和filter以及listener的路径
        idea中servlet自带使用的是3.1,有web.xml配置文件 也可以支持注解配置

    注解配置格式:

    创建servlet
        在类上面添加 @WebServlet(urlPatterns={ "/demo2", "/demo21" },loadOnStartup=2)
    创建listener
        在类上添加 @WebListener
    创建filter
        在类上添加 @WebFilter(urlPatterns="/*")

    全新的文件上传

        在servlet3.0中内嵌了文件上传功能
        使用HttpServletRequest#getPart/#getParts得到请求的Part(如文件/参数)等
        需要实现文件上传需要在servlet中添加一个注解
        @MultipartConfig
        接受普通上传组件(就是接受参数): request.getParemter(name属性的值)
        接受文件上传组件 request.getPart(name属性名称)

    jsp表单

        上传文件中表单中需要再form元素中设置的属性  enctype="multipart/form-data"
    ![jsp文件上传表单][1]

    servlet3.0文件上传

    ![servlet内嵌的文件上传][2]

    文件上传需要注意的其他问题及解决思路

     - 名字重复 随机名称

        在数据库中提供两个字段,
        一个字段用来存放文件的真实名称  1.jpg
        另一个字段用来存放文件存放路径  g:/sdfasdf.jpg
     - 随机名称:

        uuid(随机数生成的工具类)
        时间戳
     - 文件安全

        重要的文件存放在 web-inf 或者 meta-inf 或者 服务器创建一个路径
        不是很重要的文件 项目下
     - 文件存放目录

        方式1:日期
        方式2:用户
        方式3:文件个数
        方式4:随机目录
        mkdirs(创建文件目录)
  • 相关阅读:
    定制一个支持中英文的简单LaTex模板
    汉字hash问题(转)
    算法题之最大回文子串
    算法题之添加回文串
    数据表设计的步骤
    很简单的Java断点续传实现原理
    MongoDB 搭建文件存储的方案
    cron语法
    关于如何使用SVN的一些建议
    无后台应用 Stash Backend
  • 原文地址:https://www.cnblogs.com/sybk/p/10004747.html
Copyright © 2011-2022 走看看