package servlet.admin;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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 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;
import model.Goods;
import model.Type;
import service.GoodsService;
import service.TypeService;
import service.imp.GoodsServiceImp;
import service.imp.TypeServiceImp;
/**
* 添加-修改-商品
* @author CY
*/
@WebServlet({ "/admin-goods-add", "/admin-goods-update"})
public class AdminUpdataGoods extends HttpServlet {
private static final long serialVersionUID = 1L;
private GoodsService goodsService = new GoodsServiceImp();
public AdminUpdataGoods() {super();}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
// response.getWriter().append(request.getServletPath());
if(request.getServletPath().equals("/admin-goods-update")) {
int goodsID = Integer.parseInt(request.getParameter("goodsID"));
Goods goods = goodsService.getGoodByID(goodsID);
request.setAttribute("goods", goods);
request.getRequestDispatcher("/admin/goods_update.jsp").forward(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean flag = false;
GoodsService goodsService = new GoodsServiceImp();
Goods goods = new Goods();
try {
//保存文件
//创建DiskFileItemFactory文件项工厂对象
DiskFileItemFactory factory = new DiskFileItemFactory();
//文件缓存路径
String uploadPath = getServletContext().getRealPath("/picture2");
System.out.println(uploadPath);
File f = new File(uploadPath);
if(!f.exists()) {
f.mkdirs();
}
//设置文件缓存路径
factory.setRepository(f);
//通过工厂对象获取文件上传请求核心解析类ServletFileUpload
ServletFileUpload fileUpload = new ServletFileUpload(factory);
//设置字符编码
fileUpload.setHeaderEncoding("utf-8");
//解析文件列表
List<FileItem> fileItems = fileUpload.parseRequest(request);
//遍历
for(FileItem fileItem:fileItems) {
//判断是否为普通字段
String value;
if(fileItem.isFormField()){
value = fileItem.getString("utf-8");
if(fileItem.getFieldName().equals("goodsID")){
goods = goodsService.getGoodByID(Integer.parseInt(value));
System.out.println(goods);
}
}else {
//保存文件
//上传的文件名(获取后缀)
String name = fileItem.getName();
//文件名(时间戳)
String fileName = System.currentTimeMillis()+"."+name.substring(name.lastIndexOf(".") + 1);
//合成路径
String Urlpath = "/picture/"+fileName;
String filePath = getServletContext().getRealPath(Urlpath);
if(filePath == null) {System.out.println("没有修改图片");continue;}
//创建文件
File file = new File(filePath);
file.getParentFile().mkdirs();
file.createNewFile();
//获取上传文件的文本流
InputStream in = fileItem.getInputStream();
//打开文件
FileOutputStream out = new FileOutputStream(file);
//复制流
byte[] buffer = new byte[1024];
int len;
while((len=in.read(buffer))>0) {
out.write(buffer,0, len);
}
//关闭流
in.close();
out.close();
//删除临时文件
fileItem.delete();
System.out.println("文件上传成功");
value = Urlpath;
}
switch (fileItem.getFieldName()) {
case "username":
goods.setName(value);
break;
case "intro":
goods.setIntro(value);
break;
case "cover":
goods.setCover(value);
break;
case "image1":
goods.setImage1(value);
break;
case "image2":
goods.setImage2(value);
break;
case "stock":
goods.setStock(Integer.parseInt(value));
break;
case "typeid":
TypeService typeService = new TypeServiceImp();
Type type = typeService.getTypeByID(Integer.parseInt(value));
goods.setType(type);
break;
case "price":
goods.setPrice(Float.parseFloat(value));
break;
}
}
switch (request.getServletPath()) {
case "/admin-goods-add":
if(goodsService.insert(goods)) {flag = true;}
break;
case "/admin-goods-update":
System.out.println(goods);
if(goodsService.update(goods)) {flag = true;}
break;
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
request.setAttribute("msg","文件列表解析失败");
request.getRequestDispatcher("fail.jsp").forward(request, response);
return;
}
if(flag) {
request.getRequestDispatcher("succend.jsp").forward(request, response);
}else {
request.getRequestDispatcher("fail.jsp").forward(request, response);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JavaWeb 蛋糕商城
共225个文件
java:52个
class:52个
jpg:45个
28 下载量 99 浏览量
2023-06-14
19:39:32
上传
评论 16
收藏 10.97MB ZIP 举报
温馨提示
包含功能 1. 客户管理 (1) 用户 ① 登入 1) 退出登入 ② 注册 ③ 修改地址或密码等信息 (2) 管理员 ① 登入 ② 添加客户(管理员) ③ 修改客户信息 ④ 删除客户 ⑤ 重置用户密码 2. 商品管理 (1) 购物车(cookie-json) (2) 商品管理 ① 添加商品(文件上传) ② 修改\删除商品 ③ 商品分类 ④ 商品类目(分类管理) ⑤ 商品搜索 ⑥ 加入\删除推荐 1) 条幅推荐 2) 热销推荐 3) 新品推荐 3. 订单 (1) 用户 ① 提交订单 (2) 管理员 ① 查询订单列表 ② 删除订单
资源推荐
资源详情
资源评论
收起资源包目录
JavaWeb 蛋糕商城 (225个子文件)
AdminUpdataGoods.class 7KB
UserOrder.class 5KB
UserDaoImp.class 5KB
GoodsDaoImp.class 5KB
Order.class 5KB
UserGoodsListServlet.class 4KB
Goods.class 4KB
OrderDaoImp.class 4KB
TypeDaoImp.class 4KB
AdminAddUserServlet.class 4KB
RecommendDaoImp.class 3KB
AdminGoodList.class 3KB
UpdateUserData.class 3KB
User.class 3KB
UserShopCar.class 3KB
ShopCar.class 3KB
AdminUserOrder.class 3KB
AdminUpdateMessageServlet.class 3KB
AdminLoginServlet.class 3KB
UserLoginServlet.class 3KB
LoginFilter.class 3KB
AdminType.class 2KB
AdminUpdataRecommend.class 2KB
UserRegisterServlet.class 2KB
AdminResetPwdServlet.class 2KB
GoodsServiceImp.class 2KB
OrderServiceImp.class 2KB
UserServiceImp.class 2KB
EncodeFilter.class 2KB
RecommendServiceImp.class 2KB
TypeServiceImp.class 2KB
DataBaseUtils.class 2KB
AdminDeleteUserServlet.class 2KB
AdminQueryAllServlet.class 2KB
OrderItem.class 2KB
UserShowShop.class 2KB
AdminDeleteGoods.class 2KB
UserIndex.class 2KB
TypeListen.class 1KB
PageUtils.class 1KB
Type.class 1KB
GoodsDao.class 995B
UserDao.class 893B
OrderDao.class 658B
GoodsService.class 567B
TypeDao.class 563B
OrderService.class 550B
TypeService.class 465B
UserService.class 432B
RecommendDao.class 426B
File.class 367B
RecommendService.class 348B
.classpath 737B
org.eclipse.wst.common.component 497B
org.eclipse.wst.jsdt.ui.superType.container 49B
nav.css 3KB
nav.css 3KB
common.css 2KB
common.css 2KB
shop_car.css 2KB
shop_car.css 2KB
shop_index.css 982B
shop_index.css 963B
hot_now.css 930B
shop_show.css 930B
hot_now.css 912B
shop_show.css 893B
login_form.css 665B
login_form.css 648B
shop_order.css 545B
shop_order.css 526B
mysql-connector-java-8.0.29.jar 2.4MB
mysql-connector-java.jar 2.4MB
mchange-commons-java.jar 617KB
c3p0-0.9.5.4.jar 488KB
standard.jar 384KB
commons-io-2.11.0.jar 319KB
commons-beanutils-1.9.3.jar 240KB
commons-dbutils-1.7.jar 95KB
commons-fileupload-1.4.jar 71KB
commons-logging-1.2.jar 60KB
jstl.jar 20KB
AdminUpdataGoods.java 5KB
UserOrder.java 5KB
UserDaoImp.java 4KB
GoodsDaoImp.java 4KB
UserGoodsListServlet.java 3KB
OrderDaoImp.java 3KB
Goods.java 3KB
TypeDaoImp.java 3KB
AdminAddUserServlet.java 3KB
RecommendDaoImp.java 3KB
Order.java 3KB
AdminGoodList.java 3KB
UpdateUserData.java 2KB
User.java 2KB
OrderServiceImp.java 2KB
GoodsServiceImp.java 2KB
UserShopCar.java 2KB
AdminUserOrder.java 2KB
共 225 条
- 1
- 2
- 3
资源评论
超级小的大杯柠檬水
- 粉丝: 670
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功