问一个servlet的问题

zhuguangyuan 2008-06-20 09:24:47
一个servlet能同时接收多个请求吗?或是用怎样的方法才能同时接收多个请求,能给个例子吗?谢谢了!
...全文
142 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuguangyuan 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 dryZeng 的回复:]
引用 7 楼 zhuguangyuan 的回复:
我在网上看有这么一句话:“开发人员在不同线程内并发执行service方法来处理同时到达同一servlet的多个请求。”。我的问题和这句话差不多。怎么处理同时到达统一servlet的多个请求?用多线程?还是本身servlet就有这样的机制!


人家说的是处理不同客户端的同时请求.
[/Quote]

你的意思是,我的这个网站只能有一个客户访问?
shheagle 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 Chins 的回复:]
....servlet相当于是一个容器,就可以处理多个请求的
[/Quote]
servlet与cgi的区别就在于一个servlet能接受多个请求。楼主是不是担心线程安全的问题。只要在servlet里面不要使用全局变量,servlet是不存在线程安全的问题。如果楼主还不放心可以加上同步关键字就ok了。
lili0610 2008-06-24
  • 打赏
  • 举报
回复
可以接收多个请求
Chins 2008-06-24
  • 打赏
  • 举报
回复
....servlet相当于是一个容器,就可以处理多个请求的
  • 打赏
  • 举报
回复
servlet的api


回复内容太短了!
zhuguangyuan 2008-06-20
  • 打赏
  • 举报
回复
我在网上看有这么一句话:“开发人员在不同线程内并发执行service方法来处理同时到达同一servlet的多个请求。”。我的问题和这句话差不多。怎么处理同时到达统一servlet的多个请求?用多线程?还是本身servlet就有这样的机制!
zhuguangyuan 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 burningice44 的回复:]
接受多个请求,你能给我举个例子吗?
怎样的接受多个请求,详细点儿
[/Quote]
如有N多jsp一起向我的servlet发送post请求。
E___T 2008-06-20
  • 打赏
  • 举报
回复
樓主,你的話不夠清楚啊?
lblxiaoyu 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 burningice44 的回复:]
接受多个请求,你能给我举个例子吗?
怎样的接受多个请求,详细点儿
[/Quote]

楼主说的有点深 我也没有懂
burningice44 2008-06-20
  • 打赏
  • 举报
回复
接受多个请求,你能给我举个例子吗?
怎样的接受多个请求,详细点儿
KingNE 2008-06-20
  • 打赏
  • 举报
回复
bangding
jabeginner 2008-06-20
  • 打赏
  • 举报
回复
好像是没有接收多个请求的。不过为什么一定要同时发出多个请求呢?在同一时间发出一个请求,在具体的action中可以处理多个事情啊!
zhangxh20 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 dryZeng 的回复:]
引用 7 楼 zhuguangyuan 的回复:
我在网上看有这么一句话:“开发人员在不同线程内并发执行service方法来处理同时到达同一servlet的多个请求。”。我的问题和这句话差不多。怎么处理同时到达统一servlet的多个请求?用多线程?还是本身servlet就有这样的机制!


人家说的是处理不同客户端的同时请求.
[/Quote]
我们写的Servlet类最后都是由Tomcat来实例化的,Tomcat对servlet的实例化采用singleton的模式,即只产生一个实例化对象,不管有几个请求访问同一个servlet,都只对同一个servlet进行操作。
解决多个请求的方法就是采用多线程,每发送一个请求,servlet就创建一个线程来处理这个请求。所以servlet又称是线程不安全的。如果想知道具体如何创建多线程,需要了解线程方面的知识
wang_dream 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhuguangyuan 的回复:]
我在网上看有这么一句话:“开发人员在不同线程内并发执行service方法来处理同时到达同一servlet的多个请求[/Quote]

上面的话,和lz想的不一样吧。

即使你在配置文件中叫多个页面都转向一个servlet,它本身相对来说还是单线程的,我是这样理解的
dryZeng 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhuguangyuan 的回复:]
我在网上看有这么一句话:“开发人员在不同线程内并发执行service方法来处理同时到达同一servlet的多个请求。”。我的问题和这句话差不多。怎么处理同时到达统一servlet的多个请求?用多线程?还是本身servlet就有这样的机制!
[/Quote]

人家说的是处理不同客户端的同时请求.
w111222j 2008-06-20
  • 打赏
  • 举报
回复
可以的,呵呵
你在web.xml里面配置的时候,

<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
这里配置成*.do就可以所有以do结尾的请求,如login.do,insert.do

然后,你就在servlet里面

定义一个字符串String path = request.getServletPath();
大概是这样的,就是得到servlet的请求路径,具做方法名是不是这个,我就不记得了,我是在这里帮你手写的
然后用if else判断
if(path.equles("/login")){

}else if(path.equles("/insert")){

}
就是在这里面做不同的操作,然后再转发,或者重定向就OK了

中间也许有些方法错了,呵呵,不过差不多就是这个意思
aihua_z 2008-06-20
  • 打赏
  • 举报
回复
public void init(ServletConfig config)throws ServletException
{
super.init(config);
this.getServletContext().setAttribute("...",new ...Command("/..."));
this.getServletContext().setAttribute("...",new ...Command("/..."));
this.getServletContext().setAttribute("...",new ...Command("/..."));
}
penglong_Peter 2008-06-20
  • 打赏
  • 举报
回复
Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有多个线程在使用这个实例。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧