注解替代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"servlet3.0文件上传
文件上传需要注意的其他问题及解决思路
- 名字重复 随机名称在数据库中提供两个字段,
一个字段用来存放文件的真实名称 1.jpg
另一个字段用来存放文件存放路径 g:/sdfasdf.jpg
- 随机名称:
uuid(随机数生成的工具类)
时间戳
- 文件安全
重要的文件存放在 web-inf 或者 meta-inf 或者 服务器创建一个路径
不是很重要的文件 项目下
- 文件存放目录
方式1:日期
方式2:用户
方式3:文件个数
方式4:随机目录
mkdirs(创建文件目录)