文件的上传servlet
来源:互联网 发布:保罗乔治身体数据 编辑:程序博客网 时间:2024/06/01 07:28
package com.sxt.servlet;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import com.sxt.bean.Goods;
import com.sxt.dao.GoodsDao;
import com.sxt.dao.impl.GoodsDaoImpl;
public class SaveGoodsServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 创建一个文件form表达存储数据的map Map<String, String> map = new HashMap<String, String>(); // 获取上传文件类型 if (ServletFileUpload.isMultipartContent(request)) { // 创建ServletFileUpload实例 ServletFileUpload fileUpload = new ServletFileUpload(); try { // 解析request请求 返回FileItemStream的iterator实例 FileItemIterator iter = fileUpload.getItemIterator(request); InputStream is = null;// 输出流 // 迭代取出 while (iter.hasNext()) { FileItemStream item = iter.next();// 获取文件流 String name = item.getFieldName();// 返回表单中标签的name值 is = item.openStream();// 得到对应表单的输出流 if (item.isFormField()) {// 如果是非文件域,设置进入map,这里要注意多值处理 String value = Streams.asString(is,"UTF-8"); map.put(name, value); // 如果不是文件上传,处理 } else { if (is.available() > 0) {// 如果输出流的内容大于0 String fname = item.getName();// 获取文件名 // 修改这个名字不能产生覆盖问题 时间戳 int a = (int) (Math.random() * 100); long l = new Date().getTime(); fname = String.valueOf(l) + a + fname; map.put("gurl", "upload/" + fname); String path = request.getServletContext().getRealPath("/")+ "upload/" + fname; Streams.copy(is, new FileOutputStream(path), true);// 拷贝内容到上传路径 } } } } catch (FileUploadException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } GoodsDao dao = new GoodsDaoImpl(); String gid = map.get("gid"); Integer gi = null; if(gid!=null && !gid.equals("")){ gi = Integer.valueOf(gid); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); PrintWriter out = response.getWriter(); try { Date d = sdf.parse(map.get("prodate")); Timestamp t = new Timestamp(d.getTime()); Goods g = new Goods(gi, map.get("gname"), Double.parseDouble(map.get("gprice")), Integer.valueOf(map.get("gnum")),t, map.get("gaddr"), map.get("gtel"), Integer.valueOf(map.get("gstatus")), map.get("gurl")); boolean b = dao.saveGoods(g); if(b){ out.print(1); }else{ out.print(0); } } catch (Exception e) { e.printStackTrace(); } out.close();}
}
- servlet的上传文件
- Servlet的文件上传
- 文件的上传servlet
- Servlet 实现文件的上传
- servlet上传文件的实现
- Servlet上传文件的路径
- Servlet 上传文件的方法
- Servlet实现文件的上传
- servlet写的文件上传
- Servlet上传文件的实现
- servlet实现文件的上传
- servlet的文件上传总结
- 基于servlet的文件上传
- SpringMVC的文件上传(基于原生Servlet的文件上传)
- 用servlet编写的文件上传程序
- Servlet 进行上传文件的原理
- 用Servlet得到上传的文件
- servlet 实现 文件的上传与下载
- JSP学习中的问题总结
- 约瑟夫环问题
- 快速幂运算 与 快速幂取余
- java基础——练习题纠错一
- 腾讯2016校招笔试题(含答案)
- 文件的上传servlet
- hdu 1087 最长上升子序列的和
- shiny---实现单选框联动
- 线程池的作用,应用场景与原理
- poj 1308 Is It A Tree?(并查集)
- Ext中创建Window窗体
- poj1948 Triangular Pastures(背包)
- 将xls表格数据转为点数据(1)
- 通过MyBatis Generator快速配置Mybatis