Jsp和Servlet之间的数据共享(数据传递和数据调用

来源:互联网 发布:hello树先生 知乎 编辑:程序博客网 时间:2024/05/20 01:45
 
jsp和servlet之间的数据共享(数据的传递和数据的调用)(1)jsp(页面)将数据传递到servlet最常用的方式:利用表单参数或url超链接参数实现数据传递(以前曾经提到过)。(2)servlet将数据传递到jsp(页面)从servlet调用jsp,存在两种调用方式:转发和重定向(上次讲了这两种方式如何实现及具体语法),根据不同的调用(转发和重定向)方式,数据传递方式也有所不同。(3)利用重定向实现servlet调用jsp在Jsp文件上,需要些java代码,必须把java代码放在程序段上。如果有变量或方法的返回值,需要在指定的位置进行显示,利用表达式进行即可。A:利用Url超链接参数实现Jsp页面数据传递到Servlet。在重定向的Jsp页面上,添加超链接参数信息。弊端:只限于传输简单和少量的信息(4KB),同时不能用于传递集合信息。B:利用Session实现Jsp页面信息传递到Servlet中Session称为会话,是实现在不同web组件(例如:Jsp、Servlet)之间进行数据共享的工作机制。代表:用户与应用程序的一组连接。第一步:获得session,Session不用new出来。例如:Session["user"]=某个值或null即可。第二步:将要传递的数据(可以是一个字符串,一个值也可以是一个对象或集合)作为属性添加到session中。session.setAttribute("属性名",属性的值)//注意语法,及理解是作为属性添加到Session当中的。//设置属性的值,有Key(属性名),有Value(属性的值)。//注意:属性的值,必须是Object对象型第三步:在Servlet中从Session中根据属性的属性名取出属性的值根据属性的名称获得属性的值:Object value=session.getAttribute("属性名");//不仅限与在Servlet中,所有Java程序中都可以用这样的方式获得属性的值。(4)利用转发实现Servlet调用jspA:利用url超链接参数实现数据传递B:利用request的属性实现数据传递补:重定向:response.sendRedirect("重定向的页面");转发:request.getRequestDispatcher("Jsp页面").forward(request,response);//forward里面参数一定。推荐:当利用重定向实现页面转向时,建议使用session进行数据传递当利用转发实现页面转向,建议使用request属性进行数据传递