当前位置:  技术问答>java相关

在servlet里访问数据库要不要建线程

    来源: 互联网  发布时间:2015-03-02

    本文导语:  在servlet里接受多个用户数据查询请求,要不要建线程,在没建线程的时候同时访问为什么会出错呢,先提交者执行,或者同时执行之后,数据出现错乱,是线程的问题吗? | 楼上的高人已经说明了。 解...

在servlet里接受多个用户数据查询请求,要不要建线程,在没建线程的时候同时访问为什么会出错呢,先提交者执行,或者同时执行之后,数据出现错乱,是线程的问题吗?

|
楼上的高人已经说明了。
解决办法是:
public Vector getConn() throws Exception
返回一个向量,即connection的数组,在初始化时调用一遍,每个servlet都是从vector中获得connection,用完后关闭之(要不然,很快到达最大连接数,而且造成memory leak)。
修改一下吧。

|
你程序的毛病基本上可以确定为连接句柄在多线程环境下被其他用户调用覆盖而导致错误
当你激活对象Dataconn执行某个数据访问时,如果产生新的并发用户访问,那么你的连接句柄conn被覆盖为新值,那么你的前一个用户的数据访问还没执行完毕时,而它的连接却已经被改变了,这样岂能不导致错误???
我的建议是:把获取连接的方法拿出去,方到CLASS Dataconn 以外的地方去执行,在获得连接句柄以后,再把句柄作为一个参数传到Dataconn类里面。

|
servlet本身就是多线程服务的,
同时执行之后,数据出现错乱,不是线程的问题,是你程序中关于同步没搞好!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 几个servlet共享一些数据 如我从数据库里读出一些重要的设置存入vector 让几个servlet共享 怎么做到?先谢
  • 我在servlet用了sqlserver2000的JDBC驱动访问数据库,当servlet放在tomcat中时,如何设置tomcat使它能找到驱动?
  • 在jsp页面加载时自动调用某个特定的servlet,由servlet查询数据库输出WEB页面返回给jsp显示?
  • 关于applet与servlet交互访问数据库的问题?
  • servlet 连接数据库的一个问题
  • 需要从数据库中动态生成的页面是该在SERVLET输出生成,还是应该在JSP编码实现?
  • 急!!!!servlet修改数据库后如何commit
  • 数据库(SQL Server)<->Servlet<->Applet通讯后,如何监听数据库的更新?
  • 急!关于java servlet与数据库连接的问题???
  • 要实现同样的一个问题,例如数据库的查询操作,并将结果返回到页面中,在Servlet与JavaBean中都可以写相同的数据库查询操作的代码,那么
  • 做Java,Jsp/Servlet,EJB编程,数据库要掌握到什么程度?
  • 菜鸟问题:我刚学servlet+数据库编程,请大家帮帮我!
  • 在jsp或servlet中如何从oracle数据库中提取并显示图像,帮帮忙。很急的。
  • Applet与数据库与Servlet的问题,分数不够可以再加
  • 在Servlet中使用Jdbc-odbc连接access数据库,为什么模糊查询查不出记录啊,求救!!
  • servlet与access数据库连接的问题?
  • 怎样实现在jsp/servlet中调出数据库的数据,并实现刷新和滚动,分我会再加的
  • 关于servlet查询数据库的问题。
  • 在一个servlet中,如何只向数据库提交一次,就同时执行多个SQL语句
  • 当用servlet与jsp在数据库中插入一条记录时,此时是用tomcat服务器的,当页面显示完成插入时,如果此时按下F5或者选择刷新,系统就会提示
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_context定义参考
  • 请问各位大虾,我在编译SERVLET时,总是找不到javax.servlet.*或者javax.servlet.http.*,需要怎么配一下。
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_response定义参考
  • 关于servlet 的编译问题,怎样设置classpth,把那些java servlet类包含到classpath?而且无法调用servlet!谢谢!
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_request定义参考
  • 写了一个servlet程序,但用javac编译时,发现javax.servlet.*,javax.servlet.http.*不存在,为什么?怎样解决?
  • java Servlet获取和设置cookie实例代码
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • java Servlet实现Session创建存取以及url重写代码示例
  • 我想apple传object给servlet同时也打开servlet页,显示servlet的内容
  • import javax.servlet.http.*;后,怎么提示package javax.servlet.http does not exist?我的classpath中已添加了tomcat/lib/servlet.jar!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3