JSP数据交互(二)

摘要:
pageContext对象本身也属于page作用域,具有page作用域的对象被绑定到pageContext对象中。而当请求结束后,创建的对象也随之失效。当数据绑定到JSP的application对象中时,在Web应用程序的运行期间,所有的页面都可以访问application作用域的对象。

1.什么是会话(session)

一个会话就是在一段时间内,一个客户端与Web服务器的一连串的交互过程,同一个session对象的sessionid 相同

2.session对象常用方法

String getid() 获取sessionid String id = session.getid();

void setMaxInactiveInterval(int interval) 设定session的非活动时间 session.setMaxInactiveInterval(600); 单位是秒

int getMaxInactiveInterval() 获取session的有效非活动时间(以秒为单位)

void invalidate() 设置session对象失效

void setAttribute(String key,Object value) 以key/value的形式保存对象值 session.setAttribute("text","hahaha");

Object getAttribute(String key)   通过key获取对象值 String aa = (String)session.getAttribute("text");

void removeAttribute(String key) 从session中删除指定名称(key)所对应的对象

3.session与窗口的关系

每个session对象都与一个浏览器窗口对应,重新开启一个浏览器窗口,可以重现建立一个session对象(不同版本浏览器有差别)

通过超链接打开的新窗口,新窗口的session和其父窗口的session相同

4.session.getAttribute(String key)的返回值是一个Object,必须进行强制类型转换

5.include指令

简单理解 将两或多个个jsp文件连接输出到同一个页面

作用和用途:当有一个很多个页面都需要用到的代码,例如登录,就可以写到一个jsp文件中,需要用的时候调用即可

6.application对象

application实现用户之间的数据共享

application对象的常用方法

void setAttibute(String key,Object value); 以key/value的方法保存对象值 application.setAttibute("text","hahahahah");

Object getAttibute(String key); 以key获取对象值 application.getAttibute("text");

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

7.统计网站访问次数

          <%
              Integercount =(Integer)application.getAttribute("count');
              if(count!=null){
                         count = 1 +count;
                }else(
                          count=1;
                  )
                application.setAttribute("count",count);
           %>
          <%Interger  i =(Interger) application.getAttribute("count');
out.println("您好,第"+i+"次访问")
           %>

通过set方法改变值,get方法拿到值来实现计数

8.jsp常用的内置对象

out 用于向客户端输出信息

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

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

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

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

9.对象的作用域

application作用域 对应上下文 及这次服务器的运行

session作用域 对应一个用户会话 及这个浏览器

request作用域 对应一次请求

page作用域 对应一个jsp文件的运行

page作用域:

page作用域指单一JSP页面的范围,page作用域内的对象只能在创建该对象的页面中访问。

page作用域内可以使用pageContext对象的setAttribute()和getAttibute()方法访问具有这种范围类型的对象。

pageContext对象本身也属于page作用域,具有page作用域的对象被绑定到pageContext对象中。

代码;

JSP数据交互(二)第1张

JSP数据交互(二)第2张

request作用域:

request作用域的对象是与客户端的请求绑定在一起,其作用域的范围要比page作用域的范围大。

注意:

因为request对象对于每次客户端的请求都是不同的,所以对于任何一个新的请求,都要重新创建该作用域内的对象。而当请求结束后,创建的对象也随之失效。

代码:

JSP数据交互(二)第3张

JSP数据交互(二)第4张

JSP数据交互(二)第5张

session作用域:

JSP容器为每一次会话创建一个session对象。

在会话有效期间内,只要将数据绑定到session中,则该数据可以被本次会话的其他资源所访问。

代码:

JSP数据交互(二)第6张

JSP数据交互(二)第7张

JSP数据交互(二)第8张

JSP数据交互(二)第9张

application作用域.

application的作用域则面对整个Web应用程序W,即当服务器启动后就会创建一个application对象,被所有用户共享。

当数据绑定到JSP的application对象中时,在Web应用程序的运行期间,所有的页面都可以访问application作用域的对象。

代码:

JSP数据交互(二)第10张

在不同浏览器中展示的结果:

JSP数据交互(二)第11张

JSP数据交互(二)第12张

四个作用域的范围大小:

page作用域<request作用域<session作用域<appliction作用域

10.page作用域指本个jsp页面的范围

request作用域内的对象则是和客户端的请求绑定在一起

session作用域 一次会话

application作用域面对整个Web应用程序

11.对象作用域范围

JSP数据交互(二)第13张

12.什么是Cookie

cookie是Web服务器保存在客户端的一系列文本信息

13.cookie的作用
对特定对象的追踪
实现各种个性化服务
简化登录
安全性能
容易泄露信息
14.在JSP中使用Cookie
创建cookie
Cookie newCookie = new Cookie(String key, String value);

写入cookie

response.addCookie(newCookie);

读取cookie

Cookie[] cookies = request.getCookies();

15.cookie对象常用的方法

方法名称

说 明

void setMaxAge(int expiry)

设置cookie的有效期,以秒为单位

void setValue(String value)

在cookie创建后,对cookie进行赋值

String getName()

获取cookie的名称

String getValue()

获取cookie的值

int getMaxAge()

获取cookie的有效时间,以秒为单位

16.cookie和session对比

JSP数据交互(二)第14张

1.都用于保存用户状态,都会过期
2.session保存在服务器端的内存中,而cookie以文本文件的方式存于客户端
3.session中保存的是Object类型,cookie保存的是String类型
4.session随会话结束将其存储的数据销毁,而cookie可以长期保存在客户端
5.session用于保存重要的信息,cookie用于保存不重要的用户信息
6.cookie中对保存对象的大小是有限制的

JSP访问数据库

分层实现

  1. 数据访问层(DAO)
  2. 表示层(JSP)

非空验证

提示错误信息并保留用户所填信息

(详细信息在专项专题中具体实现)

JavaBean

优势:

  1. 解决代码重复编写,减少代码冗余
  2. 功能区分明确
  3. 提高代码的维护性

分类:

  1. 封装数据
  2. 封装业务

javaBean{共有类 无参的构造方法 属性私有 getter和setter方法}

总结:

JSP数据交互(二)第15张

免责声明:文章转载自《JSP数据交互(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇编写前程贷投标loadrunner脚本及总结PL2303 Windows8.1驱动下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

仿华为 USB mode 实现方法

极力推荐文章:欢迎收藏Android 干货分享 阅读5分钟,每日十点、和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一、实现效果 二、主要实现思路 三、主要实现代码 四、在Framework 层添加资源的方法 一、实现效果 仿华为USB Mode弹窗实现效果如...

在Delphi中高效执行JS代码

因为一些原因,需要进行encodeURIComponent和decodeURIComponent编码,在Delphi中找了一个,首先是发现不能正确编码+号,后面强制处理替换了,勉强可用。 后面发现多次使用后delphi自带的HttpEncode会报Out of Memory. 以上可能是我使用的不好,但没有找到解决办法。 后面想到直接采用运行JavaScr...

JAVA 传输post传输长字符、数据编码解码 反序列化字符串

JAVA 传输post传输长字符、数据编码解码 1.前段传输 这是传输的数组对象 2.后端接收格式已解码 JS代码: $.ajax({ url:prefix+"/importModelTree", data: {"modelId":modelId...

Android笔记之权限库AndPermission

GitHub地址:https://github.com/yanzhenjie/AndPermission 这个库可以节省不少代码量和时间 使用示例如下 findViewById(R.id.btnGetLocation).setOnClickListener(new View.OnClickListener() { @...

ASP.NET MVC:通过 FileResult 向 浏览器 发送文件

FileResult is an abstract base class for all the others. FileContentResult - you use it when you have a byte array you would like to return as a file FilePathResult - when you...

分布式调度任务管理——Dkron(2)运行配置

一、Dkron——服务器配置信息 dkron 的命令行操作都以dkron 开头,后面可以跟着不同的配置信息,例如在命令行敲出以下命令 :dkron agent --server --bootstrap-expect= 1 表示dkron以代理服务器形式启动,并且提供数据中心中预期的服务器数量为1。 其他相关配置dkron agent信息如下: –adver...