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方法得到。 
     作用范围最大的一个。只要服务器中建立了它,他就一直存在。直到服务器关闭。

http://ml5858258-sina-com.iteye.com/blog/1128143

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值