parent
2b9dc5946a
commit
9b868f6b83
@ -0,0 +1,120 @@
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in new issue