“我想单线程是不是一个servlet实例处理一个请求,多线程是一个servlet实例处理多个请求。”这句话错了!!!
1.对于一个servlet,每个用户请求将生成新的线程。
2.当首次创建servlet时就会调用init()方法,而并不是每个用户请求都调用该方法。
3.当每个用户请求servlet时,都会调用server方法,所以你的classcount是
不停的增长的,因为它是静态的。不过你的count应该不会不停增长吧?
1.对于一个servlet,每个用户请求将生成新的线程。
2.当首次创建servlet时就会调用init()方法,而并不是每个用户请求都调用该方法。
3.当每个用户请求servlet时,都会调用server方法,所以你的classcount是
不停的增长的,因为它是静态的。不过你的count应该不会不停增长吧?
解决方案 »
- 关于变量的一些问题,很初级,大家不要见笑
- jsp如何连接远程DB2
- Hibernate多对一 被参照的列 一定要是被参照表的主键吗
- 大哥哥,大姐姐:怎样根据权限或者数据库中某字段内容来控制某列或者某行的显示与否,并控制某列或者某行的颜色显示与否?
- 文件下载问题
- 用jspsmart同时上传文本和文件遇到的问题
- 求Jbuilder8 下JSP不能保存的补丁,高分奉送!!!!!
- tomcat的问题(新手求救----------------------在线等候)
- 网站导航二级菜单显示出来但被图片遮住了;
- 求解为什么报404
- 怎么取href="modify.jsp?filename=a.txt"中的filename???急!!!!!!!!!!
- 如何用jsp把附件以2进制流或字节流上传到mssqlserver,(谢谢,急)
,单线程可以保证变量的安全是怎么回事?再次感谢!!
条执行程序语句,在执行一条语句之前不会执行
下一条语句。多线程简单说就是多个线程不分先后的并发执行
线程可以共享共同的数据变量。对,在多个请求执行servlet时,其实是执行
servlet的同一个实例!
但是server()方法是并发执行的,所以你的
count classcount不停的增长,刚才一点
是我的错!!!
谢谢指教!!我都晕了
!
servlet是应该只有一个实例
不同的线程共享同一实例
并发执行server()方法!
否则你的count不可能会增长!
还望再次赐教。
我贴的程序已经是单线程的了,那么应该是一个请求一个实例。
而且书中还说实例的个数好像和配置文件有关,配置文件里面写了几个servlet的名字,就几个实例?这个我没有看懂,描述的也不一定对,不好意思
创建一和实例。并且执行init()初始化方法
接下来的请求servlet引擎会开辟一个新的线程
然后执行server方法(也就是doGet,doPost)方法