jsp中的页面跳转方式

  1. 方法一 href
    在一些html的文档中,用herf实现页面跳转的比较常见,也很好用。
    jsp一般不用
  2. 方法二:getRequestDispatcher请求转发

request.getRequestDispatcher(url).forward(request,response);

这种方法比较实用,在服务器端运行,url使用相对路径,不会重新创建request和response,前后页面共享一个request,地址栏还是原来的地址,不是转发后的地址
!运用forward方法只能重定向到同一个Web应用程序中的一个资源

AND分为两种RequestDispatcher

  • ServletContext.getRequestDispatcher(String url)中的url只能使用绝对路径;
  • ServletRequest.getRequestDispatcher(String url)中的url可以使用相对路径。

因为ServletRequest具有相对路径的概念;而ServletContext对象无次概念。
3. 方法三: sendRedirect重新定向

response.sendRedirect(“login.jsp”);

与上面相反,url使用绝对路径,可以访问任何url,所以当要访问的不再同一webapp时使用比较好,会改变地址栏

转发 or 重定向

  • 转发比重定向快
  • 使用重定向可以避免用户重新加载页面时执行相同的动作
  • 重定向无法传值,这是比较头疼的一件事,jsp的话只能在session传值或
    地址栏传值,SpringMvc就解决了这一问题,百度Flash属性
  1. 方法四:利用表单的action
<form method="post" action="ChangrCount.jsp" id="form1">
     <input type="hidden" name="albumId" value="${item.albumId}" />
    <input style="width:50px;" type="text" name="count" value="${item.count}" id="namecount"/>                                
</form>

这种方法不用多说了,在input提交时比较常用

参考这位大佬
以及这位大佬

猜你喜欢

转载自blog.csdn.net/weixin_36957153/article/details/83093609