编辑jsp页面获取文件

 <html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'upload.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<form action="upload1" method="post" enctype="Multipart/form-data">
file:<input type="file" name="upload">
<input type="submit" value="上传">
</form>
</body>
</html>

servlet上传:

 import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.UUID; 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 org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
@WebServlet("/upload1") public class Upload1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**
* 1、创建文件项工厂
*/ DiskFileItemFactory factory = new DiskFileItemFactory();
/**
* 2、创建解析请求 数据的ServletFileUpload对象
*/
ServletFileUpload upload = new ServletFileUpload(factory);
try {
/**
* 3、解析请求数据 返回FileItem 列表
*/
List<FileItem> list = upload.parseRequest(request);
/**
* 4、解析获取每一个FileItem 对象
*/ FileItem item = list.get(0); //验证当前FileItem 是否是表单字段 如果fales 则取到的是文件
item.isFormField();
/**
* 5、文件名及路径处理
*/
//处理文件
String filename= item.getName();
//截取文件扩展名
String extName = filename.substring(filename.lastIndexOf("."));
//生成UUID作为文件名
String newName= UUID.randomUUID().toString();
//获取服务器上自定义的存放文件的目录
String rootPath = request.getSession().getServletContext().getRealPath("/upload");
//生成完整的文件路径
String newPath = rootPath+"/"+newName+extName;
System.out.println(newPath);
/**
* 6、文件写入
*/
item.write(new File(newPath)); } catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} }

最新文章

  1. HTML5中使用图片传递密文
  2. jQuery中方法html()与text()的不同
  3. IE6/IE7/IE8兼容H5标签
  4. maven的一些依赖
  5. .net连接access操作类
  6. SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束
  7. skip-name-resolv
  8. a标签中的label在IE下触发不了a标签的href链接(label标签——解析)
  9. Jordan Lecture Note-3: 梯度投影法
  10. 【转】解读Qt 事件处理机制(上篇)
  11. php前端控制器设计1
  12. poj1797 Heavy Transportation Dijkstra算法的简单应用
  13. 使用juggle简化网络编程
  14. 字符串拼接data-id时注意事项
  15. JavaScript基础2——关于变量
  16. GIT入门笔记(16)- 分支创建和管理
  17. 利用nginx解决cookie跨域
  18. Netty中的EventLoop和线程模型
  19. 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用
  20. button的后台点击事件

热门文章

  1. 四种方案解决ScrollView嵌套ListView问题 [复制链接]
  2. Fragment Transactions和Activity状态丢失
  3. show()的方向
  4. 大项目之网上书城(八)——数据库大改&amp;添加图书
  5. [LUOGU] P1466 集合 Subset Sums
  6. java 常用集合类型--以及其特性
  7. python 类的装饰器
  8. linux目录文件操作
  9. CODE【VS】3160 最长公共子串 (后缀自动机)
  10. c++中的三角函数