jsp数据交互(二)

01.Application原理与应用

01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量。只要服务启动,则application对象就会存在。

02.在一个应用中只有一个application,每一个用户都会共享这一个application对象。

03.通过统计网站访问次数来讲解application的用法

02.对象作用域

03.Cookie简介

解析:cookie是Web服务器保存在客户端的一系列文本信息,根据域名和端口号区分是否保存成一个文件,文件大小为4k。注意:http://localhost:8080/news 和http://localhost:8080/news/util会形成两个cookie文件。

1. 什么是cookie

浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。

2.使用Cookie

解析:

获取指定key值cookie的核心代码

<%

Cookie[] cookies = request.getCookies();

if(cookies!=null){

for(int i=0;i<cookies.length;i++){

if(cookies[i].getName().equals("uname")){

response.sendRedirect(path+"/welcome.jsp");

}

}

}

%>

3.JavaBean

解析:从JavaBean的功能上可以分为封装数据和封装业务的JavaBean

一个JavaBean至少符合以下条件

01.是一个公有类

02.属性私有

03.有getter和setter方法

04.无参的公有构造

3.补充一下   Session使用

TTP协议是无状态的,即信息无法通过HTTP协议本身进传递。为了跟踪用户的操作状态,ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。事实上,在许多服务器上,如果浏览器支持的话它们就使用cookies,但是如果不支持或废除了的话就自动转化为URL-rewriting,session自动为每个流程提供了方便地存储信息的方法。

Session一般在服务器上设置了一个30分钟的过期时间,当客户停止活动后自动失效。Session 中保存和检索的信息不能是基本数据类型如 int, double等,而必须是java的相应的对象,如Integer, Double。

Httpsession具有如下API:

getId 此方法返回唯一的标识,这些标识为每个session而产生。当只有一个单一的值与一个session联合时,或当日志信息与先前的sessions有关时,它被当作键名用。

GetCreationTime 返回session被创建的时间。最小单位为千分之一秒。为得到一个对打印输出很有用的值,可将此值传给Date constructor 或者GregorianCalendar的方法setTimeInMillis。

GetLastAccessedTime 返回session最后被客户发送的时间。最小单位为千分之一秒。

GetMaxInactiveInterval 返回总时间(秒),负值表示session永远不会超时。

getAttribute 取一个session相联系的信息。(在jsp1.0中为 getValue)

Integer item = (Integer) session.getAttrobute("item") //检索出session的值并转化为整型

setAttribute 提供一个关键词和一个值。会替换掉任何以前的值。(在jsp1.0中为putValue)

session.setAttribute("ItemValue", itemName); // ItemValue 必须不是must简单类型

在应用中使用最多的是getAttribute和setAttribute。现以一个简单的例子来说明session的应用, test1.jsp(信息写入session),test2.jsp(从session读出信息)。

1 test1.jsp
 2 
 3 <HTML>
 4 
 5 <HEAD>
 6 
 7 <TITLE> Document </TITLE>
 8 
 9 </HEAD>
10 
11 <BODY BGCOLOR="#FFFFFF"12 session.setAttribute("str",new String(“this is test”));
13 </BODY>
14 
15 </HTML>
16 test2.jsp
17 <HTML>
18 
19 <HEAD>
20 <TITLE> New Document </TITLE>
21 
22 </HEAD>
23 
24 <BODY BGCOLOR="#FFFFFF"25 <%
26 String ls_str=null;
27 ls_str=(String)session.getAttribute("str");
28 out.println(“从session里取出的值为:”+ls_str);
29 %>
30 </BODY>
31 
32 </HTML>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值