如何在dispatcher.forward(request,response)之后从servlet中的请求中获取上一页URL
的帮助下重定向我
dispatcher.forward(request, response);
我正在使用 servlet,它最终在 。但在此之后,我想获取我被重定向的页面(路径),以便在下一个 servlet 命令中使用它(转到上一页)。我怎样才能得到它? 或者请求参数中没有包含之前的URL,我应该自己添加? 将非常感谢您的帮助。
I'm using the servlet which redirects me with the help of
dispatcher.forward(request, response);
in the end. But after this I want to get the page(path) from which I was redirected to use it in next servlet command(to go to previous page). How could I get it?
Or previous URL is not contained in request parameters and I should add it myself?
Will be very grateful for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
String Referer = request.getHeader("Referer");
response.sendRedirect(referer);
参见:
论坛答案链接
String referer = request.getHeader("Referer");
response.sendRedirect(referer);
SEE:
Link to forum answer
尝试使用
查看
https://tomcat.apache.org/tomcat-9.0- doc/servletapi/constant-values.html
和
如何获取客户端的url
Try using
See
https://tomcat.apache.org/tomcat-9.0-doc/servletapi/constant-values.html
and
How to get the url of the client
当你执行forward(..)时,任何方法都会返回源URL,所以我的解决方案是定义一个过滤器来将requestURL()存储在请求属性中以便稍后检查。要在 web.xml 中执行此操作,请写入:
然后在
CustomFilter
类中:然后,您可以使用 ServletRequest 对象在代码中的任何位置获取它:
Any method will return source URL when you do forward(..) so my solution is to define a filter to store the requestURL() in a request attribute to check later. To do this in your web.xml write:
Then in
CustomFilter
class:Then you can get it everywhere in your code with ServletRequest object with:
您可以将该
url
存储在HttpSession
中,并在需要时在下一个 servlet 中检索它。you can store that
url
inHttpSession
and retrieve it in next servlet when you need.