在Java servlet中,如何将用户转发到特定的URL?例如,我的servlet在这里:
https://www.mydomain.com/myJavaServlet
并且在一些业务逻辑之后,我想将用户转发到此URL:
https://www.mydomain.com/myFile.pdf#nameddest=Chapter3
但在用户的浏览器中,必须存在以下网址:
https://www.mydomain.com/myJavaServlet
因为转发的网址必须保持隐藏状态。我认为这是转发背后的概念(如果没有,请告诉我。)
更新1:
为什么不进行以下工作?
req.getRequestDispatcher("https://www.mydomain.com/myFile.pdf#nameddest=Chapter3").forward(req, res);
更新2:
以下不会在浏览器中出错,只会挂起:
String url = "https://www.mydomain.com/myFile.pdf";
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher(url);
requestDispatcher.forward(req, res);
如果我将pdf放在网络应用目录中并尝试
String url = "/WEB-INF/myFile.pdf";
然后浏览器打开其PDF阅读器,但没有文件被加载到阅读器中(它是空的)。
如果我用
替换上面UPDATE2中的第二行RequestDispatcher requestDispatcher = req.getRequestDispatcher(url);
我得到了两个url字符串的类似结果,如上面报告的UPDATE 2。