好文档 - 专业文书写作范文服务资料分享网站

基于JSP网上书店系统的设计与实现 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

JSP网上书店系统(论文)

private long userid = 0; add():负责用户的添加。

//注册后返回的用户ID

该类具有的主要方法(省去了属性相关的getX()/setX()操作): delete():负责删除指定ID的用户。 get_alluser():取出书店所有用户的信息。 getGbk():返回指定字符串的GBK编码。 getUserinfo():负责取得用户的详细信息。 update():负责修改用户资料。

getRequest():获取表单数据,并分解存储。 4:op_buy.java

我们把业务逻辑和对订单以及和订单列表的管理集成到了该类当中。 该类具有以下属性:

private javax.servlet.http.HttpServletRequest request; //建立页面请求 private HttpSession session; //页面的session;

private boolean sqlflag = true; //对接收到的数据是否正确 private Vector purchaselist; //显示图书列表向量数组 private Vector allorder; //订购单列表 private Vector order_list; //订单清单列表 private int booknumber = 0; //购书总数量 private float all_price = 0; //购书总价钱

private boolean isEmpty = false; //库中的书数量是否够购买的数 private int leaveBook = 0; //库存数量 private String orderId = \用户订单号 private boolean isLogin = true; //用户是否登录! private int page = 1; //显示的页码

private int pageSize = 15; //每页显示的订单数 private int pageCount = 0; //页面总数 private long recordCount = 0; //查询的记录总数 该类的主要操作(省去了属性相关的getX()/setX()操作) addnew():负责向购物车中添加新购买的图书。 delete():负责从数据库中删除指定ID的订单。 modiShoper():负责修改购物车中已选的图书。 delShoper():负责删除购物车中的物品。

16

JSP网上书店系统(论文)

getAllorder():负责从数据库中的订单列表中查询指定用户的订单列表。 getGbk():获得指定字符串的GBK编码。 getOrder():获得单个订单对象。

payout():提交购物车,把订单插入到数据库中。

update():该方法负责当用户付款后,把数据中对应订单的是否付款标记修改成已付状态。

重要操作:主要介绍addnew() addnew()方法

功能:负责向购物车中添加一条新记录。 参数设计:页面传递的request对象。

返回值:boolean类型,成功返回true,否则返回false。

设计思路:从页面获得表单数据(request对象中)---》获得图书编号等参数值—》判断购买数量是否合法—》如果是可以操作,否则不能操作—》判断是否第一次购买—》如果是第一次购买,按第一次购买操作—》否则查询购买列表,找是否有相应项,有则直接修改数量—》否则添加新记录。

函数代码:

public boolean addnew(HttpServletRequest newrequest) throws Exception{ ????

request = newrequest;

String ID = request.getParameter(\ String Amount = request.getParameter(\ long bookid = 0; int amount = 0; try {

bookid = Long.parseLong(ID); amount = Integer.parseInt(Amount); }

catch (Exception e) { return false; }

if (amount < 1) return false;

session = request.getSession(false);

17

JSP网上书店系统(论文)

if (session == null) { return false; }

purchaselist = (Vector) session.getAttribute(\

String sqlStr = \ try { con=DataBase.getConnection(); stmt=con.createStatement(); rs = stmt.executeQuery(sqlStr); if (rs.next()) {

if (amount > rs.getInt(1)) { leaveBook = rs.getInt(1); isEmpty = true; return false; } }

DataBase.closeResultSet(rs); DataBase.closeStatement(stmt); DataBase.closeConnection(con); }

catch (SQLException e) { return false; }

allorder iList = new allorder(); iList.setBookNo(bookid); iList.setAmount(amount);

boolean match = false; //是否购买过该图书 if (purchaselist == null) { //第一次购买 purchaselist = new Vector(); purchaselist.addElement(iList); }

else { // 不是第一次购买

for (int i = 0; i < purchaselist.size(); i++) {

allorder itList = (allorder) purchaselist.elementAt(i);

18

JSP网上书店系统(论文)

if (iList.getBookNo() == itList.getBookNo()) {

itList.setAmount(itList.getAmount() + iList.getAmount()); purchaselist.setElementAt(itList, i); match = true; break;

} //if name matches结束 } // for循环结束 if (!match)

purchaselist.addElement(iList); }

session.setAttribute(\ return true; }

4.2.2客户界面设计与实现

1:界面头和界面尾设计。

为了提高代码的重用性,我把客户界面部分相同的头和尾作成两个独立的块,分别命名为 head.inc和tail.inc。这两个文件是单纯的html代码,在jsp页面中只要通过以下语句就可以实现对两个文件的调用: <%@include file=’’/bookshop/inc/head.inc”%>

< %@include file=’’/bookshop/inc/head.inc”%> 他们的效果如下图4-1:

图4-1界面头和尾部分显示效果

用户登录界面login.jsp代码如下:

19

JSP网上书店系统(论文)

<%@page contentType=\<%@ page session=\

request.getParameter(\

&& !request.getParameter(\

String username =request.getParameter(\String passwd = request.getParameter(%username = new String(username.getBytes(\passwd = new String(passwd.getBytes(\login.setUsername(username); login.setPasswd(passwd); //out.print(username+passwd); if (login.execute()){

session.setAttribute(\String userid = Long.toString(login.getUserid()); session.setAttribute(\response.sendRedirect(\

<% }else {

mesg = \登录出错!\; }

2:用户登录模块的设计。

为了检验用户是否合法,所以需要输入用户名和密码来验证用户的合法性,用户登录模块刚好完成这样的一个功能。该模块需要用到login.java(见4.4.3 1)这个bean。需要设计一个表单让用户输入信息。效果图如下:图4-2

}%>

20

基于JSP网上书店系统的设计与实现 - 图文

JSP网上书店系统(论文)privatelonguserid=0;add():负责用户的添加。//注册后返回的用户ID该类具有的主要方法(省去了属性相关的getX()/setX()操作):delete():负责删除指定ID的用户。get_alluser(
推荐度:
点击下载文档文档为doc格式
6mhxv8kklt9da6a52izu
领取福利

微信扫码领取福利

微信扫码分享