About Action in Controller: (ActionServlet is also multi-threaded) Because the Action class is thread secure, create a unique instance of the Action class in the application; Struts uses Lazy Singleton, which is to determine if there is an instance, if there is no existence The instance is created, and the code for the creation instance has been created Synchronization, so that only one thread can create Struts instances at the same time. In addition, make sure that the Action class does not use instance variables to store customer-specific status, for the unique state of the customer, should be saved in Execute. Struts uses the resource wrapper principle to describe this: All the resources are actually specified in the configuration file, and then the memory is represented by a class, so that you need to modify the resource configuration, you only need to modify the corresponding .xml file You can configure the informationmapping -----> Action Elements, where FindforwardConfig () configured in the Controller Element, where FindForwardConfig () is set to set Forward, then set Forward, then Check if the global-forward element Actionforward -----> Forward element; the web resource abstraction, such as the JSP page and the Java ServletAction class should entrust the business logic to the model component ActionS package has five Action classes: ForwardAction: Execute one to The URI configured in Parameter. INCLUDEACTION: Can be used to implement include () in RequestDispatcher; but I am not very clear about Dispatchction: I need to give its subclass, add a method to add a method to each function you need to execute on the service (you must dispatchaction the Action class contains one Method must define parameter properties when configured, which uses Parameter's value to determine what method is to put the combined completed a large function. Multiple Action classes are put in the same class: Dispatchction uses Java Reflection to call the correct way However, these methods must be the subclass of the Diapatchaction, but use the request parameter value, use the parameter value to reverse the resource state, and match the method in the class SwitchAction: Support from an application module to switch to Another two parameters: Page (Destination) and Prefix (Source) Struts Practical Class: Util Requestutils: Thread secure, no instance variable, and all methods are static. Assist in handling a request ResponseUtils: assisting in the establishment of a response beanutils: BeanUtils: populate (): using the key / value mapping, the data loaded into the JavaBean;: getProperty (): returns a string property represents: getArrayProperty (): string array PropertyUtils : getProperty (): Returns the value of the properties, does not change the type of property.