//添加食品信息
private void addProduct(HttpServletRequest request, HttpServletResponse response) throws IOException{
PrintWriter out = response.getWriter();
/*Date date=new Date();
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date1=format.format(date);
String productName=request.getParameter("produceName");
int typeid=Integer.parseInt(request.getParameter("typename"));
String details=request.getParameter("details");
Float price =Float.parseFloat(request.getParameter("price"));
int stock=Integer.parseInt(request.getParameter("stock"));
String fileName=request.getParameter("fileName");
fileName="images_ganguo/"+fileName;
ProductInfo product=new ProductInfo();
product.setP_typeId(typeid);
product.setProductName(productName);
product.setPrice(price);
product.setDetails(details);
product.setStock(stock);
product.setDate(date1);
product.setFileName(fileName);
int rel=proService.addProductInfo(product);
if(rel>0){
//添加商品成功之后转发到查询所有的商品界面
out.print("<script>alert('恭喜您,添加商品成功!');location.href='ProductInfoServlet?tag=show';</script>");
}else{
out.print("<script>alert('很抱歉,添加商品失败!');location.href='ProductInfoServlet?tag=show';</script>");
}*/
String typename="";//类型名称
String brand="";//品牌
String produceName="";//商品名称
String details="";//商品详情
String price="";//价格
int stock=0;//库存
request.setCharacterEncoding("utf-8");
String uploadFileName="";//上传的文件名(大图)
String uploadFileName1="";//上传的文件名(小图1)
String uploadFileName2="";//上传的文件名(小图2)
String uploadFileName3="";//上传的文件名(小图3)
String uploadFileName4="";//上传的文件名(小图4)
String fileName="";//表单字段元素的name属性值
String filedName="";
String picPath="";
//请求信息中的内容是否是multipart类型
boolean isMultipart =ServletFileUpload.isMultipartContent(request);
//上传文件的存储路径(服务器文件系统上的绝对文件路径)
String uploadFilePath=request.getSession().getServletContext().getRealPath("upload/");
if(isMultipart){
FileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
try
{
//解析from表单中所有文件
List<FileItem> items=upload.parseRequest(request);
Iterator<FileItem> iter=items.iterator();
while(iter.hasNext()){
FileItem item=(FileItem)iter.next();
if(item.isFormField()){//判断,是普通表单
fileName=item.getFieldName();//表单字段的name属性
if(fileName.equals("typename")){
typename=item.getString("utf-8");
}else if(fileName.equals("brand")){
brand=item.getString("utf-8");
}else if(fileName.equals("produceName")){
produceName=item.getString("utf-8");
}else if(fileName.equals("details")){
details=item.getString("utf-8");
}else if(fileName.equals("price")){
price=item.getString("utf-8");
}else if(fileName.equals("stock")){
stock=Integer.parseInt(item.getString("utf-8"));
}
}else{
//文件表单字段
//表单字段的name属性
fileName=item.getFieldName();
if(fileName.equals("bigfile")){
filedName=item.getName();
if(fileName!=null&&!filedName.equals("")){
File fullFile=new File(item.getName());
File saveFile=new File(uploadFilePath,fullFile.getName());
item.write(saveFile);
uploadFileName=fullFile.getName();
//ServletContext application=this.getServletContext();
picPath=saveFile.toString();
}
}else if(fileName.equals("smallfile1")){
filedName=item.getName();
if(fileName!=null&&!filedName.equals("")){
File fullFile=new File(item.getName());
File saveFile=new File(uploadFilePath,fullFile.getName());
item.write(saveFile);
uploadFileName1=fullFile.getName();
//ServletContext application=this.getServletContext();
picPath=saveFile.toString();
}
}else if(fileName.equals("smallfile2")){
filedName=item.getName();
if(fileName!=null&&!filedName.equals("")){
File fullFile=new File(item.getName());
File saveFile=new File(uploadFilePath,fullFile.getName());
item.write(saveFile);
uploadFileName2=fullFile.getName();
//ServletContext application=this.getServletContext();
picPath=saveFile.toString();
}
}else if(fileName.equals("smallfile3")){
filedName=item.getName();
if(fileName!=null&&!filedName.equals("")){
File fullFile=new File(item.getName());
File saveFile=new File(uploadFilePath,fullFile.getName());
item.write(saveFile);
uploadFileName3=fullFile.getName();
//ServletContext application=this.getServletContext();
picPath=saveFile.toString();
}
}
}
}
}catch(Exception ex){
ex.printStackTrace();
}
Date date=new Date();
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date1=format.format(date);
ProductInfo product=new ProductInfo();
int typeid=Integer.parseInt(typename);
product.setP_typeId(typeid);
product.setProductName(produceName);
float price1=Integer.parseInt(price);
product.setPrice(price1);
product.setDetails(details);
product.setStock(stock);
product.setDate(date1);
product.setFileName("upload/"+uploadFileName);
product.setFileName_1("upload/"+uploadFileName1);
product.setFileName_2("upload/"+uploadFileName2);
product.setFileName_3("upload/"+uploadFileName3);
int rel=proService.addProductInfo(product);
if(rel>0){
//添加商品成功之后转发到查询所有的商品界面
out.print("<script>alert('恭喜您,添加商品成功!');location.href='ProductInfoServlet?tag=show';</script>");
}else{
out.print("<script>alert('很抱歉,添加商品失败!');location.href='ProductInfoServlet?tag=show';</script>");
}
}
}
分享到:
相关推荐
在Java Web开发中,文件的上传与下载是常见的功能需求,尤其...通过以上步骤,你可以实现基于Java Servlet和Apache Commons库的文件上传与下载功能。理解并熟练掌握这些知识点,对于开发高效、稳定的Web应用至关重要。
总的来说,`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Java开发中不可或缺的工具,它们大大简化了文件上传的实现,同时也提供了良好的错误处理和资源管理机制,使得文件上传操作变得更加可靠和高效。...
总的来说,Apache Commons FileUpload和Commons IO是Java Web开发中的重要工具,它们极大地简化了文件上传和文件操作的复杂性,让开发者能够更专注于业务逻辑,而不是底层的实现细节。通过理解这两个库的工作原理和...
`commons-fileupload-1.3.3.jar` 和 `commons-io-2.5.jar` 是Apache Commons项目中的两个重要库,它们提供了强大的文件上传功能,使得开发者可以轻松地处理用户通过表单提交的文件。 Apache Commons FileUpload是...
Apache Commons FileUpload和Commons IO两个库是Java中处理文件上传的关键组件,它们为SpringMVC和MyBatis这样的框架提供了强大的支持。本篇文章将深入探讨这两个库以及它们在图片处理中的作用。 首先,`commons-...
7. **与其他库的集成**:Apache Commons FileUpload可与Servlet API、Spring MVC、Struts等Web框架无缝集成,简化了在这些框架中实现文件上传的复杂性。 源码分析对于理解其内部工作原理非常有帮助。`commons-...
在Java Web开发中,文件上传是一项常见的功能,Apache Commons FileUpload库是实现这一功能的强大工具。本示例将深入解析如何结合Maven构建一个基于Servlet的文件上传演示项目。Maven是一个项目管理工具,它可以帮助...
至于文件列表中提到的"Roger",这可能是实际的项目文件或代码示例,具体内容没有给出,但根据标题“demo”可以推测,这可能是一个演示如何使用`commons-fileupload`进行图片上传的Java代码示例。 在实际应用中,...
Commons FileUpload是Apache软件基金会的一...在实际开发中,结合`commons-fileupload`和`commons-io`这两个库,可以方便地实现在Java Web应用中的文件上传功能,并且可以自定义各种策略以满足特定的安全性和性能要求。
这两个库在Java Web应用、尤其是Servlet和JSP开发中非常常见,它们简化了文件上传的实现,使得开发者能够专注于业务逻辑,而不是底层的I/O操作。同时,由于它们都是开源的,有着良好的社区支持和文档,因此在遇到...
"commons-fileupload-1.3.1.jar" 是Apache Commons FileUpload项目的版本1.3.1的Java档案文件,这个库专门设计用于处理HTTP协议中的文件上传功能。在Web开发中,尤其是基于Java的服务器端应用程序,文件上传是常见的...
总之,Apache Commons FileUpload是Java Web开发中处理文件上传不可或缺的工具,它提供了高效、灵活且安全的文件上传解决方案。通过理解和熟练运用这个库,开发者可以轻松地在自己的应用中实现复杂的文件上传功能。
### Commons-FileUpload 实现文件上传下载 #### 知识点概述 Commons-FileUpload 是 Apache 提供的一个用于处理 HTTP 文件上传的组件。它基于 Servlet 规范,并且能够解析来自 `multipart/form-data` 编码类型的 ...
Apache Commons FileUpload的工作原理是基于Servlet API,它解析请求中的多部分数据,这些数据通常是在HTML表单中通过`<input type="file">`元素提交的。在服务器端,FileUpload库会将这些多部分数据分解为单独的...
通过Apache Commons FileUpload和Commons IO库,开发者可以轻松实现JSP中的文件上传功能,同时确保了性能和安全性。这两个库的结合使用,极大地简化了文件上传的复杂性,使得开发者可以专注于业务逻辑,而不是底层的...
Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...
总的来说,`commons-fileupload-1.3.1.jar` 和 `commons-io-2.4.jar` 在Java Web开发中是处理文件上传不可或缺的工具,它们为开发者提供了强大的支持,使得文件上传功能的实现变得既高效又安全。在开发过程中,正确...
标题中的"commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar"涉及的是两个在Java开发中常用的开源库,主要用于处理HTTP协议上传文件的需求。这两个库在JSP(JavaServer Pages)开发中尤为重要,因为它们简化了...
本主题将深入探讨两种常见的Java上传组件——SmartUpload和Commons-Fileupload。 SmartUpload是一个强大的Java上传组件,由Julien DROUET开发,它为JSP和Servlet提供了方便的文件上传功能。SmartUpload提供了一套...
总之,`commons-fileupload-1.2.2.jar`和`commons-io-2.4.jar`是Java Web开发中处理文件上传和下载不可或缺的工具。尽管它们的版本可能不是最新的,但依然能提供可靠的功能,并且在很多现有的系统中广泛使用。理解并...