基于servlet3.0的文件上传
来源:互联网 发布:淘宝企业店铺升级入口 编辑:程序博客网 时间:2024/06/06 02:36
jsp页面关键代码
<body>
<form action="uploadServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="提交">
</form>
</body>
处理上传文件的Servlet完整代码
package com.oraclewdp.action;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@MultipartConfig
@WebServlet(name="uploadServlet",urlPatterns="/uploadServlet")
public class uploadServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8");
String savePath=req.getServletContext().getRealPath("\\upload");
Collection<Part> parts=req.getParts();
if(parts.size()==1){
Part part=req.getPart("file");
String header=part.getHeader("Content-Disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}else{
for (Part part : parts) {
String header=part.getHeader("content-disposition");
String fileName=getFileName(header);
part.write(savePath+"\\"+fileName);
}
}
PrintWriter out=resp.getWriter();
out.println("上传成功");
out.flush();
}
public String getFileName(String header) {
String[] tempArr1=header.split(";");
String[] tempArr2=tempArr1[2].split("=");
String fileName=tempArr2[1].substring(tempArr2[1].lastIndexOf("\\")+1).replaceAll("\"", "");
return fileName;
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.service(req, resp);
}
@Override
public void destroy() {
super.destroy();
}
}
1 0
- 基于Servlet3.0的文件上传
- 基于servlet3.0的文件上传
- spring基于servlet3.0配置上传文件
- Servlet3.0的文件上传
- Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
- Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
- Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
- Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
- Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
- Servlet3.0学习总结(三)——基于Servlet3.0的文件上传
- servlet3.0上传文件
- servlet3.0文件上传
- Servlet3.0文件上传
- servlet3.0 文件上传
- 利用Servlet3.0的特性上传文件
- servlet3.0 实现文件的上传
- Servlet3.0现实文件上传
- servlet3.0多文件上传
- 【Unity3D实战】RPG黑暗之光Scene1:创建开始场景
- rxjava详解
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
- git push 新项目报错
- 苹果提醒更新 修改
- 基于servlet3.0的文件上传
- 日志的定义
- 硬件加速引发的bug(关闭硬件加速即可解决)
- View生命周期
- Spring 3.x/4.x系列改动日志spring 3.0 3.1 3.2 4.0 4.1 4.2
- C#数据类型
- android 处理双击事件监听
- 类的逆向分析
- 数据驱动视图简单实现