[英]How to create a session cookie in java with path while still having good programming practice of functional programming
我真的很喜欢函数式编程,我喜欢它的不变性概念,并且它对函数没有副作用。
我正在尝试将其中一些概念带入Java。
现在,我有某种servlet可以接收请求,并且如果浏览器没有将cookie发送到服务器,那么我想创建一个具有到用户的特定路径的cookie。
现在在servlet内部,我不想保留该逻辑,因为它对于多个servlet都是通用的。 所以我将其提取到某种cookie管理器中,它将执行以下操作:
CookieManager.java.handleCookies(请求,响应)
但是我不喜欢它,因为现在servlet将调用CookieManager.java.handleCookie会有副作用,我希望它返回某种响应,并在我的servlet中进一步使用它,因为它会影响它的参数,正在传递给它。
任何人都可以提出既美观又无副作用且性能出色的解决方案?
谢谢
您可以使用servlet过滤器。 这将非常适合您的情况。 您可以将过滤器映射到URL模式,并在dofilter方法中编写代码。 如果您想获得请求/响应之前和之后的建议,建议使用过滤器。 由于您正在为您的请求进行预处理,因此适合您的情况。 if也松散耦合,因为您可以随时删除,修改或添加其他规则,而无需修改核心servlet代码。
一个好的解决方案是使用create servlet,该servlet充当所有其他servlet的父类。 现在,在该Servlet中,将cookie处理的逻辑放在一个通用函数中,例如handlecookie。 在此Servlet的获取和发布API中,首先调用此handleCookie,然后再调用Servlet的服务API(保持为空)
在所有子servlet类中,您只能覆盖从父类继承的服务类,一切对您来说都应该很好
Servlet过滤器是您可以使用的其他解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.