servlet三种转发方式以及对象中数据的范围
一、servlet的三种转发方式
1、req.getRequestDispatcher(url).forward(req,resp);
将req和resp转发给url表示的对象 由于是转发地址栏中的地址不变
2、req.getRequestDispatcher(url).include(req,resp);
将req和resp转发给url表示的对象,同时发送PrintWriter在此处写入的信息(但是这里注意写入信息要在这一句之前写入,否则resp已经被转发就不能在写入了) 同样由于是转发地址栏中的地址不便
3、resp.sendRedirect(url);
请求客户端重新定向与url再次发送req 由于是重新定位发送,地址栏中的地址改变
url可以是html 可以是jsp 也可以是servlet
二、servlet对象中数据的范围
这三个对象是ServletRequest Session ServletContext
他们都一致用setAttribute(String key,Object value)
getAttribute(String key)
removeAttribute(String key)
来存放和取出数据。 不同之处在与他们的作用范围不同
1、ServletRequest
作用范围最小的一个,消耗资源少,用的相对比较多。
通过不同servlet间转发传递ServRequest来传递数据。
2、Session
通过ServletRequest的getSession方法得到。
从session第一次创建直到Session因超时或客户端关闭之前,数据会一直存在。
Session 常用做存入某个用户相关的数据对象。
3、ServletContext
通过Servlet的getServletConext方法得到。
作用范围最大的一个。只要服务器中建立了它,他就一直存在。直到服务器关闭。
servlet三种中转方式以及对象中数据的范围
servlet三种转发方式以及对象中数据的范围一、servlet的三种转发方式1、req.getRequestDispatcher(url).forw
