(急)同一用户在不同机器登录的问题???

04-08-23 franklee921
我现在开发了一个应用,java+struts+servlet+tomcat,在用同一个帐号进行测试的时候发现了问题:

现在好几个同事一起,各自在自己机器上用 同一个帐号登录,登录都没有问题,然后去点击左边的树,随便乱点,然后后台会报错,一般的错误要么是connection为空,或者connection被关闭,或者statement,rs被关闭的错误!!!

而如果在同一台机器上,打开多个ie,也用同一个帐号登录,同样进行类似操作,都没有问题

或者在多台机器上,用不同帐户登录也没有问题

树是由 servlet生成的,每点击一个树节点,就向一个servlet发送请求(get),然后servlet根据不同的参数,从数据库读取数据,组成一个xml字符串返回给树,从而生成这个节点的下级数据

connection都是在servlet的doget()方法中产生,然后传递给某个方法,connection的关闭也是在doget的最后才关闭的

1
banq
2004-08-28 17:37
虽然你采取了流行架构,但是你并没有掌握J2EE开发的核心模式。你还是使用传统两层结构编写J2EE,将J2EE变成了两层结构

其中主要是:在多层结构中,前台Jsp页面不会直接触动后台数据库连接,前台出错只会导致后台Service类出错。

yellow_eyes
2004-08-31 17:53
我认为这和用的架构没有关系.

他的问题明显是,程序代码不规范,考虑不够周全.

connection为空,有可能是从连接池中取connection没有取到,或者该connection本身就是坏的.resultSet被关闭,有可能是2个人同时用了一个connection,一个程序的resultset没有用完,另外一个人把connection关闭,或者打开了另外一个resultset.

还是好好检查代码,connection是一个非常重要的东西,一定要考虑周全.

猜你喜欢