Tomcat根据Cookie值重定向
我对此有点陌生。
我想要做什么: 在 Tomcat 下,我想检查 Web 应用程序中是否存在“user_name”cookie。如果没有,我想重定向到另一个站点来设置 cookie(同一域),然后重定向回所请求的页面。
我用来设置 user_name cookie 的服务工作正常,我只需要了解如果 cookie 在我的 Tomcat 配置中不存在或者此检查/重定向有,我是否可以检查 cookie 并重定向到该页面发生在 web 应用程序的代码中。
所以:
If cookie user_name exists
run webapp
else
redirect to https://ServerToSetUser_id?http://myhost/userrequestedpath/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这很简单,并且不是 Tomcat 特有的。它是 servlet 规范的一部分,因此适用于任何容器。您的 servlet/JSP 可以访问 request 对象rel="nofollow">HttpServletRequest。
调用
getCookies()
并遍历它返回的Cookie
来查找您想要的。如果找到,请继续。如果不这样做,请在 servlet/http/HttpServletResponse.html" rel="nofollow">HttpServletResponse 发送您的重定向,然后完成您的 servlet/JSP 处理。This is easy, and is not specific to Tomcat. It is part of the servlet spec, so works in any container. Your servlet/JSP has access to a
request
object of type HttpServletRequest.Call
getCookies()
and iterate through theCookie
s it returns to look for the one you want. If you find it, continue. If you don't, usesendRedirect("http://otherserver.com")
on HttpServletResponse to send your redirect and then finish your servlet/JSP processing.