确认订单
实现功能:
用户在购物车页面点击“确认订单”,在数据库将之前提交的订单的状态改为已支付,并向数据库写入收货人、收获地址、电话等信息;
确认订单后跳转到我的订单页面。
order_info.jsp
修改order_info.jsp中的以下代码,当点击”确认订单“时将表单信息提交。
<form class="form-horizontal" id="form" method="post" action="${pageContext.request.contextPath}/product"
style="margin-top: 5px; margin-left: 150px;">
<input type="hidden" name="method" value="submitOrder">
<input type="hidden" name="oid" value="${order.oid}">
<div class="form-group">
<label for="username" class="col-sm-1 control-label">地址</label>
<div class="col-sm-5">
<input type="text" class="form-control" name="address" id="username"
placeholder="请输入收货地址">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-1 control-label">收货人</label>
<div class="col-sm-5">
<input type="text" class="form-control" name="username" id="inputPassword3"
placeholder="请输收货人">
</div>
</div>
<div class="form-group">
<label for="confirmpwd" class="col-sm-1 control-label">电话</label>
<div class="col-sm-5">
<input type="text" name="phone" class="form-control" id="confirmpwd"
placeholder="请输入联系方式">
</div>
</div>
</form>
<hr />
<div style="margin-top: 5px; margin-left: 150px;">
<hr />
<p style="text-align: right; margin-right: 100px;">
<a href="#" onclick="submitOrder()">
<img src="./images/finalbutton.gif" width="204" height="51"
border="0" />
</a>
</p>
<hr />
</div>
ProductServlet.java
在ProductServlet的doGet方法中添加submitOrder的判断并完成submitOrder方法。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String method = request.getParameter("method");
if("getProById".equals(method)) {
getProById(request, response);
}else if("findListByCate".equals(method)) {
findListByCate(request, response);
}else if("cart".equals(method)) {
cart(request, response);
}else if("delCart".equals(method)) {
delCart(request, response);
}else if("clearCart".equals(method)) {
clearCart(request, response);
}else if("showOrder".equals(method)) {
showOrder(request, response);
}else if("submitOrder".equals(method)) {
submitOrder(request, response);
}
}
public void submitOrder(HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
try {
String oid = request.getParameter("oid");
System.out.println("oid" + oid);
String username = request.getParameter("username");
String address = request.getParameter("address");
String phone = request.getParameter("phone");
Order order = new Order();
order.setAddress(address);
order.setName(username);
order.setTelephone(phone);
order.setOid(oid);
ProductService ps = new ProductService();
ps.updateOrder(order);
HttpSession session = request.getSession();
session.removeAttribute("cart");
session.removeAttribute("orders");
response.sendRedirect(request.getContextPath() + "/product?method=myOrder");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ProductService.java
在ProductService中添加updateOrder方法。
public void updateOrder(Order order) throws SQLException {
// TODO Auto-generated method stub
ProductDao pd = new ProductDao();
pd.updateOrder(order);
}
ProductDao.java
在ProductDao中添加updateOrder方法。
public void updateOrder(Order order) throws SQLException {
// TODO Auto-generated method stub
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
String sql = "update orders set address=?,name=?,telephone=?,state=1 where oid=?";
System.out.println(order.getOid());
qr.update(sql, order.getAddress(), order.getName(), order.getTelephone(), order.getOid());
}