iteye_19125 2011-08-30 17:46
浏览 272
已采纳

关于servlet难理解的问题

 小弟最近写servlet进行项目开发,最近遇到了几个让我很迷惑的问题,希望大家帮忙!(主要是被多线程和jvm给干扰了!)
 项目特点:高并发,服务器端开发模式servlet+dao
 首先:我在servlet这块进行了数据的验证,我将验证这块单独写在servlet里面自定义的方法里,然后弄了一个成员变量,比如pid等等,我的疑问是:我这样做对于高并发访问servlet的时候成员变量的值是不是不可靠的,也就是没有同步会互斥?第二个问题是:抒写一个成员变量和方法对于jvm的运行有影响,还是说我直接把这个验证写在post中或者get中更好(主要是验证太多,写在一起以后重写麻烦)第四个:我有点迷糊的就是用户访问一个servelt它是会产生一个新的servlet对象呢?还是以单例的模式只用一个?
 二:在dao层中,每个dao都是一个个static方法,然后servlet直接方法,这样做要不要对dao里面的每个方法进行同步。唉,小弟对多线程实在是有点没办法,有什么可以去学习下不
  • 写回答

5条回答 默认 最新

  • AngelAndAngel 2011-08-30 21:01
    关注

    [quote]我想说的是,我公司在用dao的时候是每个方法都加了一个static,也就是把dao当成了工具类在使用,所以我在想怎么就没有同步问题呢...servlet这块,我奇怪的是为什么struts2里面成员变量就不怕同步问题呢..servlet就有这问题 [/quote]
    struts2的原理其实就是在servlet里面生成多个action,也就是说每次请求都生成一个新action,所以没有线程安全的问题,所以我们把变量现在action里面肯定是没问题的。
    而你公司那么用只是说现在的运行环境还没有过同步问题,不代表真的没问题。
    至于struts2的原理不懂的可以问我,我最近做了自己的一个mvc,模拟的struts2,可以给你讲讲。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?