📄 orderservlet.java
字号:
package ebookshop.servlet;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
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 ebookshop.bean.OrderBean;
import ebookshop.bean.OrderListBean;
import ebookshop.shopcart.*;
public class OrderServlet extends HttpServlet
{
private ServletContext sc;
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
request.setCharacterEncoding("gb2312");
String operation=request.getParameter("operation");
if(operation==null) {operation=""; }
if(operation.equalsIgnoreCase("showorder")) //判断传过来的请求是不是"showorder",如果是则调用doShowOrder()且返回(后面的代码不执行了)
{
this.doShowOrder(request,response);
return;
}
String realName=request.getParameter("realName");
String address=request.getParameter("address");
String postalcode=request.getParameter("postalcode");
String telephone=request.getParameter("telephone");
/*
String sqlStr=request.getParameter("realName")+request.getParameter("address")
+request.getParameter("postalcode")+request.getParameter("telephone");
System.out.println(sqlStr); */
response.setContentType("contentType=text/html;charset=gb2312");
HttpSession session = request.getSession(false);
Integer cid=(Integer)session.getAttribute("cid"); //从session中获得cid
System.out.println(cid);
//long dt= new java.util.Date().getTime();
java.sql.Date date=new java.sql.Date(new java.util.Date().getTime()); //拿到系统当前时间并转换为"2007-07-16"(sql形式)
System.out.println(date);
int oid=new OrderBean().saveUserInf(cid, realName, address, postalcode, telephone,date); //把用户详细信息保存到数据库中
System.out.println(oid);
Integer ooid=new Integer(oid); //将int-->Integer
request.setAttribute("oid", ooid);
String userName=(String)session.getAttribute("userName"); //从session中获得userName
ShoppingCart cart=(ShoppingCart)session.getAttribute(userName); //从session中获得购物车
if(cart==null)
{
this.doBrowseErr(request, response);
return;
}
int bookNumber=0;
float price=(float)0.0;
String bookName=null;
Collection bookInf = cart.getItems();
Iterator it= bookInf.iterator();
while(it.hasNext()) //循环的从购物车中拿出每一购物车项
{
ShopCartItem scitem=(ShopCartItem)it.next();
bookNumber =scitem.getBookNumber();
price=scitem.getBookPrice();
bookName=scitem.getBookName();
System.out.println(bookNumber+"\t"+price+"\t"+bookName);
OrderListBean olb=new OrderListBean();
olb.setBookName(bookName); //动态的给OrderListBean中的属性赋值
olb.setBookNumber(bookNumber);
olb.setPrice(price);
olb.setOid(ooid);
olb.setUserName(userName);
try
{
olb.saveOrderList(); //动态地将每一购物车项信息保存到数据库中
}
catch(Exception e)
{
e.printStackTrace();
}
}
doBrower(request,response); //保存成功后,调用doBrower()显示结果
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
doPost(request,response);
}
//处理"订单查询"的请求的方法
public void doShowOrder(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException
{
String userName=request.getParameter("userName");
Collection orlistInf=new OrderListBean().queryByUserName(userName); //从数据库中拿出此用户名的订单详细信息
request.setAttribute("orlist", orlistInf); //把此用户名的订单详细信息放在请求链中
doBrowerOrder(request,response); //调用doBrowerOrder()
}
public void doBrower(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException
{
sc=getServletContext();
RequestDispatcher rd=sc.getRequestDispatcher("/orderResult.jsp");
rd.forward(request,response); //将请求转发给 orderResult.jsp,来显示提交订单的结果
}
public void doBrowerOrder(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException
{
sc=getServletContext(); //获得一个上下文的对象
RequestDispatcher rd=sc.getRequestDispatcher("/queryorderResult.jsp");
rd.forward(request,response); //将请求转发给queryorderResult.jsp,来显示订单查询的结果.
}
private void doBrowseErr(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
sc=getServletContext();
RequestDispatcher rd=sc.getRequestDispatcher("/login.jsp");
rd.forward(request,response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -