package bookcart;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Hashtable;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 控制器 Servlet: ControlServlet
*/
public class ControlServlet extends javax.servlet.http.HttpServlet implements
javax.servlet.Servlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 获得Session
HttpSession session = request.getSession(true);
// 得到请求上来的命令
String command = request.getParameter("command");
// 返回页面
String targetPage = null;
// 根据相应的命令带调用不同的操作
if (command.equalsIgnoreCase("login")) { // 登录
MemberDAO member = new MemberDAO();
String memberName = member.getMemberName(request
.getParameter("txtMail"), request.getParameter("txtPwd"));
if (memberName != null) { // 登录成功,转向图书浏览页
// 在session记录登录会员的会员ID和会员名
session.setAttribute("memberName", memberName);
session.setAttribute("memberID", member.getMemberID());
// 会员还没有购物车,将购物车开关关闭
session.setAttribute("haveCart", false);
// forward到booklist.jsp
targetPage = "/booklist.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else { // 登录失败,返回登录页
targetPage = "/login.jsp";
// 在中记录loginErron
session.setAttribute("loginErron", "会员名或密码错误");
// forward到login.jsp
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
}
} else if (command.equalsIgnoreCase("addtocart")) { // 加入购物车
// 新建一部购物车
if (session.getAttribute("bookcartID") == null) {
BookCartDAO bookcart = new BookCartDAO();
// 取得登录会员的ID
Integer memberID = (Integer) session.getAttribute("memberID");
// 获取当前时间
Calendar cal = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
String createTime = formatter.format(cal.getTime());
// 新建购物车
bookcart.createABookCart(memberID, createTime);
// 会员已经拥有购物车,将购物车开关打开
session.setAttribute("haveCart", true);
// 将购物车ID加入会话
session.setAttribute("bookcartID", bookcart.getBookCartID());
// 将购物车加入会话
session.setAttribute("bookcart", bookcart);
}
// 向购物车添加一本书
// 获得购物车
BookCartDAO bookcart = (BookCartDAO) session
.getAttribute("bookcart");
// 获得购物车ID
int bookCartID = (Integer) session.getAttribute("bookcartID");
// 获得图书ID
int bookID = Integer.valueOf((String) request
.getParameter("bookID"));
CartListDAO cartlist = new CartListDAO();
// 查询购物车中该书原有数量
int bookCountInCart = cartlist.getBookCount(bookCartID, bookID);
// 若无该书则新添加一本到购物车
if (bookCountInCart == 0) {
cartlist.appendABook(bookCartID, bookID, Float
.valueOf((String) request.getParameter("disPrice")), 1);
} else {
// 若已有该书,则数量增1
cartlist.updateBookCount(bookCartID, bookID, 1);
}
// 打开图书添加开关,表示图书添加成功
session.setAttribute("isAddBookSucceed", true);
// 购物车中的图书总数加1,总价格加该本书的折扣价
bookcart.updateCartData(bookCartID, Double.valueOf(request
.getParameter("disPrice")), 1);
// forward到booklist.jsp
targetPage = "/booklist.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else if (command.equalsIgnoreCase("checkcartlist")) {// 查看购物车
// forward到cartlist.jsp
targetPage = "/cartlist.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else if (command.equalsIgnoreCase("modifybookcount")) {// 修改图书数量
// 获得购物车ID
int bookCartID = (Integer) session.getAttribute("bookcartID");
// 获得需要修改数量图书的ID
int operBookID = Integer.valueOf((String) request
.getParameter("operBookID"));
// 获得购物车中原有数量
int bookCount = Integer.valueOf((String) request
.getParameter("bookCount"));
// 获得需要会员修改的数量
int operBookCount = Integer.valueOf((String) request
.getParameter("operBookCount"));
// 得到图书数量增量
int bookCountIncrement = operBookCount - bookCount;
// 得到图书价格增量
double bookPriceIncrement = bookCountIncrement
* Double.valueOf((String) request.getParameter("disPrice"));
// 更新购物车清单中的图书数量
CartListDAO cartlist = new CartListDAO();
cartlist
.updateBookCount(bookCartID, operBookID, bookCountIncrement);
// 更新购物车中图书的总数量和总价格
BookCartDAO bookcart = (BookCartDAO) session
.getAttribute("bookcart");
bookcart.updateCartData(bookCartID, bookPriceIncrement,
bookCountIncrement);
// forward到cartlist.jsp
targetPage = "/cartlist.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else if (command.equalsIgnoreCase("deletebook")) {// 删除图书
// 获得购物车ID
int bookCartID = (Integer) session.getAttribute("bookcartID");
// 获得需要 删除图书的ID
int operBookID = Integer.valueOf((String) request
.getParameter("operBookID"));
// 得到图书数量增量
int bookCountIncrement = 0 - Integer.valueOf((String) request
.getParameter("bookCount"));
// 得到图书价格增量
double bookPriceIncrement = bookCountIncrement
* Double.valueOf((String) request.getParameter("disPrice"));
// 删除购物车清单中的图书
CartListDAO cartlist = new CartListDAO();
cartlist.deleteBooks(bookCartID, operBookID);
// 更新购物车中图书的总数量和总价格
BookCartDAO bookcart = (BookCartDAO) session
.getAttribute("bookcart");
bookcart.updateCartData(bookCartID, bookPriceIncrement,
bookCountIncrement);
// forward到cartlist.jsp
targetPage = "/cartlist.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else if (command.equalsIgnoreCase("continueshopping")) {// 继续选购图书
// forward到booklist.jsp
targetPage = "/booklist.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else if (command.equalsIgnoreCase("orderform")) {// 下订单
// forward到order.jsp
targetPage = "/order.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(targetPage);
dispatcher.forward(request, response);
} else if (command.equalsIgnoreCase("order")) {// 购物清单
// 如果会员还没有提交订单,执行下面的语句。否则不要执行,因为会导致以下数据错误
// 向订单表中插入一条新订单,并且购物清单中也没有数据(因为此前购物车及购物车清单已经被删除)
if (!(Boolean) session.getAttribute("isCommitOrderSucceed")) {
/*-------------------------------新建订单必需的数据------------------------------------*/
// 取得登录会员的ID
Integer memberID = (Integer) session.getAttribute("memberID");
// 获取当前时间
Calendar cal = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
String orderTime = formatter.fo
没有合适的资源?快使用搜索试试~ 我知道了~
JSP购物车系统(SQL Server2000版)
共42个文件
class:10个
java:10个
jsp:6个
4星 · 超过85%的资源 需积分: 9 18 下载量 67 浏览量
2009-06-02
23:05:58
上传
评论
收藏 727KB ZIP 举报
温馨提示
使用JavaBean和JSP ,模块划分详细,具有选购的功能,结账部分也很全面,采用的是MVC思想,提供的资料是个人手编的,有什么不好的,还望多指正,内容不是很多,但相信对大家的学习会很有帮助的。(研究了几种传统的边缘检测算法,并初步分析了他们的优缺点。针对经典边缘检测算法的不足,提出了一种二值化图像边缘检测算法。通过实验对比了传统边缘检测算法和本文算法提取的标准板上圆的边缘图像。)
资源推荐
资源详情
资源评论
收起资源包目录
BookCart.zip (42个子文件)
BookCart
.project 1KB
.settings
.jsdtscope 500B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 297B
WebRoot
login.jsp 2KB
WEB-INF
web.xml 2KB
lib
msbase.jar 280KB
mssqlserver.jar 65KB
msutil.jar 58KB
classes
bookcart
DBAccess.class 4KB
CartListDAO.class 4KB
OrderDAO.class 4KB
ControlServlet.class 7KB
BookCartDAO.class 4KB
MemberDAO.class 2KB
filter
EncodingFilter.class 2KB
BookDAO.class 2KB
org
gwc
Register.class 1KB
servlet
gwc
Reg_user.class 4KB
META-INF
MANIFEST.MF 39B
cartlist.jsp 9KB
register.jsp 3KB
orderlist.jsp 5KB
order.jsp 6KB
booklist.jsp 5KB
images
queding.gif 482B
shanchu.gif 102B
goumai.gif 501B
database
BookShop_Data.MDF 1.5MB
BookShop_Log.LDF 1024KB
.myeclipse
src
bookcart
MemberDAO.java 2KB
CartListDAO.java 4KB
BookDAO.java 758B
BookCartDAO.java 4KB
ControlServlet.java 10KB
filter
EncodingFilter.java 1KB
OrderDAO.java 4KB
DBAccess.java 3KB
org
gwc
Register.java 709B
servlet
gwc
Reg_user.java 3KB
.classpath 574B
共 42 条
- 1
资源评论
- oGerald12012-12-26你好,,我不要知道你这个数据库是怎么连接的,主要是在代码里不知道在哪有数据库连接,我已经导入了3个包,rs.getBigDecimal("bookPrice", 2)这段,我这显示也是The method getBigDecimal(String, int) from the type ResultSet is deprecated,,,不知道哪里有错了,求答案,亲
tangguoqing
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功