当前位置:首页 > 实用技巧 >

servlet页面跳转的几种方式(servlet为什么要跳转)

来源:原点资讯(www.yd166.com)时间:2024-01-15 22:24:38作者:YD166手机阅读>>

转发和重定向的页面跳转方式
  • 页面跳转方式,本质上只有2种方式:转发 重定向
  • 但在SpringMVC的具体实现上,转发可以细分为:普通的页面转发 经由action方法的页面转发
  • 重定向可以细分为:普通的页面重定向 经由action方法的页面重定向
  • 所以在具体的代码实现层面上,页面跳转可以细分为4种方式
  • 本例中的SpringMVC项目配置和SpringMVC博客集(指SpringMVC 02)一致
  • 在webapp/admin目录下新建main.jsp,作为各种请求的最终响应页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>main.jsp</title> </head> <body> <h2>main......page......</h2> </body> </html>

  • webapp/index.jsp如下,是包含四种页面跳转方式的前端页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>index.jsp</title> </head> <body> <h2>4种转发和重定向的方式</h2> <hr> <a href="${pageContext.request.contextPath}/one.action">1.普通转发页面(对请求的默认处理方式)</a><br><br> <a href="${pageContext.request.contextPath}/two.action">2.action转发页面</a><br><br> <a href="${pageContext.request.contextPath}/three.action">3.普通重定向页面</a><br><br> <a href="${pageContext.request.contextPath}/four.action">4.action重定向页面</a> </body> </html>

  • 新建控制器:JumpAction,其中含有测试4种页面跳转方式的action方法

package com.example.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class JumpAction { /** 1. 之前在springmvc.xml中配置了视图解析器,这是SpringMVC处理页面跳转的默认方式,属于普通转发跳转 会将页面转发到action方法的返回值和前缀后缀拼接形成的路径所对应资源页面 */ @RequestMapping("/one") public String one(){ System.out.println("one action被访问......"); return "main"; } /** 2. * 下面是我们注册的视图解析器的父类:UrlBasedViewResolver,中的几个参数 * 通过对底层源代码的解读,可知在action方法的返回值字符串中,如果以"redirect:"或者"forward:"开头则不会执行视图解析器的路径拼接 * 而是会按照redirect或forward完成页面重定向或页面跳转 * * public static final String REDIRECT_URL_PREFIX = "redirect:"; * public static final String FORWARD_URL_PREFIX = "forward:"; * private String prefix = ""; * private String suffix = ""; * * 注意:不管要使用action的页面转发或者是action的页面重定向,由于action方法是控制器内部的方法 * 所以要想访问action方法必须访问到控制SpringMVC控制器,而要访问控制器,前提是要能被SpringMVC核心处理器处理(也就是底层的servlet) * 而要想被底层servlet处理,必须满足请求路径的通配条件,这是我们在web.xml文件中配置好的"*.action" * 所以要在请求的末尾加上".action"以满足请求的通配要求,才有资格被交给SpringMVC的控制器中的方法处理 */ @RequestMapping("/two") public String two(){ System.out.println("other action被访问......"); return "forward:/one.action"; } /** * 如果是普通重定向,直接重定向到项目资源,不需要控制器中的action方法的处理,请求路径后不用跟".action",直接写重定向的资源路径即可 * */ @RequestMapping("/three") public String three(){ System.out.println("three action被访问......"); return "redirect:/admin/main.jsp"; } /** * 要在请求的末尾加上".action"以满足请求的通配要求,才有资格被交给SpringMVC的控制器中的方法执行 * */ @RequestMapping("/four") public String four(){ System.out.println("other action被访问...."); return "redirect:/three.action"; } }

  • 部署并启动tomcat测试
  • 网站首页

servlet页面跳转的几种方式,servlet为什么要跳转(1)

  • 测试1:普通转发页面
  • 响应页面(left),控制台输出(right)如下:重点关注响应页面的地址栏地址,由于访问次序为one.action --->转发--->main.jsp,所以显示one.action

servlet页面跳转的几种方式,servlet为什么要跳转(2)

  • 测试2:action转发页面
  • 响应页面(left),控制台输出(right)如下:重点关注响应页面的地址栏地址,由于访问次序为two.action --->转发---> one.action --->转发--->main.jsp,所以显示two.action

servlet页面跳转的几种方式,servlet为什么要跳转(3)

  • 测试3:普通重定向页面
  • 响应页面(left),控制台输出(right)如下:重点关注响应页面的地址栏地址,由于访问次序为three.action --->重定向--->main.jsp,所以显示main.jsp

servlet页面跳转的几种方式,servlet为什么要跳转(4)

  • 测试4:action重定向页面
  • 响应页面(left),控制台输出(right)如下:重点关注响应页面的地址栏地址,由于访问次序为four.action --->重定向---> three.action --->重定向--->main.jsp,所以显示main.jsp

servlet页面跳转的几种方式,servlet为什么要跳转(5)

,

栏目热文

servlet中怎么跳转页面(怎样使servlet在网页中显示)

servlet中怎么跳转页面(怎样使servlet在网页中显示)

SpringBootspringboot的目的是为了简化spring应用的开发搭建以及开发过程。内部使用了特殊的处理,使...

2024-01-15 21:51:38查看全文 >>

servlet层如何设置定向跳转(servlet跳转地址不对怎么办)

servlet层如何设置定向跳转(servlet跳转地址不对怎么办)

1、跳转的方式转发: forward重定向: redirect2、转发和重定向代码怎么完成1、转发 //请求转发到/b对...

2024-01-15 22:12:24查看全文 >>

servlet查询成功跳转界面(servlet怎么返回页面)

servlet查询成功跳转界面(servlet怎么返回页面)

成果图我们完成的就是下面的项目!搭建配置环境配置Tomcat导入开发包建立开发用到的程序包在数据库创建相对应的表开发DA...

2024-01-15 22:06:26查看全文 >>

servlet跳转至页面路径(servlet跳转页面失败是什么原因)

servlet跳转至页面路径(servlet跳转页面失败是什么原因)

前言一般来说当我们在登录页面填写信息提交后,会有相应的Servlet获取,与数据库中已有的信息进行比对,若有,则不会直接...

2024-01-15 21:53:12查看全文 >>

servlet 跳转到另一个servlet(servlet为什么要跳转)

servlet 跳转到另一个servlet(servlet为什么要跳转)

请求转发@Override protected void doGet(HttpServletRequest req, H...

2024-01-15 21:50:10查看全文 >>

编写好的servlet如何在网页上打开(servlet怎么运行)

编写好的servlet如何在网页上打开(servlet怎么运行)

基本分层思路是已经完成查询所有新闻的方法在DAO中最后将数据返回现在我们去service中完成代码,先准备一个接口编写一...

2024-01-15 22:12:29查看全文 >>

servlet的跳转有哪两种(servlet为什么要跳转)

servlet的跳转有哪两种(servlet为什么要跳转)

1.TCP和UDP的区别TCP是面向连接的,UDP是面向无连接的;TCP只能一对一通信,UDP支持一对一,一对多,多对一...

2024-01-15 21:45:02查看全文 >>

实现servlet有几种方法(servlet各个方法的作用)

实现servlet有几种方法(servlet各个方法的作用)

1、什么是 servlet?  JAVA Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 W...

2024-01-15 22:29:38查看全文 >>

车前挡风玻璃开裂有几个原因(汽车前挡风玻璃裂一条缝什么原因)

车前挡风玻璃开裂有几个原因(汽车前挡风玻璃裂一条缝什么原因)

质信车服,保障品质,坚守诚信。我的一个客户买了一辆二手松花江中意,车况一般所以比较便宜,开了没有2个月,开过来说前风挡玻...

2024-01-15 21:55:11查看全文 >>

汽车前挡风玻璃质量问题会开裂吗(汽车前挡风玻璃小裂纹需要修复吗)

汽车前挡风玻璃质量问题会开裂吗(汽车前挡风玻璃小裂纹需要修复吗)

国庆节前夕,理想汽车又被车主爆出问题:理想ONE前挡风玻璃存在“质量缺陷”,并呼吁其他车主不要贴前挡风玻璃膜,“否则玻璃...

2024-01-15 22:07:13查看全文 >>

文档排行