Java 从另一个jsp调用一个jsp

Java 从另一个jsp调用一个jsp,java,jsp,servlets,Java,Jsp,Servlets,我有两台运行tomcat的机器,它们在局域网中 我可以从一台机器中的jsp调用另一台机器中的另一个jsp页面吗 我试过的方法如下: <% RequestDispatcher rd=application.getRequestDispatcher("http://10.44.111.149:8080/stud/sample.jsp"); RequestDispatcher rd=application.getRequestDispatcher("/index.jsp"); rd.

我有两台运行tomcat的机器,它们在局域网中

我可以从一台机器中的jsp调用另一台机器中的另一个jsp页面吗

我试过的方法如下:

<%
  RequestDispatcher rd=application.getRequestDispatcher("http://10.44.111.149:8080/stud/sample.jsp");
  RequestDispatcher rd=application.getRequestDispatcher("/index.jsp");
  rd.include(request,response);
%>

有什么方法可以做到这一点。

您可以将客户端重定向到internet上的任何URL,但不必使用getRequestDispatcher,但是处理重定向的JSP将不会具有第一台机器生成的任何servlet/request/session上下文,除非您使用跨服务器会话对web服务器进行集群。

RequestDispatcher不适用于这种用途。相反,您可以使用response.sendRedirect。。。从您的服务器到远程服务器,如下所示

response.sendRedirect(remoteServerUrl);

从阅读getRequestDispatcher的javadoc开始。您错误地理解了getRequestDispatcher。除了GetRequestDispatcherHanks之外,还有其他方法可以做到这一点吗。是否有任何方法可以设置可由remoteServerUrl访问的标头。我试着设置response.setHeaderUSER,test;但不起作用。是否只想向远程url发送一些参数?如果是这种情况,您可以将其作为remoteServerUrl+?user=test和sendRedirect callBu一起发送,我的jsp只接受以下格式的值:字符串HeaderValue=request.getHeaderUSER;因此,为了在服务器端获取该值,我需要如何在sendRedirect之前设置该值;在你的jsp里。但是,如果您计划通过URL发送敏感信息,这可能不是一个明智的想法。我只是想知道是否有办法做到这一点,而我的jsp页面在执行字符串HeaderValue=request.getHeaderUSER时会得到一个值;
response.sendRedirect(remoteServerUrl);