Java 调用servlet后的不同url
我有一个servlet,它做了一些事情,当它做了一些事情,将一些事情放入请求中,然后调用另一个servlet,后者反过来调用jsp页面。 我编写代码: 第一个servlet(InserisciLezione) 第二个servlet(TakeDates) 这可以正常工作,但问题是,在页面的url中,我尚未:Java 调用servlet后的不同url,java,servlets,forwarding,requestdispatcher,Java,Servlets,Forwarding,Requestdispatcher,我有一个servlet,它做了一些事情,当它做了一些事情,将一些事情放入请求中,然后调用另一个servlet,后者反过来调用jsp页面。 我编写代码: 第一个servlet(InserisciLezione) 第二个servlet(TakeDates) 这可以正常工作,但问题是,在页面的url中,我尚未: http://localhost:8080/Spinning/InserisciLezione?data=20-02-2013 如果我刷新页面,会再次调用第一个servlet,我不希望这样
http://localhost:8080/Spinning/InserisciLezione?data=20-02-2013
如果我刷新页面,会再次调用第一个servlet,我不希望这样。
我想要
http://localhost:8080/Spinning/GestioneCalendario.jsp
为什么??
提前谢谢 如果我的记忆很好(我很久没有使用原始servlet了),那么应该使用重定向而不是转发
您可以使用response.sendRedirect(url)方法
干杯,如果我的记忆很好(我很久没有使用原始servlet了),你应该使用重定向而不是转发
您可以使用response.sendRedirect(url)方法
干杯,您可以使用
发送重定向
而不是转发
向前地
注意事项:
在将响应提交给客户端之前,需要调用Forward,否则您将导致异常。
限制:
您不能在上下文之外转发请求,因此请求应该在您的站点中进行转发。
优势:
性能方面,它会更快一些,因为第二次调用是在不了解容器的情况下进行的,并且不会出现从客户端到服务器的往返
http
状态代码302,以便浏览器发出新请求。重定向需要从浏览器到服务器的一次往返优势:
您还可以访问上下文之外的servlet,因此可以调用其他网站中的servlet。
限制:
存在往返性能方面的位慢和
您可以使用
sendRedirect
而不是forward
向前地
注意事项:
在将响应提交给客户端之前,需要调用Forward,否则您将导致异常。
限制:
您不能在上下文之外转发请求,因此请求应该在您的站点中进行转发。
优势:
性能方面,它会更快一些,因为第二次调用是在不了解容器的情况下进行的,并且不会出现从客户端到服务器的往返
http
状态代码302,以便浏览器发出新请求。重定向需要从浏览器到服务器的一次往返优势:
您还可以访问上下文之外的servlet,因此可以调用其他网站中的servlet。
限制:
存在往返性能方面的位慢和
RequestDispatcher接口提供了将请求分派到另一个资源的工具,该资源可以是html、servlet或jsp。该接口还可用于包含另一个资源的内容。这是servlet协作的一种方式 在你的情况下,你得到了这个
http://localhost:8080/Spinning/GestioneCalendario.jsp
因为这个servlet
RequestDispatcher dispatcher = request
.getRequestDispatcher("GestioneCalendario.jsp");
dispatcher.forward(request, response);
页面刷新将始终将您重定向到您使用servlet的url。这就像调用ajax事件。
无论如何,我可以看到你不需要使用前进的方法,尝试使用
response.sendRedirect(your_url);
RequestDispatcher接口提供了将请求分派到另一个资源的工具,该资源可以是html、servlet或jsp。该接口还可用于包含另一个资源的内容。这是servlet协作的一种方式 在你的情况下,你得到了这个
http://localhost:8080/Spinning/GestioneCalendario.jsp
因为这个servlet
RequestDispatcher dispatcher = request
.getRequestDispatcher("GestioneCalendario.jsp");
dispatcher.forward(request, response);
页面刷新将始终将您重定向到您使用servlet的url。这就像调用ajax事件。
无论如何,我可以看到你不需要使用前进的方法,尝试使用
response.sendRedirect(your_url);
也许您想使用
发送重定向
。这与转发请求不同(它只是告诉浏览器加载新页面),可能您想使用发送重定向
。这与转发请求不同(它只是告诉浏览器加载新页面)