How does threads work in web container ?
When a web container receives a request for a
servlet, it creates
thread for this request. Is this
java thread or OS thread ?
This is what I read from a book Head First Servlets and
JSP - page No 41, print publication date - 8/1/2004
"The container automatically creates new java thread for every servlet request it receives"
That means the threrad is java threrad. Which means the object is passed as an argument when thread is created. This object has to implement runnable nterface."
Is the object being passed as an argumrent is the same servlet which has been initialized ? If yes, then servlet does not
implement runnable interface. It does not have run() method. How can it be passed as argument ?
The object being passed is HttpServletRequest. This will implement run() method and code within this method calls the methods.
While we need servlet's doGet() method or doPost() method to run and we pass HttpSDervletRequest ans HttpServletResponse objects to these methods. So of what object do we create the thread ? How does servlet call objects from these methods in to doGet() method and doPost() method ?
In the main() method of container servlet is initialized, then we instantiate threads in this main() method. Can thread class call the servlet without instantiating a servlet in it ?
how to call servlet doGet() method or doPost() method by the thread in here ? or how to pass HttpServletRequest object to doGet() method of servlret ? is entire thread passed as an object ? How does this mechanism work ?
Does HttpServletRequest implement runnable interface ? If not, then how can a java thread be created of it ? As it needs
to implement runnable interface and have run() method.