在数字化转型中,选择合适的跨平台开发框架不仅能提高效率,还有助于确保数据安全与合规性。
644
2023-01-20
聊聊在Servlet中怎么上传文件
首先对Servlet上传文件的简单理解
此前,Servlet本身没有对文件上传提供直接的支持,一般需要使用第三方框架来实现,这样就比较麻烦
不过,Servlet3.0之后提供了这个功能,而且使用非常简单,,为此,HTTPServletRequest提供了两个方法用于从请求中解析出上传的文件:
Part getPart(String name) //获取请求中给定 name 的文件
Collection
其中每一个文件用一个javax.servlet.http.Part对象来表示,该接口提供了处理文件的简易方法,如write(),delete(),那么,结合 HttpServletRequest 和 Part 来保存上传的文件变得非常简单
Part img = request.getPart("img");
img.write("根路径+\\img.jpg")
注意:可以配合 @MultipartConfig 注解来对上传操作进行一些自定义的配置,比如限制上传文件的大小,以及保存文件的路径等,但是,如果请求的 MIME 类型不是 multipart/form-data,则不能使用上面的两个方法,否则将抛异常。
首先我们掌握开发Servlet的步骤:
前端:如果有前端内容的话,需要再写一个html文件
后端
首先编写后台的Servlet代码(也即重写doGet和doPost方法)
配置项目文件,web.xml里面的映射文件
1.首先写一个页面(前端) html 文件
代码分析
2.写Servlet后端类代码
3.配置web.xml映射
4.效果展示
存在问题
那么哪里存在问题呢?
注意:其实这里是存在一点问题的
那么如何进行改进呢?
方法:使用UUID作为文件名
代码改进:也就是把代码中的fileName改成如下
//首先需要一个文件名,改进文件名的名称(防止重复名称覆盖之前的文件)
String fileName = UUID.randomUUID().toString()+
part.getSubmittedFileName().substring(part.getSubmittedFileName().indexOf("."));
结果验证:
以上就是聊聊在Servlet中怎么上传文件的详细内容,更多关于Java Servlet上传文件的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~