Posted By:
Steve_Long
Posted On:
Saturday, May 18, 2002 07:31 AM
Is the following thread safe, where a servlet instantiates a class and that class instantiates another class, ie Servlet -> new ClassX() -> new ClassY() -> new ClassZ() -> new ClassX() -> new ClassY() -> new ClassZ() ? ---------------------------- public class MyServlet extends HttpServlet { ... ...// init stuff ... protected void doGet( HttpServletRequest q, HttpServletResponse r ) throws ServletException, java.io.IOException { processRequest( q, r ); } protected void doPost( HttpServletRequest q, HttpServletResponse r ) throws ServletException, java.io.IO
More>>
Is the following thread safe, where a servlet instantiates a class and that class instantiates another class, ie
Servlet -> new ClassX() -> new ClassY() -> new ClassZ()
-> new ClassX() -> new ClassY() -> new ClassZ()
?
----------------------------
public class MyServlet extends HttpServlet {
...
...// init stuff
...
protected void doGet(
HttpServletRequest q, HttpServletResponse r )
throws ServletException, java.io.IOException
{
processRequest( q, r );
}
protected void doPost(
HttpServletRequest q, HttpServletResponse r )
throws ServletException, java.io.IOException
{
processRequest( q, r );
}
private void processRequest(
HttpServletRequest q, HttpServletResponse r )
throws ServletException, java.io.IOException
{
(new MyBean()).run( q, r );
}
}
public class MyBean extends Object {
public MyBean() {}
public void run(
HttpServletRequest q, HttpServletResponse r )
{
...
... // figure out which other bean to use
...
Class[] parms = new Class[] {
HttpServletRequest.class,
HttpServletResponse.class };
Object[] args = new Object[] { q, r };
try {
Class bean = Class.forName( someBeanName );
Object object = bean .getConstructor(null)
.newInstance(null);
Method method = bean.getMethod( "run", parms );
method.invoke( object, args );
}
catch (Exception e) {}
}
<<Less