站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题请教移动书店的数据结构问题

请教移动书店的数据结构问题

摘要: 请教移动书店的数据结构问题


我做的一个J2ME/J2EE移动书店,订单号由用户号+序号组成,在手机用户登陆时,服务器的servlet程序首先查询订单号,并在以前的订单号上加1作为这次订单号,订单号用一个静态全局变量保存,问题就在这里,如果有多个用户,这个用户号就变成最后一个用户的订单号.

我的servlet程序结构如下:

public class login extends HttpServlet {

private String orderid1 ="";

private void login() throws IOException{

orderid1=该用户上次订单号+1; //订单号由用户号+序号组成

}
}
服务器程序在只有一个用户使用时没有问题,因为它只保存一个用户的订单号,问题是不可能只有一个用户




用户号都是不同的吗?
如果用户号不同,那么保存每一个登陆用户的订单号好了,不会出现最后只有一个用户的订单吧?你可以用用户号来查询阿


为什么要起用static呢?


用户号是不同的,用static是因为添入订单时要用到这个orderid

public class login extends HttpServlet {

private String orderid1 ="";

private void login() throws IOException{

orderid1=该用户上次订单号+1; //订单号由用户号+序号组成

}

private void insert() throws IOException{

//写入订单表时用到orderid,所以我把orderid作为全局变量,问题就在这里了,如果有新的用户登陆时就修改了这个orderid了.

}
}



上次订单号从服务器读取, 在登录的时候不是可以取得数据吗?
在服务器端计数, 别在客户端

登录请求->服务器(得到订单号O1, 服务器端设置订单号+1)->返回O1到客户端

继续其它操作


上边说的是理解错误

你应该在login加一个登录参数, 用户序号得传过来吧, 然后从数据库中取得该用户的下一个订单号, 别太省内存了吧, 就定一个变量.. 你的问题是图省事的结果..


逻辑有问题.你就是设计成一个用户的书店了.


k3179(螃蟹) 你说得对,我是设计有问题,对于多用户时,服务器怎样设计保存多个订单号呢,我把orderid作为全局变量也是很笨的设计,主要是还有很多模块用到这个orderid,怎么样才可以保存多个用户的orderid,而且这些orderid又不会在写入订单时互相干扰???


改成一个订单号数组orderid[i]可以吗,但如何把每个orderid[i]和每个手机用户对应起来??


自己顶一下


↑返回目录
前一篇: 为什么我的midlet实现了ItemStateListener后,手机上就总是安装不上?
后一篇: rms中的记录存放在哪的