我正在将我的 Java servlet 前端控制器从一个大型 if-else if 块移植到命令模式,并创建了一个带有执行方法的命令接口。init()
目前,我正在我的 servlet 方法中实例化每个命令的实例,并将它们存储在HashMap
. 我想知道如何command.execute()
在给定请求的上下文中运行必要的?
我是在执行之前setContext(HttpServletRequest request, HttpServletResponse response);
向接口添加一个方法并command.setContext(request, response)
从我的doGet()/doPost()
方法调用,还是我不应该一init()
开始就实例化命令?相反,有一个将request
和response
作为参数的构造函数?
显然,该命令的目的是为给定的用户/会话设置各种属性并确定要转发到的正确 JSP,如果没有上下文,它就无法真正做到这一点。