当前位置: 首页 > wzjs >正文

微信网站与响应式网站广东建设信息网成绩查询

微信网站与响应式网站,广东建设信息网成绩查询,福州自助建设网站,那个网站报道过鸟巢建设当处理请求时,有时请求到不同的资源,那重定向和转发是必不可少的操作。本文将深入探讨重定向和转发的使用方法、区别、适用场景。 本文目录 一、转发1. 转发实现2. 转发时如何携带参数3. 转发的特点 二、重定向1. 实现重定向2. 重定向时如何携带参数2.1 …

        当处理请求时,有时请求到不同的资源,那重定向和转发是必不可少的操作。本文将深入探讨重定向和转发的使用方法、区别、适用场景。

本文目录

    • 一、转发
      • 1. 转发实现
      • 2. 转发时如何携带参数
      • 3. 转发的特点
    • 二、重定向
      • 1. 实现重定向
      • 2. 重定向时如何携带参数
        • 2.1 在URL中拼接参数
        • 2.2 使用 RedirectAttributes
      • 3. 重定向的特点
    • 三、重定向和转发的区别

一、转发

        转发是服务器内部的一种操作。当服务器接收到客户端的请求后,会把这个请求直接转发到另一个资源,如JSP、Servlet等进行处理。在这个过程中,客户端对请求被转发这件事毫不知情,其地址栏中的URL也不会发生任何变化。


1. 转发实现

        通过返回一个带有 forward: 前缀的字符串来实现转发。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class ForwardController {@RequestMapping(value = "/forward", method = RequestMethod.GET)public String forward() {// 转发到另一个请求处理方法return "forward:/target";}@RequestMapping(value = "/target", method = RequestMethod.GET)public String targetPage() {return "target";}
}

2. 转发时如何携带参数

        由于转发是服务器内部操作,请求域中的数据会被保留,所以可以直接在请求域中设置参数。代码如下:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletRequest;@Controller
public class ForwardWithParamsController {@RequestMapping(value = "/forward", method = RequestMethod.GET)public String forward(HttpServletRequest request) {// 设置请求域中的参数request.setAttribute("message", "123");return "forward:/target";}@RequestMapping(value = "/target", method = RequestMethod.GET)public String targetWithParams(HttpServletRequest request) {String message = (String) request.getAttribute("message");System.out.println("接收到的参数: " + message);return "target";}
}

3. 转发的特点

  • 服务器内部操作
  • 共享请求域
  • 地址栏不变



二、重定向

        重定向是服务器向客户端发送一个状态码,通常是302,以及一个新的URL,客户端接收到这些信息后会自动向新的URL发起请求。因此,重定向会使客户端的地址栏发生改变。


1. 实现重定向

        可以通过返回一个带有 redirect: 前缀的字符串来实现重定向。代码如下:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class RedirectController {@RequestMapping(value = "/redirect", method = RequestMethod.GET)public String redirect() {// 重定向到另一个请求处理方法return "redirect:/target";}@RequestMapping(value = "/target", method = RequestMethod.GET)public String target() {return "target";}
}

2. 重定向时如何携带参数

        由于重定向是两次请求,请求域中的数据不会被保留,所以需要采用其他方式携带参数。

2.1 在URL中拼接参数
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class RedirectWithParamsController {@RequestMapping(value = "/redirect", method = RequestMethod.GET)public String redirect() {String message = "123";return "redirect:/target?message=" + message;}@RequestMapping(value = "/target", method = RequestMethod.GET)public String target(String message) {System.out.println("接收到的参数: " + message);return "target";}
}
2.2 使用 RedirectAttributes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;@Controller
public class RedirectWithRedirectAttributesController {@RequestMapping(value = "/redirect", method = RequestMethod.GET)public String redirectWithRedirectAttributes(RedirectAttributes redirectAttributes) {redirectAttributes.addFlashAttribute("message", "123");return "redirect:/target";}@RequestMapping(value = "/target", method = RequestMethod.GET)public String target() {return "target";}
}

使用 RedirectAttributesaddFlashAttribute 方法添加参数,这些参数会被存储在会话中,在重定向后的第一次请求中可以获取到,之后会自动从会话中清除。


3. 重定向的特点

  • 客户端重新请求
  • 不共享请求域
  • 地址栏改变



三、重定向和转发的区别

比较项转发重定向
操作主体服务器内部服务器和客户端之间
请求次数一次两次
请求域数据共享不共享
地址栏不变改变
适用场景同一应用内的资源跳转,需要共享请求数据不同应用之间的跳转,或者需要刷新页面



← 上一篇 Java进阶——常用类及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——数组超详细整理 →

文章转载自:

http://9ViDmve9.fbbmg.cn
http://u4PQUmM4.fbbmg.cn
http://E6ORhNem.fbbmg.cn
http://1rnA2eCX.fbbmg.cn
http://99wr2xNg.fbbmg.cn
http://XIOAjqlj.fbbmg.cn
http://TcrcuM2D.fbbmg.cn
http://LT6tJRhS.fbbmg.cn
http://1Aakx9VK.fbbmg.cn
http://herdOAQB.fbbmg.cn
http://XUYC1s0M.fbbmg.cn
http://pKdKmQB1.fbbmg.cn
http://xWFv6dvy.fbbmg.cn
http://MA2PXNhH.fbbmg.cn
http://9FLY9aHM.fbbmg.cn
http://J0L45gAj.fbbmg.cn
http://NVdbH10v.fbbmg.cn
http://M1SLPXPd.fbbmg.cn
http://2T2ZF2TR.fbbmg.cn
http://mrMSBk70.fbbmg.cn
http://nu1Xi7pU.fbbmg.cn
http://sKYQeuDR.fbbmg.cn
http://nym6af0p.fbbmg.cn
http://MkxHagr3.fbbmg.cn
http://C9LiX1WN.fbbmg.cn
http://iN44A0uG.fbbmg.cn
http://DA7b65sU.fbbmg.cn
http://sy7ao5tL.fbbmg.cn
http://rtj9FZRm.fbbmg.cn
http://zmHpWlzI.fbbmg.cn
http://www.dtcms.com/wzjs/673121.html

相关文章:

  • 网站项目需求文档专做企业的p2p网站
  • 黄页推广软件网站营销单页网站
  • 多伦多网站建设多少钱企业wordpress主题
  • 做学校后台网站用什么浏览器网络广告的特征是()多选题
  • vps服务器怎么做网站私人承接做网站多少钱
  • 公司商标设计网站软件开发必备编程工具
  • 网站企业地图网址最新连接查询
  • seo刷网站网站dns设置
  • 国外做问卷赚购物券等的网站wordpress default template
  • 网站备案图标代码三明住房建设局网站
  • 朝阳区住房和城乡建设部网站高端网站建设哪里好
  • 如何制作app网站有关做美食的网站
  • 空壳网站广东深圳是一个城市吗
  • 阿里云域名怎么做网站网站开发都用什么软件
  • 英语网站新增两个栏目海报设计制作网站
  • 深圳交易平台网站开发蛋糕网站制作答辩
  • wap网站报价docker wordpress 发布
  • asp网站如何做伪静态廊坊cms建站系统
  • 网站建设 php jsp .nethtml 5电影网站源码
  • 网站改版怎么办如何修改wordpress的语言
  • 天津手机网站公司做it题的网站
  • 上海网站被查wordpress手机版设置
  • 公司网站维护都需要怎么做wordpress加载视频
  • 怎样在设计网站做图赚钱吗做企业网站的费用
  • 网站建设客户确认单自建网站推广的最新发展
  • 做网站服务器配置怎么选深圳软件开发招聘信息
  • 在线做生存曲线的网站有哪些国外社交网站做的比较好的是
  • 技术合同 网站开发做羞羞网站
  • 做行业网站如何采集信息好的做网站的公司
  • 网站建设网站免费淘宝站外网站可以做吗