请教servlet的问题(跨请求事务)

zhukejun 2004-08-25 05:57:24
请问跨请求事务怎么实现?
“每个客户机/服务器请求都只有一个线程;每当同一个客户机生成到 Servlet 的请求,都会反复使用这个线程。 ”这句话怎么解释?
“Servlet 由 Web 应用服务器装入。同一时间只有一个 Servlet 对象的实例,并且它在 Servlet 的使用期限内将一直保留。 ”中“同一时间只有一个 Servlet 对象的实例,并且它在 Servlet 的使用期限内将一直保留”怎么解释?

...全文
113 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhukejun 2004-09-06
顶一下
回复
zhukejun 2004-08-27
DX们快来拿分啊
回复
eureka0891 2004-08-26
1。请问跨请求事务怎么实现?
不知道在问什么!

2。“每当同一个客户机生成到 Servlet 的请求,都会反复使用这个线程。 ”这句话怎么解释?
这句话有问题:
其实服务器是这样产生servlet对象的,对一个请求的匹配url会产生一个servlet对象,
如:

<servlet>
<servlet-name>FileLocation</servlet-name>
<servlet-class>chapter4.FileLocation</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>FileLocation</servlet-name>
<url-pattern>/chapter4/FileLocation/*</url-pattern>
</servlet-mapping>
在xml中只有一个servlet-mapping则只产生一个对象,这个对象处理所有的请求,每个请求产生一个对应的线程进行处理,返回相应的response
如果你有多个servlet-mapping则会产生多个servlet的实例(可以看看servlet programming 2nd)

3。“同一时间只有一个 Servlet 对象的实例,并且它在 Servlet 的使用期限内将一直保留”怎么解释?
如果servlet在web.xml中没有设置on-load,那么就不定在什么时间产生(第一次请求时),
对这个servlet会由其init后一直存在,除非服务器重启或者你的servlet修改了(servlet修改可以直接反应出来,不像java-bean)再有其它的请求来时也不过会产生新的对象.
回复
zhukejun 2004-08-26
“每当同一个客户机生成到 Servlet 的请求,都会反复使用这个线程??”
难道我下次请求时,它调用接收我上次请求的那个线程?

总共是3个问题:
1。请问跨请求事务怎么实现?

2。“每当同一个客户机生成到 Servlet 的请求,都会反复使用这个线程。 ”这句话怎么解释?

3。“同一时间只有一个 Servlet 对象的实例,并且它在 Servlet 的使用期限内将一直保留”怎么解释?

谢谢DXM了,呵呵
回复
zhukejun 2004-08-26
1。有些事务不是一个请求就完成的,可能多个客户端请求才是一个完整的事务!这个怎么实现?

2。每当同一个客户机生成到 Servlet 的请求,都会反复使用这个线程——说的是一个客户机重复使用一个《线程》,而不是《实例》,怎么解释?

回复
umbrella1984 2004-08-25
就是单线程的
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-25 05:57
社区公告
暂无公告