【Web后端】jsp基础知识_请求转发和重定向

1.jsp基础知识

1.1简介

  • java server page,运行在服务器端的页面
  • java代码+html代码
  • java代码全部都放在<%%>中间

1.2jsp表达式

  • 作用:将动态信息显示在页面上,以字符串方式,返回给浏览器端
  • 语法:<%=变量或表达式%>
  • 注意:不能使用分号放在后面

2.请求转发和重定向

2.1 请求转发

  • 一个web资源收到客户端浏览器请求后,通知服务器去调用另外一个web资源来进行处理,服务器端行为

2.1.1 工作原理

2.1.2 RequestDispatcher接口

  • HttpServletRequest调用getRequestDispatcher(String path):可以是绝对路径,也可以是相对路径
  • ServletContext调用getRequestDispatcher(String):是绝对路径封装由路径所标识的web资源
  • forward(req,resp):将请求转发给另一个web资源
  • include(req,resp):将其他web资源作为响应内容包含进来

2.1.3 特性

  • 请求转发不支持跨域访问,只能跳转到当前应用中的资源
  • 请求转发,浏览器上的URL地址不改变,浏览器不知道服务器内部发生了请求转发,也不知道转发的次数
  • 参与请求转发的web资源之间,共享同一个request和response对象
  • 可以在请求范围内,使用setAttribute(名,值) ,getAttribute(名),来传递数据

2.2 重定向

  • 当前浏览向服务器发送请求时,通知浏览器重新定向到另一个web资源,客户端行为
  • 响应码:200表示成功,302表求重定向,404 资源不可访问,500 服务器内部错误(程序错误)

2.2.1 工作原理

2.2.2 重定向特性

  • 浏览器地址栏会发生变化,变成第二次请求的地址
  • 是两次request和response,不能在请求范围内传数据
  • 可以跨域,可以重定向任何网址

2.3 区别

  • 1.请求转发是一次请求,重定向是两次请求
  • 2.请求转发浏览器地址不变,重定向浏览器地址改变
  • 3.请求转发由于是一次请求,所以效率更高
  • 4.请求转发可以在请求范围内传递数据,重定向不可以在请求范围内传递数据
  • 5.请求转发不支持跨域,重定向支持跨域
  • 6.请求转发是属于服务器端行为,重定向是属于客户端行为

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690067.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

37 | 什么时候会使用内部临时表?

union 执行流程 (select 1000 as f) union (select id from t1 order by id desc limit 2);key=PRIMARY,说明第二个子句用到了索引 id。 Extra 字段,表示在对子查询的结果集做 union 的时候,使用了临时表 (Using temporary)。 执行流程 创建一个内存临时表,这个临时表只有…

Scala编程入门:从零开始的完整教程

目录 引言环境准备创建第一个Scala项目基本语法高阶概念进阶资源结语 引言 Scala是一种强大的、静态类型的、多范式编程语言&#xff0c;它结合了面向对象和函数式编程的特点。本教程将指导您如何从零开始学习Scala&#xff0c;并搭建一个简单的开发环境。让我们开始探索Scala…

ACM实训冲刺第四天

【碎碎念】最近的任务有点繁重&#xff0c;所以考虑到实际情况&#xff0c;视频学习决定放置一段时间&#xff0c;重点是学校的实训练习题&#xff0c;对于我而言&#xff0c;目标不是优秀/良好&#xff0c;综合考虑我的实际情况&#xff0c;保佑我及格、顺利通过就可&#xff…

建筑、室内设计师如何利用AI绘画辅助完成一套设计工作流?超长干货深度好文建议收藏!

2023年是AI人工智能突然大爆发的元年 所有行业都受到了AI的冲击 对设计师来说也迎来了新一轮的效率革命 新事物的到来 有人热情学习和接受 也有人担忧害怕和拒绝 担心自己被取代 其实 取代你的并不是AI 而是会使用AI的设计师 常用的AI工具有哪些&#xff1f; 对于设…

ICode国际青少年编程竞赛- Python-4级训练场-嵌套for循环入门

ICode国际青少年编程竞赛- Python-4级训练场-嵌套for循环入门 1、 for i in range(3):Dev.step(3)for j in range(3):Dev.turnLeft()Dev.step(-2)Dev.turnLeft()2、 for i in range(3):Dev.turnLeft()Dev.step(4)Dev.turnRight()Dev.step(2)for i in range(4):Dev.step(2)D…

alist网盘自动同步

alist网盘自动同步 alist可以设置目录定时转存到各个网盘&#xff0c;做到夸网盘&#xff0c;多备份的效果可以将自己挂载的alist 下的各个目录相互间进行同步&#xff0c;原理是采用alist原始api调用执行&#xff0c;同步原理是匹配文件名称是否相同&#xff0c;相同会跳过同…

八年三顾A股“茅庐”无果,富友支付“减利”后只能赴港上市?

都说事不过三&#xff0c;此前三次想要“进宫”&#xff0c;却三次与A股“无缘”的富友支付&#xff0c;最终无奈选择南下港交所上市了。 据港交所披露&#xff0c;上海富友支付服务股份有限公司&#xff08;简称“富友支付”&#xff09;于2024年4月30日正式向港交所递交招股…

一文了解CRM系统帮助中心:从认识到搭建

众所周知&#xff0c;客户关系管理&#xff08;CRM&#xff09;系统是企业必不可少的一部分。CRM系统到底是什么&#xff1f;为什么我们需要搭建一个CRM系统的帮助中心&#xff1f;又如何去搭建呢&#xff1f;本文将来一一解答这些问题。 一、什么是CRM系统 CRM系统&#xff0c…

书生浦语训练营第四次课作业

基础作业 环境配置 拷贝internlm开发机内的环境 studio-conda xtuner0.1.17# 激活环境 conda activate xtuner0.1.17 # 进入家目录 &#xff08;~的意思是 “当前用户的home路径”&#xff09; cd ~ # 创建版本文件夹并进入&#xff0c;以跟随本教程 mkdir -p /root/xtuner0…

解密某游戏的数据加密

前言 最近有个兄弟通过我的视频号加我&#xff0c;咨询能否将这个dubo游戏游戏开始前就将数据拿到从而进行押注&#xff0c;于是通过抓包工具测试了下&#xff0c;发现数据有时候是明文&#xff0c;有时候确实密文&#xff0c;大致看了下有这几种加密&#xff1a;Md5aes、Md5&a…

【.NET Core】你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟

你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟 文章目录 你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟一、概述二、CallerMemberNameAttribute类三、CallerFilePathAttribute 类四、CallerLineNumberAttribute 类…

Sass语法介绍-运算

04 【Sass语法介绍-运算】 1.前言 运算是一种通过已知量可能的组合&#xff0c;获得新的量的行为。Sass 中也为我们提供了各种各样的运算&#xff0c;以便我们更好的处理样式代码。本节我们将学习 Sass 中的数字运算、关系运算、除法运算、颜色运算、字符串运算等等… 2.什么…