1.0          其他語言
 
 

3.1 控制器 ControllerServlet

 
 

org.velocityweb.controller.ControllerServlet 是 org.apache.velocity.servlet.VelocityServlet 的子類。 ControllerServlet 會在 loadConfiguration(ServletConfig config) 中呼叫 controller.initApplication(),這是VelocityServlet 初始化的地方;會在 destroy() 中呼叫 controller.destroyApplication(),這是 servlet 的銷毀的地方。

在 ControllerServlet 類的函數 handleRequest(HttpServletRequest request, HttpServletResponse response, Context context) 中,會製作如下邏輯︰

以上 Web 請求邏輯是非常常見的,我們需要在每個新的 J2EE 專案中寫一次。因為我們很少需要改變這個邏輯,VelocityWeb 協助我們完成這個邏輯。

新建一個 J2EE 專案,我們只需要寫一個 org.velocityweb.controller.ControllerServlet 類的子類,並且重寫函數 getController()。比如︰

 
    public public class PetStoreControllerServlet extends ControllerServlet {
        static Controller controler = new PetStoreController();

        public Controller getController() {
                return controler;
        }
}