JSP数据交互二(JSP/Servlet第三章)

JSP内置对象application

application对象类似与系统的“全局变量”,用于一个应用内的所有用户之间的数据共享(一个Tomcat/一个Web应用运行期间的全局变量)
常用方法:

  • void setAttribute(String key,Object value):以key/value的形式将对象储存到application中
  • Object getAttribute(String key):通过key获取application中储存的对象
  • String getRealPath(String path):返回相对路径的真实路径
    注:setAttribute和getAttribute四大作用域都有这两个方法,是很重要的方法,牢记
    到此JSP常用的几个内置对象介绍完毕,但是JSP的内置对象不仅仅这几个

JSP的常用内置对象小结

  • out对象:用于向客户端输出数据
  • request对象:主要用于处理客户端请求的数据信息
  • response对象:用于响应客户端请求并向客户端输出信息
  • session对象:用于记录会话状态的相关信息
  • application对象:类似系统的全局变量,用于实现Web应用中的资源共享

四大对象作用域

  1. page作用域
    page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。可以通过page作用域可以使用pageContext对象的setAtttribute()和getAttribute()方法访问,page作用域在页面转发后失效。注四大作用域都有setAtttribute()和getAttribute()方法,根据作用域的不同,访问的范围也不同。
  2. request作用域
    page与当前页面绑定在一起,而request则是与客户端的请求绑定在一起的。request作用域可以通过调用request对象的setAtttribute()和getAttribute()方法访问。request作用域在页面转发后或者包含中同样有效,重定向会失效。
//testOne.jsp页面
<%
 
 request.setParameter("name","Jack");
 request.setParameter("pwd","123");
 request.getRequestDispatcher("testTwo.jsp").forward(request, response);
%>
//testTwo.jsp页面
<%
  request.setCharacterEncoding("UTF-8");
  String name = request.getParameter("name");//获得jack
  String pwd = request.getParameter("pwd");//获得123
%>

其它作用域的使用跟这个差不多
3. session作用域
JSP容器为每一次会话创建一个session作用域。在会话期间内,只要将数据绑定到session作用域中,则该数据可以被本次会话中的其他页面访问。session作用域可以通过调用session对象的setAtttribute()和getAttribute()方法访问。其访问范围比request作用域大,就是重定向后也不会失效。
4. application作用域
相对于session作用域针对一个会话,application作用域则针对整个Web应用,被该应用下所有用户共享。在Web应用运行期间,所有页面都可以访问application作用域内的变量,其作用域最大。一样通过application的setAtttribute()和getAttribute()方法访问.

Cookie

它是由服务器端生成并发送给客户端浏览器的,浏览器会将其保存为某个目录下的文本文件。cookie最典型的应用是否已经登录网站,用户可能会得到提示,是否保存以便下一次进入是可以简化登录

在JSP中使用cookie
  1. 创建cookie对象
    语法:Cookie newCookie = new Cookie(String name,String value);
    name:用于代表cookie的名称
    value:用于表示该名称所对应的值
  2. 写入cookie
    JSP内置对象response的常用方法中,有一个addCookie()方法,在创建cookie对象后,可以使用addCookie()方法实现写入cookie
response。addCookie(newCookie);
  1. cookie的常用方法
  • void setMaxAge(int expiry):设置cookie的有效时间,单位/秒
  • void setValue(String value):设置cookie的value值
  • String getName():获取cookie的名称
  • String getValue():获取cookie的value值
  • int getMaxAge():获取cookie的有效时间,单位/秒
<%
	response.addCookie(new Cookie("userName","Jack"));
	Cookie cookie = new Cookie("password","123456");
	response.addCookie(cookie);
%>
  1. 读取cookie
    JSP通过request的getCookies()方法,该方法返回HTTP请求中的cookie对象数组,因此必须通过遍历的方式进行访问
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值