域对象:所知道的已经有两个域对象了
ServletContext:服务器一启动,为每个web应用创建一个ServletContext对象,所有servlet实例共享对象。
request:一次请求的范围。
request对象同时也是一个域对象,开发人员通过request对象在实现转发时,把数据通过request对象带给其它web资源处理
setAttribute方法
getAttribute方法
removeAttribute方法
getAttributeNames方法
request对象提供了一个getRequestDispatcher方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发,从而共享请求中的数据
请求转发传递数据
请求转发forward 和 请求重定向redirect 区别 ???
1) 转发一次请求 一次响应; 重定向两次请求 两次响应
2) 转发URL地址 不变,重定向URL地址改变第二个资源地址
3) 转发只能转发给同一个网站内部资源,重定向可以定向到任何网站
4) 转发中/属于服务器内部路径 不写工程名,重定向/来自客户端必须要写工程名
创建RequestServlet4 RequestServlet5
* 使两个Servlet连续执行 1) 重定向 2) 转发
最佳应用:Servlet处理数据得到数据处理结果,通过请求转发,将处理结果传递JSP显示
* Servlet处理数据获得结果,JSP负责数据显示
request.setAttribute传递数据,必须要结合 request.getRequestDispatcher().forward 转发一起使用!