Servlet请求转发、域对象

1、请求转发:是指定服务器中的某一个资源(Servlet或JSP)在处理请求的过程中,将请求转发给另外的资源(比如是一个Servlet/jsp/html等),让其他资源来处理请求。

实现请求转发的代码:

Request.getRequestDispatcher(“所转发到的资源路径”).forward(request,response);

请求转发的特点:

(1)转发前后地址栏地址不会发生变化

(2)转发是一次请求一次响应

(3)转发只能是同一个Web应用内的资源互相转发不可以是不同的Web应用之间的资源进行转发。

 

2、域对象:简单来说,域对象就是一个具有map集合的对象,能够在指定的范围内, 利用自身的map实现数据的共享.

request对象上就具有一个map集合而且request对象也具有被访问的范围(一次请求范围内),因此request对象就是一个域对象。

该对象提供了往自身的map集合中存取数据的方法:

request.setAttribute(String name, Object value);

-- 往request域中添加一个域属性
request.getAttribute(String name);

-- 获取域中的属性值

request对象的三大特征:

(1)生命周期一次请求开始时创建Request对象一次请求结束时销毁request对象。

(2)作用范围一次请求范围内。

(3)主要功能通过请求转发+域对象实现带数据到目的地

 

3、请求转发和域对象经常配合着使用,实现从Servlet中带数据到JSP进行显示!!

提示:(1)请求转发是一次请求,一次响应

           (2)转发前后地址栏地址不会发生变化

 

4、实例:利用请求转发、域对象实现(模拟)查询个人信息功能

UserServlet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//1.查询个人信息(模拟)
	String name = "王海涛";
	String age = "18";
	//2.将数据存入request对象的map中
	request.setAttribute("name", name);
	request.setAttribute("age", age);
	//3.通过转发将request对象(及其中的数据)带到JSP进行显示
	request.getRequestDispatcher("/show.jsp").forward(request, response);
}

 

show.jsp
 

<body>
	<p>姓名:<%= request.getAttribute("name") %></p>
	<p>年龄:<%= request.getAttribute("age") %></p>
</body>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值