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(创建文件目录)
  • 相关阅读:
    C# Enum转换
    Split
    WCF访问安全
    [转] 检索 COM 类工厂中 CLSID 为 {000209FF00000000C000000000000046} 的组件时失败
    ICSharpCode.SharpZipLib.dll压缩的zip包,7zip解压时出错
    js控制ctrl+p
    跨域访问WCF问题
    sql:过滤字段中是否包含数字
    序列化/反序化
    [转]RegistryKey 操作注册表
  • 原文地址:https://www.cnblogs.com/sybk/p/10004747.html
Copyright © 2011-2022 走看看