我正在将我的 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,如果没有上下文,它就无法真正做到这一点。