导入jspSmartUpload.jar包
servlet代码
package product;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.Request;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
import dao.ProductDao;
import pojo.Product;
@WebServlet("/manager/admin_doproductadd")
public class DoProductAdd extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建smartupload对象
SmartUpload su = new SmartUpload();
//初始化
su.initialize(this.getServletConfig(), request, response);
//上传过程
try {
su.upload();
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//获取上传的文件对象
Files fs = su.getFiles();
File f = fs.getFile(0);//由于只上传了一个,所以直接获取0号元素
String fname = f.getFilePathName();//xx.jpg
try {
//此处由于是上传到发布路径下,所以开发路径下没有该图片,项目目录下有图片
su.save("/images/product");
} catch (SmartUploadException e) {
e.printStackTrace();
}
//原来的request获取不到原来表单的参数,需要SmartUpload对象的request获取表单中的参数
Request req1 = su.getRequest();
String productname = req1.getParameter("pruductname");
String picture = req1.getParameter("picture");
String price = req1.getParameter("price");
String desc = req1.getParameter("desc");
String stock = req1.getParameter("stock");
Product p = new Product();
p.setProduct_filename(productname);
p.setProduct_describe(desc);
p.setProduct_filename(fname);
p.setProduct_price(Double.parseDouble(price));
p.setProduct_stock(Integer.parseInt(stock));
p.setProduct_name(productname);
int flag = ProductDao.insert(p);
if(flag>0) {
response.sendRedirect("admin_doproductselect");
}else {
PrintWriter out = response.getWriter();
out.print("<script>");
out.print("alert('增加失败');");
out.print("location.href='admin_toproductadd';");
out.print("</script>");
}
}
}复制
HTML
<form action="/shopproject/manager/admin_doproductadd" enctype="multipart/form-data" method="post" name="myform">
<table>
<tr>
<td>图书名字:<input class="common-text required" id="" name="pruductname" size="50" value="" type="text">
</td>
</tr>
<tr>
<td>图书图片:<input class="common-text required" id="" name="picture" size="50" value="" type="file">
</td>
</tr>
<tr>
<td> 图书价格: <input class="common-text required" id="" name="price" size="50" value="" type="text">
</td>
</tr>
<tr>
<td> 图书描述:<input class="common-text required" id="" name="desc" size="120" value="" type="text">
</td>
</tr>
<tr>
<td> 图书库存:<input class="common-text required" id="" name="stock" size="50" value="" type="text">
</td>
</tr>
</form>复制
总结:
需要导入jspSmartUpload.jar
表单form加上属性enctype="multipart/form-data",提交方式为post
需要用SmartUpload重新获取request对象才能获取表单对应的内容
文章转载自JAVA不归路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Java萌新修炼手册⑥:面向对象の修仙奥义——从"散修"到"宗门大佬"的基因飞升!
让天下没有难学的编程
46次阅读
2025-04-25 10:10:40
Java萌新修炼手册②:Hello Worldの108种写法——从入门到入坟!
让天下没有难学的编程
46次阅读
2025-04-21 10:34:36
从 Java 到 Go:面向对象的巨人与云原生的轻骑兵
京东云开发者
37次阅读
2025-04-25 11:41:37
Java萌新修炼手册⑤:数组の千层套路——从"鸽子笼"到"摩天楼"的进阶之路!
让天下没有难学的编程
34次阅读
2025-04-25 10:10:41
Java萌新修炼手册④:流程控制の三十六计——让代码学会"见风使舵"!
让天下没有难学的编程
29次阅读
2025-04-23 14:33:55
Java萌新修炼手册①:开局一把JDK,环境搭建全靠浪!
让天下没有难学的编程
23次阅读
2025-04-21 10:34:37
5.8 | Java 23:JavaDoc 重大升级,支持Markdown文档注释
严少安
22次阅读
2025-05-12 00:34:42
java浅拷贝BeanUtils.copyProperties引发的RPC异常
京东云开发者
19次阅读
2025-04-30 17:10:50
Java程序使用预处理语句的性能提升
GreatSQL社区
17次阅读
2025-04-23 11:18:50
解锁 Postgres 扩展日!与瀚高共探 C/Java 跨语言扩展技术的边界与未来
IvorySQL开源数据库社区
14次阅读
2025-05-08 10:04:53