Netty 实战:如何编写一个麻小俱全的 Web 框架
写 Cookie 和读 Cookie 面对着一样的题目,就是写的时辰必要借助于 HttpResponse,将 Cookie 写入 HttpResponse 的 Header 中去,可是用户执行写 Cookie 操纵的时辰,基础就不体谅 HttpResponse,乃至他在写的时辰,还没有 HttpResponse。 这时的做法也是将必要写到 HttpResponse 中的 Cookie 生涯在 ThreadLocal 中,然后在最后通过 channel 写相应之前,将 Cookie 拿出来塞到 HttpResponse 中去即可,如下列代码所示:
拦截器拦截器是一个框架很重要的成果,通过拦截器可以实现一些通用的事变,好比登录鉴权,事宜处理赏罚等等。记得在 Servlet 的年月,拦截器长短常重要的一个成果,根基上每个体系城市在 web.xml 中设置许多的拦截器。 拦截器的根基头脑是,通过陆续串的类去执行某个拦截的操纵,一旦某个类中的拦截操纵返回了 false,那就终止后头的全部流程,直接返回。 这种场景很是适实用责任链模式去实现,而 Netty 的 pipeline 自己就是一个责任链模式的应用,以是我们就可以通过 pipeline 来实现我们的拦截器。这里我界说了两种范例的拦截器:前置拦截器和后置拦截器。 前置拦截器是在处理赏罚用户的营业逻辑之前的一个拦截操纵,假如该操纵返回了 false 则直接 return,不会继承执行用户的营业逻辑。 后置拦截器就有点差异了,后置拦截器首要就是处理赏罚一些后续的操纵,由于后置拦截器再跟前置拦截器一样,当操纵返回了 false 直接 return 的话,已经没故意义了,由于营业逻辑已经执行完了。 领略清晰了详细的逻辑之后,实现起来就很简朴了,如下列代码所示: 前置拦截器后置拦截器(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |