Java Servlet:如何转发URL?

时间:2014-04-08 23:21:45

标签: java servlets

在Java servlet中,如何将用户转发到特定的URL?例如,我的s​​ervlet在这里:

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。

0 个答案:

没有答案