有没有办法知道请求是否已在Servlet的doGet
方法中重定向或转发?
在我的应用程序中,当用户(其会话已超时)单击文件下载链接时,会显示登录页面,这很好。当他们登录时,会立即发送他们请求的文件,而不更新他们看到的页面,这很糟糕。基本上,他们卡在登录屏幕上(需要刷新)。
我想要做的是中断此操作,只需重定向到带有链接的页面,当重定向请求文件时。
也许有更好的方法可以解决这个问题?
答案 0 :(得分:2)
重定向发生在客户端。先前的请求指示浏览器发送新请求,因此对服务器来说它没有什么区别。 <{1}}标题可能包含一些有用的信息,但不确定。
重定向时,您可以附加一些参数,例如Referer
,然后检查参数是否存在。如果您希望将其传输到多个页面,则可能必须将其放在登录页面上的?targetPage=dowloadpage
字段中。
答案 1 :(得分:0)
如果您正在使用容器管理身份验证,那么我不相信您可以检测到这一点,因为一旦身份验证成功完成,服务器将只涉及您的资源。
如果您以不同方式管理身份验证,请解释。