如题,默认的servlet是单例模式的,即一旦某个action被加载了,那么整个服务器启动期间就不会再次重复加载。我觉得这样虽然减轻了服务器负担,但是在某些情况下,例如某次请求中设置了成员变量a=10,那么下次请求过来时,若request中不包含对a的重新设置,那么a依旧是10,这就很可能造成冲突。那么如何让每次请求时都重新构造一个新的实例?或者说,这个问题如何解决(不要说将a该成局部变量,因为我要使用a的get,set方法;也不要说请求结束后将a初始化,这只能解决一时的问题)谢谢了~~~
解决方案 »
- LDAP认证中CN,OU,DC的含义
- 求助!!ssh框架搭好了,运行tomcat报错
- jsp 中 怎样通过url 传递 多个参数值!
- socket客户端池如何服务端发现的监测信息
- 【调查】做J2EE的项目开发时,在使用windows操作系统的文件系统的时候,特别不爽,有同感的进来领分
- BufferedImage在WIN使用正常,LINUX则不行,详情请进
- 請問Struts中ActionForm中怎樣封裝一個主從結構(一條Company記錄對應多條Employee記錄) ?
- 请问如何把做好的JSP程序打包成可执行的文件啊?
- itext操作word不能生成复选框,那么java怎么操作word能成才复选框呢
- 穷疯了,便宜出卖公司网站空间!
- 为什么扩张struts1 的插件一点反应都没有?
- 怎样调用本地软件浏览服务器图片
放SESSION不就好了,保证了不同用户访问到的都是自己的a如果真的要其他request 都能访问不就是公共变量? 那就不存在冲突
Servlet默认是单例模式的,我也试过了,第一次设置了一个成员变量command="list",第二次我在request.getParameter("command")之前,查看command,发现它依旧是"list",郁闷死我了。
额,虽然你这个方法可以解决这个问题,但对于我这次项目而言并不适合,呵呵,先谢谢了。最好能提供tomcat + Servlet的多例模式配置方法,如果嫌分数少了,我可以开贴再送分~~~
其实项目一开始时定义成局部变量的,看着那么一大堆的request.getParameter的头痛,项目比较小,就没用到什么SSH了,然后我就干脆一次性解决了。说实话,我09年才毕业,也就是到公司后才接触Web项目的,底子薄,前几个项目一直用的是SSH架构,从来就没想到过Servlet是单例的,然后就出问题了