Topic: 请问这样写servlet是否有问题? |
Print this page |
1.请问这样写servlet是否有问题? | Copy to clipboard |
Posted by: program2000 Posted on: 2003-07-06 17:02 我在我的许多servlet里都含有域变量。 如下面这个String变量。我想用这个变量来接收web传过来的的参数。 public class HelloClientServlet extends HttpServlet { private String username ; //我的老板说把变量设在类里可能有隐患,认为如果有多个servlet并发的话可能会互相影响,请教高手这样设是否有问题? protected void doGet() { ........... } } |
2.Re:请问这样写servlet是否有问题? [Re: program2000] | Copy to clipboard |
Posted by: Jove Posted on: 2003-07-06 17:14 似乎是不大好,改写成局部变量吧 |
3.Re:请问这样写servlet是否有问题? [Re: program2000] | Copy to clipboard |
Posted by: program2000 Posted on: 2003-07-06 17:23 楼上的,能说说理由吗? |
4.Re:请问这样写servlet是否有问题? [Re: program2000] | Copy to clipboard |
Posted by: jfml Posted on: 2003-07-06 17:28 你的老板说的对 Servlet的生命周期是Servlet容器管理的 一般情况下Servlet对象从被第一次请求时生成 到Servlet容器关闭(也就是webapp关闭或者重起)时被销毁 因此,不推荐使用member成员 因为Servlet的member是大家共用的 比如说一个网上银行,通过登陆后会弹出一个对话框“XX先生,你好,你的账户上还有XXXXRMB” 加入这个对话框的信息是从Servlet.member里读取来的 那么在该Servlet的访问量比较大的情况下(多线程) 极有可能出现A先生登陆后看到了“B先生,您好,你的账户上还有XXXXRMB”这种情况 你可能会问那么就把Servlet里的方法同步掉或者加上SingleThreadModel 但是SUN非常不鼓励这么做,至于原因嘛,呵呵,我忘记了 所以变通的方法是不在Serlvet中设置任何的member |
5.Re:请问这样写servlet是否有问题? [Re: program2000] | Copy to clipboard |
Posted by: floater Posted on: 2003-07-07 01:16 username will be modified by several threads, potentially. read java servlet programming book(hunter). |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |