码迷,mamicode.com
首页 > Web开发 > 详细

jsp数据交互(二)

时间:2018-06-20 23:57:48      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:服务   文本   简单   attr   变量   超时   ==   作用域   web   

1、application对象
类似于系统的“全局变量”,用于同一个服务器内的所有用户之间的数据共享,对于整个web服务器,application有且只有一个示例。

application常用方法:

  1. void setAttribute(String key,Object value) //以key/value的形式将对象存储到application中
  2. Object getAttribute(String key) //通过key获取存储在application中的对象
  3. String getReadPath(String path) //返回相对路径的真实路径

application主要用于统计网站访问人数,示例:

Integer count =(Integer)application.getAttribute("count");
if(count!=null){
    count+=1;
}else{
    count=1;
}
application.setAttribute("count",count);

小结:jsp常用内置对象

  1. out对象:用于想客户端输出数据
  2. request对象:主要用于处理客户端请求的数据信息
  3. response对象:用于响应客户端请求并向客户端输出信息
  4. session对象:用于记录会话的相关信息
  5. application对象:类似于系统的“全局变量”,用于实现web应用中的资源共享

2、对象的作用域
jsp中提供了四种作用域:
1、page作用域:同一个页面中有效
2、request作用域:通过request对象setAttribute()方法保存数据,然后调用RequestDispatcher的forward()方法转向的页面或者调用include()方法包含的页面时,都可以访问request作用域内的对象。
3、session作用域:通过session对象的setAttribute()方法保存数据后,只要不关闭会话(不关闭浏览器),都可以访问session作用域内的对象。
4、application作用域。只要web服务器不关闭,都可以访问。

3、cookie

什么是cookie?简单明了的说:缓存。你的网站有谁登录了、浏览了哪些页面,都可以存入cookie当中。并且,还可以设置cookie的有效时间。

  1. 创建cookie对象:Cookie newCookie = new Cookie(String name,String value),name表示cookie的名称,value表示当前key名称所对应的值。
  2. 写入cookie:response.addCookie(newCookie);
  3. 读取cookie:Cookie[] cookies = request.getCookie();
    cookie的常用方法:
  4. void setMaxAge(int expiry) 设置cookie的有效期,以秒为单位
  5. void setValue(String value) 在cookie创建后,为cookie赋予新的值
  6. String getValue() 获取cookie的值
  7. int getMaxAge() 获取cookie的有效时间

**注:**sessionid被保存在cookie中。

4、jsp访问数据库

与Java一致。

5、JavaBean

JavaBean是Java中的可以跨平台的重用组件。主要负责封装数据和封装业务处理。JavaBean的定义要遵循一定的规则:公有类,并提供无参的共有构造方法;属性私有,具有共有的访问属性的getter/setter方法。

 

 page作用域:
   在服务器发送响应或请求转发其它页面或资源后无效
   pageContext对象本身也属于page作用域,具有page作用域的对象被绑定到pageContext对象中
request作用域:
session作用域:
    一个浏览器窗口对应一个session对象,当新开一个浏览器窗口时,会重新创建一个session对象
application作用域:


Cookie:
cookie是由Netscape公司发明的,最常用的跟踪用户会话的方式。它
是由服务器端生成,发送给客户端浏览器的,浏览器会将其保存为某一
个目录下的文本文件,方便下一次请求
cookie的作用:
》》》对特定对象的跟踪:如访问者的访问次数,最后访问时间,路径
》》》统计网页浏览次数
》》》在cookie有效期内,记录用户登录的信息
》》》针对用户的喜好推荐不同的内容
 <%
    //javax.servlet.http.Cookie这个包,当JSP翻译成.java文件时会自动导入
          Cookie c=new Cookie("pwd","123");
          c.setValue("456");
     %>
        <%=
           //c.getMaxAge()----  -1  永不超时 c.setMaxAge(0); 0表示失效
           // c.getPath()----null
           //c.getVersion()---0
          //c.getSecure()//cookie是否安全
        //  c.getName()//只有getName()没有setName(),因为名字不可改
          c.getValue()
         %>  
如果未向cookie中添加数据,当创建session时,sessionid的值cookie的值是一样的,说明sessionid被保存在cookie中
当服务器对一个请求作出处理时,cookie才会被写入客户端
使用setMaxAge(int expiry)时,有以下几种情况:
通常情况下expiry为大于0的整数,表示cookie的有效存活时间
如果设置expiry参数等于0,表示删除cookie
设置expiry参数为负或者不设置,表示cookie会在当前窗口关闭后失效
cookie用于保存不重要的用户信息,重要的用户信息使用session保存
 <%
         response.addCookie(new Cookie("uname","Jack"));
         response.addCookie(new Cookie("pwd","123"));
         response.sendRedirect("look.jsp");
      
       %> 

look.jsp
<%
   Cookie[] cookie=request.getCookies();
   String uname=null;
   String pwd=null;
   if(cookie==null){
   out.println("用户名:"+uname+"  "+"密码:"+pwd);
       return;
   }
   
   for(Cookie c:cookie){
       if(c.getName().equals("uname")){
             uname=c.getValue();
       }else if(c.getName().equals("pwd")){
              pwd=c.getValue();
       }
  } 
   out.println("用户名:"+uname+"  "+"密码:"+pwd);
%> 
 

jsp数据交互(二)

标签:服务   文本   简单   attr   变量   超时   ==   作用域   web   

原文地址:https://www.cnblogs.com/ct0217/p/9206537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!