基于JSP网上购物系统论文 下载本文

进行修改,这样可以防止多次登录后密码泄露导致的安全问题。

(4)订单管理模块:管理员查询订单,查看订单详细信息,删除订单信息,进行订单受理;商家管理员查看订单信息,根据顾客订单信息发货。如若没有对应的商品商家管理员可以将订单拒绝并删除该订单。

(5)财务管理模块:商家管理员受理订单并发货时进行收款和对阶段性收益的统计。在该模块中在日历中选择几月几号到几月几号,在这阶段内收入的统计。

(6)公告管理模块:吸引顾客有很多种宣传措施,本系统采用公告的方式进行宣传。利用类似流动看板的方式显示公告信息。在顾客点击某一条公告信息时,系统可以自动弹出一个页面显示具体的公告信息。

(7)留言模块:管理员可以查看客户的留言,了解会员的需求及想法,管理员还可以对留言进行恢复和删除。

3.2 代码实现

3.2.1 购物车实现代码

购物车核心代码,订单中如何将商品添加到购物车和清空购物车及商品价格结算。在userAction中:

public String userLogin() { String sql=\

Object[] con={userName,userPw};

List userList=userDAO.getHibernateTemplate().find(sql,con); if(userList.size()==0) { this.setMessage(\用户名或密码错误\ this.setPath(\} else {

Map session=

ServletActionContext.getContext().getSession(); TUser user=(TUser)userList.get(0); session.put(\ Cart cart=new Cart(); //用户登陆成功后生成购物车,并将其放入到session中。 session.put(\ this.setMessage(\成功登录\

16

this.setPath(\

} return \ }

在buyAction中: public String addToCart() { TGoods goods=goodsDAO.findById(goodsId); TOrderItem orderItem=new TOrderItem(); orderItem.setGoods(goods); orderItem.setGoodsQuantity(quantity);

Map session= ServletActionContext.getContext().getSession(); Cart cart = (Cart)session.get(\将session中的cart取出,也就是上边存储在session中的cart cart.addGoods(goodsId, orderItem); session.put(\再把cart放入session //this.setMessage(\ this.setPath(\ return \ } public String myCart() //获取我的购物车 { return ActionSupport.SUCCESS; } public String orderQueren() //确认提交订单 { Map

request=(Map)ServletActionContext.getContext().get(\ return ActionSupport.SUCCESS; }

public String orderSubmit() //订单提交 { Map session= ServletActionContext.getContext().getSession(); Cart cart = (Cart)session.get(\将cart取出 TUser user=(TUser)session.get(\ //将用户取出 TOrder order=new TOrder(); order.setOrderBianhao(new

SimpleDateFormat(\设定订单编号

17

order.setOrderDate(new

SimpleDateFormat(\

hh:mm:ss\确认订单的日期 order.setOrderZhuangtai(\订单状态默认为未受理 order.setOrderUserId(user.getUserId()); //设定订单的用户ID order.setOrderJine(cart.getTotalPrice()); //商品的价格 orderDAO.save(order); //保存订单 for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) //把订单里的商品存入数据库 { TOrderItem orderItem = (TOrderItem) it.next(); orderItem.setOrderId(order.getOrderId());

orderItem.setGoodsId(orderItem.getGoods().getGoodsId()); orderItemDAO.save(orderItem); } cart.getItems().clear(); //清空购物车 session.put(\

Map request=(Map)ServletActionContext.getContext().get(\ request.put(\ return ActionSupport.SUCCESS; }

public String myOrder() //根据用户查询订单 { Map session= ServletActionContext.getContext().getSession(); TUser user=(TUser)session.get(\ //获取用户 String sql=\ List orderList=orderDAO.getHibernateTemplate().find(sql); //调用orderDAO中的find方法,执行sql语句 Map

request=(Map)ServletActionContext.getContext().get(\ request.put(\ return ActionSupport.SUCCESS; } public String orderMana() //订单管理 { String sql=\

18

List orderList=orderDAO.getHibernateTemplate().find(sql);

Map

request=(Map)ServletActionContext.getContext().get(\ request.put(\ return ActionSupport.SUCCESS; } publicStringorderDel() //用户自己删除订单 { TOrder order=orderDAO.findById(orderId); orderDAO.delete(order); Map session= ServletActionContext.getContext().getSession(); TUser user=(TUser)session.get(\ this.setMessage(\删除成功\

this.setPath(\跳转到 myOrder.action return \ } 3.2.2 会员注册代码

顾客在商城首页通过注册成为会员。

public class TAdminDAO extends HibernateDaoSupport { private static final Log log = LogFactory.getLog(TAdminDAO.class); // property constants public static final String USER_NAME = \ public static final String USER_PW = \ protected void initDao() { // do nothing } public void save(TAdmin transientInstance) {

log.debug(\try { getHibernateTemplate().save(transientInstance); log.debug(\} catch (RuntimeException re) { log.error(\ throw re; }

19