日期:2014-05-19  浏览次数:20716 次

servlet接收应用程序的数据
我的应用程序用HttpURLConnection 以数据流写数据到Servlet,但是我想知道,我前台是JSP页面,每来一个客户端,是不是后台对应的servlet就开一个线程,那么我的应用程序把数据传给servlet是不是表示所有的servlet中的这些线程都会接收到这些数据,但每次应用程序传来的数据,其实只是一个客户端要求的数据,我的意思是客户端有个请求,发到servlet中,接着servlet把这个请求进行一下处理,接着发到应用程序,应用程序再进行处理完后,把处理的数据再返回给servlet,有什么好方法吗?以我的理解,我的做法是在servlet中获取某个客户端所对应的sessionID,把这个sessionID也传给应用程序,然后应用程序处理完,再把这个sessionID一块给我返回,每次在servlet中判断当前sessionID跟从应用程序中读取到的sessionID是不是一致,一致的话,则把处理结果输出到前台,(一致的话说明这个线程就是发起请求的客户端所对应的线程),我这样理解对嘛?谢谢指导!

------解决方案--------------------
一般来说servlet不是线程安全的,看你说的话你应该也理解这个东西。
我看你说的问题像是说避免并发的时候线程之间数据安全的问题,不知道我理解对了没有。
如果是,那么sessionId非必须,你尽量避免用全局实例/变量就好了,因为方法内部总是会新起一个空间的,在方法之内不会说存在你说的线程A的请求相应到线程B。
不知道是不是你想要知道的东西。