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(创建文件目录)
  • 相关阅读:
    iview正在加载和关闭加载
    vue实现input输入框只能输入中文
    vue添加遮罩
    JSONP的实现原理
    vue-resource 实现 get, post, jsonp请求
    vue实例的生命周期
    IDE更新索引
    org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
    springmvc过滤的静态资源不起作用
    mybatis返回集合类型为map时
  • 原文地址:https://www.cnblogs.com/sybk/p/10004747.html
Copyright © 2011-2022 走看看