package com.cdtu.servlet;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.cdtu.entity.Food;
import com.cdtu.entity.FoodType;
import com.cdtu.factory.BeanFactory;
import com.cdtu.service.IFoodService;
import com.cdtu.service.IFoodTypeService;
import com.cdtu.utils.PageBean;
public class FoodServlet extends BaseServlet {
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
PageBean<Food> pageBean = new PageBean<Food>();
pageBean.setPageCount(6);
foodService.getAll(pageBean);
List<Food> list = foodService.query();
config.getServletContext().setAttribute("food", list);
config.getServletContext().setAttribute("pb", pageBean);
}
// public void getMenu(HttpServletRequest request,
// HttpServletResponse response) throws ServletException, IOException {
//
// }
public Object list(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object uri = null;
try {
// 1. 获取“当前页”参数; (第一次访问当前页为null)
String currPage = request.getParameter("currentPage");
// 判断
if (currPage == null || "".equals(currPage.trim())) {
currPage = "1"; // 第一次访问,设置当前页为1;
}
// 转换
int currentPage = Integer.parseInt(currPage);
// 2. 创建PageBean对象,设置当前页参数; 传入service方法参数
PageBean<Food> pageBean = new PageBean<Food>();
pageBean.setCurrentPage(currentPage);
pageBean.setPageCount(6);
// 3. 调用service
foodService.getAll(pageBean); // 【pageBean已经被dao填充了数据】
// 4. 保存pageBean对象,到request域中
List<Food> list = pageBean.getPageData();
// 获得食物类别的方法
List<FoodType> types = new ArrayList<FoodType>();
if (list != null) {
for (Food food : list) {
FoodType foodtype = foodTypeService.findById(food.getFoodType_id());
types.add(foodtype);
}
}
request.setAttribute("types", types);
request.setAttribute("pageBean", pageBean);
request.setAttribute("list", list);
uri = request.getRequestDispatcher("/sys/food/foodList.jsp");
} catch (Exception e) {
e.printStackTrace(); // 测试使用
// 出现错误,跳转到错误页面;给用户友好提示
uri = "/error/error.jsp";
}
return uri;
}
public Object findFoodType(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Object uri = null;
List<FoodType> foodtypes = foodTypeService.query();
request.setAttribute("foodtypes", foodtypes);
uri = request.getRequestDispatcher("/sys/food/saveFood.jsp");
return uri;
}
public Object add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object uri = null;
try {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(10 * 1024 * 1024); // 单个文件大小限制
upload.setSizeMax(50 * 1024 * 1024); // 总文件大小限制
upload.setHeaderEncoding("UTF-8"); // 对中文文件编码处理
if (upload.isMultipartContent(request)) {
Food food = new Food();
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list) {
if (item.isFormField()) {// 普通本文内容
String name = item.getFieldName();
// 获取值
String value = item.getString();
value = new String(value.getBytes("ISO-8859-1"),
"UTF-8");
BeanUtils.setProperty(food, name, value);
} else {// 上传内容
String fieldName = item.getFieldName();
String path = getServletContext()
.getRealPath("/upload");
File f = new File(path);
if (!f.exists()) {
f.mkdir();
}
// 全部绝对路径
String name = item.getName();
BeanUtils.setProperty(food, fieldName, "upload/" + name);
// a2. 拼接文件名
File file = new File(path, name);
// d. 上传
if(!file.isDirectory()){
item.write(file);
}
item.delete(); // 删除组件运行时产生的临时文件
}
}
foodService.add(food);
} else {
}
list(request, response);
} catch (Exception e) {
e.printStackTrace();
uri = "/error/error.jsp";
return uri;
}
//
uri = request.getRequestDispatcher("/sys/food/foodList.jsp");
return uri;
}
public Object query(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object uri = null;
try {
List<Food> list = foodService.query();
request.setAttribute("list", list);
// 获得食物类别的方法
List<FoodType> types = new ArrayList<FoodType>();
IFoodTypeService ifs = BeanFactory.getInstance("foodTypeService",
IFoodTypeService.class);
for (Food food : list) {
FoodType foodtype = ifs.findById(food.getFoodType_id());
types.add(foodtype);
}
request.setAttribute("types", types);
uri = request.getRequestDispatcher("/sys/food/foodList.jsp");
} catch (Exception e) {
e.printStackTrace();
uri = "/error/error.jsp";
} finally {
return uri;
}
}
public Object update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object uri = null;
try {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(10 * 1024 * 1024); // 单个文件大小限制
upload.setSizeMax(50 * 1024 * 1024); // 总文件大小限制
upload.setHeaderEncoding("UTF-8"); // 对中文文件编码处理
if (upload.isMultipartContent(request)) {
Food food = new Food();
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list) {
if (item.isFormField()) {// 普通本文内容
String name = item.getFieldName();
// 获取值
String value = item.getString();
value = new String(value.getBytes("ISO-8859-1"),
"UTF-8");
BeanUtils.setProperty(food, name, value);
} else {// 上传内容
String fieldName = item.getFieldName();
String path = getServletContext()
.getRealPath("/upload");//.
File f = new File(path);
if (!f.exists()) {
f.mkdir();
}
String name = item.getName();
if(name!=null && !"".equals(name.trim())){
BeanUtils.setProperty(food, fieldName,
("upload/" + name));//..
// a2. 拼接文件名
File file = new File(path, name);
// d. 上传
if (!file.isDirectory()) {
item.write(file);
}
item.delete(); // 删除组件运行时产生的临时文件
}else{
int id = food.getId();
String img =foodService.findById(id).getImg();
BeanUtils.setProperty(food, "img",img);
}
}
}
foodService.updata(food);
} else {
}
list(request, response);
} catch (Exception e) {
e.printStackTrace();
uri = "/error/error.jsp";
return uri;
}
uri = request.getRequestDispatcher("/sys/food/foodList.jsp");
return uri;
}
public Object delete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object uri = null;
try {
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
javaWEB酒店管理系统源代码(完整版) (348个子文件)
FoodServlet.class 9KB
OrderServlet.class 9KB
FoodDao.class 7KB
FoodTypeServlet.class 4KB
PictureCheckCode.class 4KB
OrdersDao.class 4KB
ManageUserServlet.class 4KB
IndexServlet.class 4KB
VCustomerServlet.class 4KB
DinnerTableDao.class 4KB
FoodTypeDao.class 3KB
BaseServlet.class 3KB
ManageUserDao.class 3KB
DinnerTableServlet.class 3KB
VCustomerDao.class 3KB
LoginFilter.class 3KB
Food.class 2KB
OrderDetailDao.class 2KB
ManageUser.class 2KB
PageBean.class 2KB
FoodService.class 2KB
VCustomer.class 2KB
DinnerTableService.class 2KB
Orders.class 2KB
EncodingFilter.class 2KB
BrowserFilter.class 2KB
DinnerTable.class 2KB
FoodTypeService.class 2KB
OrdersService.class 2KB
VCustomerService.class 2KB
HttpFilter.class 2KB
ManageUserService.class 1KB
OrderDetail.class 1KB
WebUtils.class 1KB
BeanFactory.class 1KB
OrderDetailService.class 1KB
EncodingRequest.class 1KB
Condition.class 1KB
FoodType.class 1KB
IFoodDao.class 786B
JdbcUtils.class 756B
LoginServlet.class 729B
IFoodService.class 680B
IVCustomerService.class 573B
IVCustomerDao.class 561B
IDinnerTableService.class 556B
IFoodTypeService.class 543B
IFoodTypeDao.class 531B
IDinnerTableDao.class 522B
IManageUserService.class 456B
IManageUserDao.class 444B
IOrdersDao.class 441B
IOrdersService.class 429B
IOrderDetailService.class 401B
IOrderDetailDao.class 389B
Customer.class 281B
.classpath 727B
org.eclipse.wst.common.component 479B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.min.css 244KB
bootstrap.min.css 244KB
style.css 113KB
style.css 113KB
font-awesome.css 21KB
font-awesome.css 21KB
style-responsive.css 14KB
style-responsive.css 14KB
layer.css 11KB
layer.css 11KB
gallery.css 10KB
gallery.css 10KB
bootstrap-reset.css 7KB
bootstrap-reset.css 7KB
clndr.css 6KB
clndr.css 6KB
common_style_blue.css 6KB
common_style_blue.css 6KB
index.css 4KB
jquery-scrollbar.css 4KB
jquery-scrollbar.css 4KB
table-responsive.css 3KB
table-responsive.css 3KB
DT_bootstrap.css 3KB
DT_bootstrap.css 3KB
layer.ext.css 3KB
layer.ext.css 3KB
index_1.css 2KB
index_1.css 2KB
tasks.css 2KB
tasks.css 2KB
multi-select.css 2KB
multi-select.css 2KB
invoice-print.css 629B
invoice-print.css 629B
dis_message.css 600B
jquery.stepy.css 433B
jquery.stepy.css 433B
fontawesome-webfont.eot 37KB
fontawesome-webfont.eot 37KB
middle_bg.gif 370KB
共 348 条
- 1
- 2
- 3
- 4
RobinLong2018
- 粉丝: 189
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Surfer,线性函数
- MyBatis 的动态 SQL 是其核心特性之一.txt
- 时代的sdddsddsddsd
- 基于哈希链表的简单人员信息管理系统
- 其他类别JdonFramework开源框架 v5.1 Build20071025-jdonframework-5.1.rar
- 2001~2022年上市公司数字赋能指数.dta
- 2001~2022年上市公司数字赋能指数.xlsx
- 信息办公石大在线财务管理系统(含源码)-shidacaiwu.rar
- 信息办公电信计费系统完整代码-netctossconformity.rar
- matlab实现TD-SCDMA中初始同步捕捉DwPTS下行同步导频时隙的仿真.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页