赞
踩
一、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方法得到。
作用范围最大的一个。只要服务器中建立了它,他就一直存在。直到服务器关闭。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。