java - 如何在java中使用路径创建会话 cookie,同时还具有良好的函数编程编程实践

  显示原文与译文双语对照的内容
0 0

我非常喜欢函数式编程,我喜欢它的不变性概念,而且它也不是函数的副作用概念。

我正在尝试将一些概念引入 java 。

现在我有一个接收请求的servlet,如果浏览器没有向服务器发送 cookie,那么我想创建一个 cookie 。

现在我不想保存这个逻辑,因为它是多个servlet的共同。 所以我将它提取到一个cookie管理器中,这样做:

CookieManager.java.handleCookies(request, response )

  1. 检查浏览器是否已经发送 cookie 。
  2. 如果未设置带有特定路径的新会话cookie值的cookie 。

我不喜欢它因为现在servlet会调用 CookieManager.java.handleCookie,我宁愿它返回某种响应,然后在我的servlet wihtout中返回它影响它的参数。

任何人都可以提出一个既优雅,无副作用,性能卓越的解决方案?

谢谢

时间:原作者:7个回答

0 0

你可以使用servlet过滤器。 这将非常适合你的情况。 你可以将过滤器映射到 URL Pattern,并在doFilter方法中编写代码。 如果希望请求/响应的pre和 post prcoess具有前和后,则推荐使用筛选器。 因为你正在为你的请求做预处理,你需要它适合你的情况。 如果也是松散耦合的,因为可以在不修改核心servlet代码的情况下随时删除。修改或者添加其他规则。

原作者:
0 0

一个好的解决方案是使用创建一个 servlet,它将作为所有其他servlet的父类。 现在在这个servlet中,将这个cookie处理逻辑放在一个通用的函数中说 handlecookie 。 首先,调用这个servlet的APIs,然后调用servlet的服务 API ( 保持这个空)

在al子servlet类中,你只能重写从父类继承的服务类,而事情应该适合你。

你可以使用的其他解决方案是 Servlet过滤器。

原作者:
...