Serviet交互-作用域-JSP

一 前后端交互流程

​ 创建web项目------->发布项目----浏览器发送http://localhost:8080/xx/index.html请求---->服务器返回请求资源(index.html)—页面填写数据并以get方式提交表单http://localhost:8080/xx/test?username=test–>服务端Servlet接收其前台参数:req.getParameter(“username”) 并在控制台打印
Serviet交互-作用域-JSP

二 Servlet之间的信息共享与跳转

2.1 信息共享

​ 为什么要信息共享? 职责分离: 前台可以通过jsp动态的展示数据,后台处理数据(从某些层面上来说jsp属于Servlet)

2.2 Serviet 三大职责

接收请求参数, 处理数据, 页面跳转;

2.3 跳转方式

2.3.1 请求转发(forword)概述及其特点

​ 概述:
​ 客户端向服务端发送请求(地址栏:URL),服务端将通过URL访问到的资源读取后发给浏览器;

​ 特点: 不能跨域----可直接访问WEB-INF下的资源----地址栏不改变-----请求数据相同----末端response才生效

​ 演示: 多个Servlet之间的跳转Serviet交互-作用域-JSP
请求转发跨域 404: 无法跨域跳转
Serviet交互-作用域-JSP

2.3.2 重定向(redirect)概述及其特点

​ 概述: 浏览器发送请求------->服务器收到请求并调用Servlet处理----->将处理后的数据重定向给浏览器

​ 特点: 可跨域----地址栏会改变----不共享请求头----不能直接访问WEB-INF下的资源----一次访问两次请求

​ 演示: A–重定向至—>B (注意地址栏和重定向:上下文路径 “/xx”)
Serviet交互-作用域-JSP

2.3.3 请求包含(基本不用)

​ 获取所有请求响应结果数据至浏览器;

2.4 跳转前注意事项

​ metadata-complete=“false” ------>启动注解,web.xml配置改为true

三 四大域对象有效范围及其经典案例

4.1 四大域对象

​ page域指的是PageContext---------------->jsp页面有效

​ request域指的是HttpServletRequest---->一次请求: 一请求 一对象

​ session 域指的是HTTPSession----------->一次会话: 不关闭浏览器

​ application 域指的是ServletContext------->当前web应用: 服务器

4.2 经典案例演示

request域 测试: 输入URL 访问,每敲一次回车刷新后都是一个新的对象,所以不会累加
Serviet交互-作用域-JSP

session 域 测试: 每一次刷新相当于一次请求,值累加,当浏览关闭时该对象被销毁,值归零!
Serviet交互-作用域-JSP
application 域测试: 使用不同浏览器测试,值累加; 当关闭tomcat 时,该对象被销毁,值归零;
Serviet交互-作用域-JSP

4.3 数据共享对象的操作

  1. ​ 对象里面存入值: requset.setAttribute(“key”,value);
  2. ​ 作用域对象取值: request.getAttribute(“key”);
  3. ​ 注意:
  • ​ 取值都是使用域对象名.
  • ​ requset.getAttribute(“key”) ---->作用域中取值 requset.setParemater(“key”);----->前台参数取值

相关文章:

  • 2021-11-20
  • 2022-12-23
猜你喜欢
  • 2021-12-20
  • 2021-08-25
  • 2021-09-26
  • 2021-06-26
  • 2021-10-05
  • 2022-02-03
  • 2021-08-06
相关资源
相似解决方案