You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
5.0 KiB
121 lines
5.0 KiB
package servlet;
|
|
|
|
import model.Goods;
|
|
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 service.GoodsService;
|
|
|
|
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 java.io.FileOutputStream;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
@WebServlet(name = "admin_goods_edit",urlPatterns = "/admin/goods_edit")
|
|
public class AdminGoodsEditServlet extends HttpServlet {
|
|
private GoodsService gService = new GoodsService();
|
|
/**
|
|
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
|
|
*/
|
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
//接收参数
|
|
DiskFileItemFactory factory=new DiskFileItemFactory();
|
|
ServletFileUpload upload = new ServletFileUpload(factory);
|
|
try {
|
|
List<FileItem> list = upload.parseRequest(request);
|
|
Goods g = new Goods();
|
|
int pageNumber =1;
|
|
int type=0;
|
|
//参数封装
|
|
for(FileItem item:list) {
|
|
if(item.isFormField()) {
|
|
switch(item.getFieldName()) {
|
|
case "id":
|
|
g.setId(Integer.parseInt(item.getString("utf-8")));
|
|
break;
|
|
case "name":
|
|
g.setName(item.getString("utf-8"));
|
|
break;
|
|
case "price":
|
|
g.setPrice(Float.parseFloat(item.getString("utf-8")));
|
|
break;
|
|
case "intro":
|
|
g.setIntro(item.getString("utf-8"));
|
|
break;
|
|
case "cover":
|
|
g.setCover(item.getString("utf-8"));
|
|
break;
|
|
case "image1":
|
|
g.setImage1(item.getString("utf-8"));
|
|
break;
|
|
case "image2":
|
|
g.setImage2(item.getString("utf-8"));
|
|
break;
|
|
case "stock":
|
|
g.setStock(Integer.parseInt(item.getString("utf-8")));
|
|
break;
|
|
case "typeid":
|
|
g.setTypeid(Integer.parseInt(item.getString("utf-8")));
|
|
break;
|
|
case "pageNumber":
|
|
pageNumber=Integer.parseInt(item.getString("utf-8"));
|
|
break;
|
|
case "type":
|
|
type = Integer.parseInt(item.getString("utf-8"));
|
|
break;
|
|
}
|
|
}else {
|
|
if(item.getInputStream().available()<=0)continue;
|
|
String fileName = item.getName();
|
|
fileName = fileName.substring(fileName.lastIndexOf("."));
|
|
fileName = "/"+new Date().getTime()+fileName;
|
|
String path = this.getServletContext().getRealPath("/picture")+fileName;
|
|
InputStream in = item.getInputStream();
|
|
FileOutputStream out = new FileOutputStream(path);
|
|
byte[] buffer = new byte[1024];
|
|
int len=0;
|
|
while( (len=in.read(buffer))>0 ) {
|
|
out.write(buffer);
|
|
}
|
|
in.close();
|
|
out.close();
|
|
item.delete();
|
|
switch(item.getFieldName()) {
|
|
case "cover":
|
|
g.setCover("/picture"+fileName);
|
|
break;
|
|
case "image1":
|
|
g.setImage1("/picture"+fileName);
|
|
break;
|
|
case "image2":
|
|
g.setImage2("/picture"+fileName);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
gService.update(g);
|
|
request.getRequestDispatcher("/admin/goods_list?pageNumber="+pageNumber+"&type="+type).forward(request, response);
|
|
} catch (FileUploadException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
|
|
*/
|
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
// TODO Auto-generated method stub
|
|
doGet(request, response);
|
|
}
|
|
|
|
}
|
|
|