servlet(三)-如何使用传参-三种转发方式、传递参数以及对象中数据的范围

来源:互联网 发布:跨境网络诈骗的特点 编辑:程序博客网 时间:2024/05/17 04:47

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