【Java】Servlet文件上传-无需导入其他Jar包
2020-12-13 05:03
标签:character tmp osi ext art 需要 void class coding Servlet3.0中,改进了部分API,简化了Java Web的开发。 如,文件上传。传统的文件上传需要借助于common-fileupload等工具,很复杂,借助Servlet3.0的API则极为简单。 上传页面upload.jsp/upload.html 处理上传的Servlet 【Java】Servlet文件上传-无需导入其他Jar包 标签:character tmp osi ext art 需要 void class coding 原文地址:https://www.cnblogs.com/to-red/p/11129451.html form method="post" action="upload" enctype="multipart/form-data">
选择文件:input type="file" id="file" name="file">br>
input type="submit" value="提交">
form>
// Servlet3.0 相当于配置web.xml
@WebServlet(name="Upload",urlPatterns={"/upload"})
// 文件上传的注解
@MultipartConfig
public class Upload extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 解决中文乱码
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
File path = new File("D://tmp");
if (!path.exists()){
path.mkdir();
}
Part part = request.getPart("file");
out.println("size:"+part.getSize()+"
");
// tomcat7 下需要下面的方法获取文件名
String cd = part.getHeader("Content-Disposition");
//截取不同类型的文件需要自行判断
String filename = cd.substring(cd.lastIndexOf("=")+2, cd.length()-1);
// Tomcat8以上只需要 part.getSubmittedFileName() 方法可以直接获取
// 将文件上传到服务器
String filePath = path.getPath() + File.separator + filename;
part.write(filePath);
System.out.println("File Upload : " + filePath);
}
}
文章标题:【Java】Servlet文件上传-无需导入其他Jar包
文章链接:http://soscw.com/essay/30342.html