JSP数据交互(二)

JSP内置对象application

      application对象的常用方法

      void   setAttribute(String key,Object value):以key/value的形式将对象存储到application中

      Object   getAttribute(String  key):通过key获取application中存储的对象

      String   getRealPath(String  path):返回相对路径的真实路径


<%

               .......//省略首页代码

            Integer    coun=(Integer)application.getAttribute("count");

              if(count!=null){

                   count=count+1;

            }else{

                count=1;

           }

             application.setAttribute("count",coun);

%>


JSP的常用内置对象

      out对象:用于向客户端输出数据

      request对象:主要用于处理客户端请求的数据信息

      response对象:用于响应客户端请求并向客户端输出信息

      session对象:用于记录会话状态的相关信息

      application对象:类似于系统的全局变量,用于实现Web应用中的资源共享


作用域对比:

                    request:单次请求

                    session:一次会话,N次请求

                    application:整个应用,N次会话

                     page:当前页面有效


page作用域:

       <%

            String   name="page";

             pageContext.setAttribute("name",name);

            %>

            <strong>

                   testone:<%=pagecontext.getAttribute("name") %>

                     </strong>

          <br/>

     <%

       pageContext.include("testTwo.jsp");

    %>

----------------------testTwo的关键代码-------------------

    <strong>

      testTwo:<%=pageContext.getAttribute("name")  %>

     </strong>


什么是cookie?

            cookie形成在服务端,保存在客户端,不是内置对象

            cookie只能存储字符串,不能存中文,但可以转换为unticod编码

            内存级别的cookie:关闭浏览器,cookie生命结束

             硬盘级别的cookie:有效的生命周期内永久保存

             cookie:每个浏览器独享自己的cookie,不能交叉访问

             通过cookie可以实现浏览器和服务器之间的数据传递

cookie对象的几个常用方法:

      void   setMaxAge(int  expiry):设置cookie的有效期,以秒为单位

      void   setValue(String  value):在cookie创建后,为cookie赋予新的值

      String  getName( ):获取cookie的名称

      String   getValue( ):获取cookie的值

      int     getMaxAge( ):获取cookie的有效时间,以秒为单位

1.创建cookie对象

   Cookie   newcookie=new   Cookie(String  name,String  value);

2.写入cookie

   response.addCookie(newcookie);

   <%

       response.addCookie(new  Cookie("username","Jack"));

        response.addCookie(new  Cookie("password","123456"));

        response.sendRedirect("look.jsp");

     %>

--------------------------------------------------------------------------------

//记录cookie
    Cookie  cook=new Cookie("uname",name);

    Cookie   cookpwd=new Cookie("pwd",pwd);


    //response  添加
        response.addCookie(cook);

        response.addCookie(cookpwd);


--------------------------------------------------------------------------------------

3.读取cookie

<%

      Cookie[ ]    cookies=request.getCookies( );

       String   user=" ";

       String    pwd=" ";

           if(cookies!=null){

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

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

                                  user=cookies[i].getValue();

                           }else if(cookies[i].getName().equals("password")){

                                         pwd=cookies[i].getValue();

                              }

                 }

                          out.print("用户名:"+user+“密码”+pwd);

                 }

%>

       session与cookie均能实现信息的保存,但是二者的区别如下:

              session是在服务器端保存用户信息,cookie是在客户端保存用户信息

              session中保存的是Object类型,cookie保存的是String类型

              session对象随会话结束而关闭,cookie可以长期保存在客户端

              cookie通常用于保存不重要的用户信息,重要的信息使用session保存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值