request是一个域对象
request对象也是一个存储数据的区域对象
setAttribute(String name Object o)
getAttribute(String name)
removeAttribute(String name)
request域的作用范围:
一次请求中;
重定向:客户端向servlet1要资源,servlet1没有就反馈客户端是servlet2有资源,这样客户端就访问
servlet2获取资源
请求转发:客户端向servlet1要资源,servlet1没有资源,就自己向servlet2要了资源,反馈给客户端
request完成请求转发
获得请求转发器-----path是转发到那个地址和内容
request.getRequestDispatcher(String path)
通过转发器对象转发----
request.getRequestDispatcher(path).forward(ServletRequest request,ServletResponse response);
例子:
//想request域中存储数据
request.setAttribute("name", "tom");
//servlet1将请求转发给servlet2
RequestDispatcher dispatcher = request.getRequestDispatcher("/Servlet2");
//从request域中取出数据
Object obj = request.getAttribute("name");
注意:ServletContext域和Request域的生命周期
ServletContext:
创建:服务器启动
销毁:服务器关闭
域的作用范围:整个web应用
request:
创建:访问的时候创建request
销毁:响应结束request销毁
域的作用范围:一次请求
注意:转发与重定向
1.重定向两次请求,转发一次请求
2.重定向地址栏的地址变化,转发地址不变
3.重定向可以访问外部网站,转发只能访问内部资源
4.转发的效率优于重定向
注意:客户端地址与服务端地址的写法
客户端地址:
是客户去访问服务器的地址,服务器外部的地址
特点:写上web应用名字
客户端地址的例子
直接输入
重定向
服务器端地址:
服务器内部资源的跳转地址
特点:不需要写web应用名字
服务器端地址的例子:
转发
在注册时我们使用BeanUtils:将Map中的数据映射到实体中,根据Map的key与实体的属性进行对比
request的简介,重定向,请求转发,注意事项
最新推荐文章于 2024-08-26 14:02:14 发布