1. If a servlet is processing three requests, how many servlet objects are in memory? 2. If a servlet is processing three requests, how many threads are in memory? 3. How long does a servlet stay in memory? 4. How long does a member variable for a servlet exist? 5. How long does a thread exist, if it is handling a request for a servlet? 6. Can a thread access a servlet's member variables? 7. If two threads write a value to a member variable, how many of those values will be stored in the member variable after the thread terminates? 8. Explain why the simple operation of x \= x + 1 uses three separate steps in a computer. 9. Is there a guarantee that all the steps from one thread will complete before the steps from another thread start? 10. Other than the sequence in the book, list a sequence of instructions that would cause two threads to have the same value after calculating x \= x + 1. 11. Why are local variables safer than member variables in a servlet? 12. Explain how the sleep method can be used to mimic the operation of interrupting a thread. 13. Explain why the example that uses synchronization takes longer to complete than the example that doesn't use synchronization. 14. When should member variables be used in servlets? 15. Why is it easier to write a servlet that uses member variables for the request and response objects? 16. How can the controller be redesigned so it can safely use member variables? 17. Explain what the two types of member variables are. 18. What are the member variables that are added to the helper base? 19. What should the constructor for the helper base do? 20. Write the code for the complete helper base class. Continue to write it until you can do so without referring to notes or the book. 21. What is the main reason for using a controller helper to do the work of a controller? 22. What member variable does the controller helper have? Why isn't it placed in the helper base? 23. What class does the controller helper extend? Why? 24. What should the constructor of the controller helper do? 25. Why does the constructor for the controller helper have three parameters when the controller helper only declares one member variable? 26. What type of method do all expression language references call in a class? 27. What method must be added to the helper so the bean can be referenced from expression language? 28. The doGet method in the controller helper accesses the request object. Why isn't there a parameter for the request object? 29. The doGet method in the controller helper accesses the bean object. Why isn't there a parameter for the bean object? 30. What are the differences between the doGet method for the controller from Chapter 2 and the doGet method for the controller helper in Chapter 3? 31. Besides doGet, what other methods are added to the controller helper? 32. What is the expression language statement that will retrieve the hobby from the bean from the helper? 33. If the name of the accessor for the bean is changed to getBean, what would be the expression language statement to retrieve the hobby from the bean from the session? 34. Write the code for the controller that uses a controller helper. Repeat the process until you can write the code without looking at notes or the book. 35. Which class in a web application represents the model in MVC? 36. Which files in a web application represents the views in MVC? 37. Which class in a web application represents the controller in MVC?