jsp - Java servlet can't handle get and post requests simultaneously -


so thought servlet made handle requests through , post @ same time (concurrently) when webpage communicating server. might since same page making both requests there 1 thread handling both requests. what's happening have post request getting called through jquery ajax request , on success of request calls callback javascript method has jquery ajax request. understanding might possibly wrong on constitutes successful request. suggestions or explanations on how can work or why won't work appreciated.

i tested case using glassfish4, servlet-api 3 , observed following:

first created servlet serves both , post. servlet had 5 second thread sleep delay

@webservlet("/hello") public class helloservlet extends httpservlet {    private static final long serialversionuid = 1l;   private static logger logger = logger.getlogger(helloservlet.class);    public helloservlet() {     super();     logger.debug("helloservlet created");   }    @override   protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception {     logger.debug("get start");     try { thread.sleep(5000); }     catch (interruptedexception e) { e.printstacktrace(); }     logger.debug("get finish");     super.doget(req, resp);   }    @override   protected void dopost(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception {     logger.debug("post start");     try { thread.sleep(5000); }     catch (interruptedexception e) { e.printstacktrace(); }     logger.debug("post finish");     super.dopost(req, resp);   }  } 

i tried invoking both , post within 5 seconds window , looks like

info: 2013-07-07 14:06:06 debug helloservlet:21 - helloservlet created info: 2013-07-07 14:06:06 debug helloservlet:27 - start info: 2013-07-07 14:06:08 debug helloservlet:41 - post start info: 2013-07-07 14:06:11 debug helloservlet:34 - finish info: 2013-07-07 14:06:13 debug helloservlet:48 - post finish 
  • only 1 instance of helloservlet created, seem shared http worker threads
  • both , post requests served different threads , invocation of , post method not synchronized

so original understanding seem right


Comments

Popular posts from this blog

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -

emulation - Android map show my location didn't work -