package cn.edu.aynu.rjxy.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import cn.edu.aynu.rjxy.bean.Admin;
import cn.edu.aynu.rjxy.bean.Order;
import cn.edu.aynu.rjxy.bean.Page;
import cn.edu.aynu.rjxy.bean.Product;
import cn.edu.aynu.rjxy.service.AdminService;
import cn.edu.aynu.rjxy.service.OrderService;
import cn.edu.aynu.rjxy.service.ProductService;
import cn.edu.aynu.rjxy.utils.CommonsUtils;
public class AdminServlet extends HttpServlet{
private AdminService aService = new AdminService();
private ProductService ps = new ProductService();
private OrderService os = new OrderService();
private static final long serialVersionUID = 1L;
// 上传文件存储目录
private static final String UPLOAD_DIRECTORY = "img";
// 上传配置
private static final int MEMORY_THRESHOLD = 1024 * 1024 * 3; // 3MB
private static final int MAX_FILE_SIZE = 1024 * 1024 * 40; // 40MB
private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 50; // 50MB
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 处理中文乱码
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
// 获取隐藏字段method的值,并把它转换为int型
int method = Integer.parseInt(request.getParameter("method"));
switch (method) {
case 1:
this.login(request, response);
break;
case 2:
this.query(request, response);
break;
case 3:
this.add(request, response);
break;
case 4:
this.loadForUpdate(request, response);
break;
case 5:
this.edit(request, response);
break;
case 6:
this.delete(request, response);
break;
case 7:
this.order(request, response);
break;
case 8:
this.uploadpicture(request, response);
break;
case 9:
this.uploadForpicture(request, response);
break;
}
}
// 管理员登录
public void login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 从请求中解析用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
// 执行加载业务
Admin a = aService.login(username, password);
if (a != null) {
HttpSession session = request.getSession();
session.setAttribute("userId", a.getId());
response.getWriter().print("登录成功" + a.getId());
// 通过请求转发将pb带到list.jsp上去
request.getRequestDispatcher("/admin/home.jsp").forward(request,
response);
} else {
response.getWriter().print("登录失败,即将跳转到登录页面,请重新登录......");
response.setHeader("Refresh", "3;url=/shopping/admin/login.jsp");
}
}
// 管理员查看商品
public void query(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 当前页有一个默认值为1
int pageCode = 1;
String s = request.getParameter("pageCode");
// 如果请求中存在pageCode参数
if (s != null && !s.trim().isEmpty()) {
pageCode = Integer.parseInt(s);
}
// 查询当前页的记录
Page pb = ps.queryByPage(pageCode);
// 将pb保存在request域中
request.setAttribute("pb", pb);
// 通过请求转发将pb带到list.jsp上去
request.getRequestDispatcher("/admin/list.jsp").forward(request,
response);
}
// 管理员添加商品
public void add(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 使用CommonUtils工具类将请求数据封装到bean中
Product p = CommonsUtils.toBean(request.getParameterMap(),
Product.class);
// 使用UUID作为id属性的值
p.setId(CommonsUtils.uuid());
// p.setImgurl(uploadPath);
// 执行添加
ps.add(p);
// 输出添加成功提示
response.getWriter().print("添加成功......");
}
// 加载商品为修改做准备
public void loadForUpdate(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 从请求中获取客户的id
String id = request.getParameter("id");
// 执行加载业务
Product p = ps.findById(id);
// 将Customer对象c保存在request域中
request.setAttribute("product", p);
// t=通过请求转发将customer对象显示在list.jsp页面上
request.getRequestDispatcher("/admin/edit.jsp").forward(request,
response);
}
// 管理员修改商品信息
public void edit(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 使用CommonUtils工具类将请求数据封装到bean中
Product p = CommonsUtils.toBean(request.getParameterMap(),
Product.class);
// 执行更改业务
ps.edit(p);
// 给客户端发送更改成功提示
response.getWriter().print("更改成功......");
}
// 管理员删除商品
public void delete(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 从请求中获取id
String id = request.getParameter("id");
// 执行删除
ps.delete(id);
// 给客户端发送删除成功提示
response.getWriter().print("删除成功......");
}
// 管理员查看所有订单
public void order(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<Order> list = os.findAllOrder();
request.setAttribute("allorderList", list);
request.getRequestDispatcher("/admin/orderproduct.jsp").forward(
request, response);
}
// 为上传照片做准备
public void uploadForpicture(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
Product p = ps.findById(id);
System.out.println(id + "id");
ps.upload(p, id);
// 将Customer对象c保存在request域中
request.setAttribute("product", p);
// t=通过请求转发将customer对象显示在list.jsp页面上
request.getRequestDispatcher("/admin/upload.jsp").forward(request,
response);
}
// 管理员上传照片
public void uploadpicture(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 检测是否为多媒体上传
if (!ServletFileUpload.isMultipartContent(request)) {
// 如果不是则停止
PrintWriter writer = response.getWriter();
writer.println("Error: 表单必须包含 enctype=multipart/form-data");
writer.flush();
return;
}
// 配置上传参数
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置内存临界值 - 超过后将产生临时文件并存储于临时目录中
factory.setSizeThreshold(MEMORY_THRESHOLD);
// 设置临时存储目录
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置最大文件上传值
upload.setFileSizeMax(MAX_FILE_SIZE);
// 设置最大请求值 (包含文件和表单数据)
upload.setSizeMax(MAX_REQUEST_SIZE);
// 构造临时路径来存�
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaweb网上商城项目包含数据库(eclipse+mysql)
共171个文件
jpg:44个
class:23个
java:23个
需积分: 45 50 下载量 79 浏览量
2019-01-15
10:41:36
上传
评论 13
收藏 4.75MB RAR 举报
温馨提示
项目主要对于学习用的,使用eclipse+mysql数据库,包括前后台功能
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb网上商城项目包含数据库(eclipse+mysql) (171个子文件)
AdminServlet.class 9KB
OrderServlet.class 6KB
ProductDao.class 4KB
ProductServlet.class 4KB
OrderDao.class 3KB
UserServlet.class 3KB
OrderService.class 3KB
OrderItemDao.class 3KB
Order.class 3KB
ProductService.class 2KB
JDBCUtils.class 2KB
Product.class 2KB
OrderItem.class 2KB
Page.class 2KB
UserDao.class 2KB
UserService.class 1KB
CommonsUtils.class 1KB
User.class 1KB
AdminDao.class 1KB
DateConverter.class 1KB
Admin.class 933B
AdminService.class 820B
UserException.class 753B
.classpath 668B
org.eclipse.wst.common.component 550B
org.eclipse.wst.jsdt.ui.superType.container 49B
User_Login.css 6KB
index.css 3KB
order.css 2KB
product.css 1KB
login.css 1KB
user_top_c.gif 7KB
user_botton.gif 6KB
user_top_l.gif 6KB
user_bottom_c.gif 5KB
user_bottom_r.gif 4KB
admin_p.gif 4KB
user_bottom_l.gif 4KB
user_top_r.gif 4KB
user_main_l.gif 3KB
user_main_r.gif 3KB
user_main_c.gif 2KB
user_login_name.gif 2KB
user_login_password.gif 1KB
user_login_validatecode.gif 1KB
login_6.gif 898B
user_all_bg.gif 811B
bt_login.gif 300B
menu_icon.gif 64B
mysql-connector-java-5.1.7-bin.jar 693KB
mchange-commons-0.2.jar 538KB
commons-beanutils-1.8.3.jar 510KB
standard.jar 505KB
c3p0-0.9.2-pre1.jar 414KB
jstl-1.2.jar 405KB
jstl-impl-1.2.2.jar 393KB
commons-io-2.2.jar 170KB
commons-logging-1.1.1.jar 126KB
commons-dbutils-1.6.jar 76KB
commons-fileupload-1.3.2.jar 69KB
javax.servlet.jsp.jstl.jar 44KB
c3p0-oracle-thin-extras-0.9.2-pre1.jar 3KB
AdminServlet.java 10KB
OrderServlet.java 6KB
UserServlet.java 3KB
ProductServlet.java 3KB
ProductDao.java 3KB
OrderService.java 2KB
OrderDao.java 2KB
JDBCUtils.java 2KB
ProductService.java 2KB
Order.java 2KB
OrderItemDao.java 2KB
UserService.java 2KB
Page.java 1KB
Product.java 1KB
OrderItem.java 1KB
UserDao.java 986B
User.java 891B
AdminDao.java 789B
CommonsUtils.java 754B
DateConverter.java 704B
Admin.java 574B
AdminService.java 487B
UserException.java 358B
p1.jpg 179KB
04.jpg 140KB
03.jpg 117KB
background.jpg 97KB
02.jpg 86KB
p2.jpg 70KB
left.jpg 69KB
01.jpg 47KB
09.jpg 44KB
05.jpg 39KB
24.jpg 25KB
16.jpg 22KB
28.jpg 22KB
27.jpg 20KB
22.jpg 18KB
共 171 条
- 1
- 2
资源评论
Linweiqiang5
- 粉丝: 4
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功