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;
        }
}