在春天将HttpRequest和HttpRespone带到实现级别是不好的

时间:2016-11-18 11:44:50

标签: java spring spring-mvc

我听说从控制器到实现级别的HttpRequest和HttpRespone对安全级别没有好处..是真的..如果是这样的话如何避免它......请提出建议..

提前谢谢..

3 个答案:

答案 0 :(得分:1)

服务层的主要目标是可重用性和separation of concerns,即服务层应该能够处理来自各种来源的业务逻辑,如Web层controllers或其他Web服务(即不同的端点) )。

因此,如果您的webtier对象(FormBean对象,httprequesthttpsession对象等等)分散到服务层中,那么服务和服务之间就会紧密耦合。使用controller图层。如果您想为其他端点或通道公开或重用相同的服务,那么您最终将进行更改(删除webtier对象或将if else条件放入代码中)到服务层(以支持不同的终端系统),这不好。

在n层(或3层)体系结构中,服务层(以及DAO)应仅使用域/实体对象,不应与前端(Web层)对象混合使用。否则,应用程序无法轻松支持/扩展到多个端点。

答案 1 :(得分:0)

应该以这样的方式设计应用程序:负责任务的组件应该执行所需的工作,并将对象/变量片段委托给下一组方法/类。最好从HTTP请求/响应中提取Header / Body / Attachments,并将其相应地发送到业务类进行进一步处理。

答案 2 :(得分:0)

不应将

HttpServletRequest 传递给服务层。

如果您明确需要请求,则可以将逻辑放在Web层中。或者扩展库并允许它获取参数图(如果可能的话),你也可以

在实现接口的类中包装 HttpRequest HttpResponse ,并使服务层依赖于接口。