📄 tb_shopping_action.java
字号:
package com.bookshop.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
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 com.bookshop.dto.*;
import com.bookshop.dao.*;
public class tb_shopping_action extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
doPost(request,response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//购物车的操作
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
HttpSession session =request.getSession();
ArrayList v=(ArrayList)session.getAttribute("cart");//用来存放购物车中的产品
String action=request.getParameter("action");
String isbn=request.getParameter("isbn");
bookinfo_dao dao=new bookinfo_dao();
bookinfo_dto dto=dao.book_sel(isbn);//根据书的编号查询书的信息 返回bookinfo_dto类型
boolean flag=false;
//购物车页
if(action!=null&&action.equals("cart_see")){
//网上调查
ArrayList poll_list=new poll_dao().po_select();
request.setAttribute("poll_list",poll_list);
//公告信息
ArrayList bbs_list=new bbs_dao().bbs_select();
request.setAttribute("bbs_list",bbs_list);
if(v!=null)
request.getRequestDispatcher("../cart_see.jsp").forward(request,response);
else
request.getRequestDispatcher("../cart_null.jsp").forward(request,response);
}
//向购物车中添加商品
System.out.print(v);
if(action!=null&&action.equals("add")){
//网上调查
ArrayList poll_list=new poll_dao().po_select();
request.setAttribute("poll_list",poll_list);
//公告信息
ArrayList bbs_list=new bbs_dao().bbs_select();
request.setAttribute("bbs_list",bbs_list);
if(v==null){
bookshop_dto bookdto=new bookshop_dto();
bookdto.setNumber(1);
bookdto.setIsbn(dto.getIsbn());
bookdto.setBookname(dto.getBookname());
bookdto.setPrice(dto.getPrice());
bookdto.setAmount(dto.getPrice()*1);
ArrayList list=new ArrayList();
list.add(bookdto);
session.setAttribute("cart",list);
request.getRequestDispatcher("../cart_see.jsp").forward(request,response);
flag=true;//如果第一次购买 flag为真
}
//购买重复的商品
else{
for(int i=0;i<v.size();i++){
bookshop_dto bookdto=(bookshop_dto)v.get(i);
if(dto.getIsbn().equals(bookdto.getIsbn())){
//检测购物车中是否有新添加的书
float count=0;
bookdto.setNumber(bookdto.getNumber()+1);//在原来数量基础上+1
count=bookdto.getNumber();
bookdto.setIsbn(dto.getIsbn()); //重设书号
bookdto.setBookname(dto.getBookname()); //重设书名
bookdto.setPrice(dto.getPrice());//书的单价
float n=count * dto.getPrice();
bookdto.setAmount(n);
flag=true;
request.getRequestDispatcher("../cart_see.jsp").forward(request,response);
}
}
if(flag!=true){
//购买不重复的书
bookshop_dto bookdto=new bookshop_dto();
bookdto.setNumber(1);
bookdto.setIsbn(dto.getIsbn());
bookdto.setBookname(dto.getBookname());
bookdto.setPrice(dto.getPrice());
bookdto.setAmount(dto.getPrice()*1);
v.add(bookdto);
session.setAttribute("cart",v);
request.getRequestDispatcher("../cart_see.jsp").forward(request,response);
}
}
}
// 修改商品的数量
if(action!=null&&action.equals("update")){
//网上调查
ArrayList poll_list=new poll_dao().po_select();
request.setAttribute("poll_list",poll_list);
//公告信息
ArrayList bbs_list=new bbs_dao().bbs_select();
request.setAttribute("bbs_list",bbs_list);
for(int i=0;i<v.size();i++){
String book_name;
int num;
try{
book_name=request.getParameter("bookname"+i);
}catch(Exception e){book_name="";}
try{
num=Integer.parseInt(request.getParameter("num"+i));
}catch(Exception e){num=0;}
System.out.print("hello");
if(book_name!=null&&num!=0){
bookshop_dto book_dto=(bookshop_dto)v.get(i);
if(book_name.equals(book_dto.getBookname())){
book_dto.setNumber(num);
book_dto.setAmount(num*book_dto.getPrice());
request.getRequestDispatcher("../cart_see.jsp").forward(request,response);
}
}
}
}
// 删除购物车中的商品
if(action!=null&&action.equals("del")){
//网上调查
ArrayList poll_list=new poll_dao().po_select();
request.setAttribute("poll_list",poll_list);
//公告信息
ArrayList bbs_list=new bbs_dao().bbs_select();
request.setAttribute("bbs_list",bbs_list);
int id=Integer.parseInt(request.getParameter("id"));
for(int i=0;i<v.size();i++)
{
v.remove(id);
request.getRequestDispatcher("../cart_see.jsp").forward(request,response);
}
}
//清空购物车
if(action!=null&&action.equals("cart_clear")){
//网上调查
ArrayList poll_list=new poll_dao().po_select();
request.setAttribute("poll_list",poll_list);
//公告信息
ArrayList bbs_list=new bbs_dao().bbs_select();
request.setAttribute("bbs_list",bbs_list);
session.removeAttribute("cart");
request.getRequestDispatcher("../cart_null.jsp").forward(request,response);
}
//去收银台结账
if(action!=null&&action.equals("check_out")){
//网上调查
ArrayList poll_list=new poll_dao().po_select();
request.setAttribute("poll_list",poll_list);
//公告信息
ArrayList bbs_list=new bbs_dao().bbs_select();
request.setAttribute("bbs_list",bbs_list);
String username=session.getAttribute("username").toString();
member_dto user_dto=new member_dao().sel(username);
request.setAttribute("user_dto",user_dto);
request.setAttribute("bnumber",request.getParameter("bnumber"));
request.getRequestDispatcher("../cart_checkout.jsp").forward(request,response);
}
//提交表单 将表单中的数据提交到数据库中
if(action!=null&&action.equals("form_sub")){
order_dto order=new order_dto();
order.setUsername(request.getParameter("username"));
order.setTruename(request.getParameter("truename"));
order.setAddress(request.getParameter("address"));
order.setPostcode(request.getParameter("postcode"));
order.setTel(request.getParameter("tel"));
order.setPay(request.getParameter("pay"));
order.setCarry(request.getParameter("carry"));
order.setEmail(request.getParameter("email"));
order.setBz(request.getParameter("bz"));
order.setBnumber(request.getParameter("bnumber"));
order_detail_dao ord=new order_detail_dao();
int n=new order_dao().order_add(order);//提交表单中的内容
if(n>0){
order_dto getid=new order_dao().orderid();//获取生成的订单号
int orderid=Integer.parseInt(getid.getOrderid());
ArrayList list=(ArrayList)session.getAttribute("cart");//读取购物车中的商品信息
for(int i=0;i<list.size();i++){
bookshop_dto dto1=(bookshop_dto)list.get(i);
int m=ord.add(dto1,orderid);//将购物车中的商品添加到数据库
}
out.print("<script>alert('成功 您的定单号是: "+orderid+"');window.location.href='../index.jsp';</script>");
}
else
out.print("sorrys");
request.getRequestDispatcher("tb_bookinfo_action?action=index_page").forward(request,response);
}
out.flush();
out.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -