【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.请求转发是属于服务器端行为,重定向是属于客户端行为

相关推荐

  1. Web请求

    2024-05-12 17:50:03       29 阅读
  2. 会话技术+请求转发+定向

    2024-05-12 17:50:03       56 阅读
  3. SpringMVC转发定向

    2024-05-12 17:50:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 17:50:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 17:50:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 17:50:03       82 阅读
  4. Python语言-面向对象

    2024-05-12 17:50:03       91 阅读

热门阅读

  1. 若依前端分离版-APP(UNI APP)表单添加验证

    2024-05-12 17:50:03       28 阅读
  2. GDB 使用python

    2024-05-12 17:50:03       37 阅读
  3. sql中的lag()和lead()是什么意思

    2024-05-12 17:50:03       36 阅读
  4. Go语言基础知识学习

    2024-05-12 17:50:03       26 阅读
  5. Android App开机启动

    2024-05-12 17:50:03       37 阅读