• JSP数据交互二


    JSP的数据交互
    1.application内置对象
    application实现用户之间的数据共享
    void setAttribute(String key,Object value) 以key/value的形式保存对象值
    Object getAttribute(String key) 通过key获取对象值
    String getRealPath(String path) 返回相对路径的真实路径

    统计网站访问次数:
    <%
    //获取当前网站的访问次数
    Integer count=(Integer)application.getAttribute("count");
    if(count!=null){
    count++;
    }else{
    count=1;
    }
    application.setAttribute("count", count);
    %>
    <%
    out.print("当前网站访问次数:"+application.getAttribute("count"));

    %>




    2.作用域
    从小到大:page(pageContext)--->request---->session---->application
    page对象作用域只在当前页面有效
    request作用域是在当前请求内有效
    session作用域是在当前会话内有效
    application对象的作用域是在应用上下文


    3.cookie默认会存放一个session的id值

    一、jsp中java小脚本
    1.<% java代码段%>
    2.<% =java表达式%>不能有分号
    3.<%!成员变量和函数声明%>
    二、注释
    1.<!--html注释-->客户端可以看到
    2.<%--jsp注释--%>客户端不能看到
    三、jsp页面的的执行过程
    1.客户端请求(输入URL)
    2.服务器
    (1)现将jsp翻译成.java文件(第一次请求)
    如果是第二次请求,并且jsp页面内容未改变
    (2)将java文件编译成.class文件
    (3)执行.class文件
    3.将执行后的结果和html静态内容发送到客户端
    4.断开连接
    四、jsp内置对象
    是由web容器创建的对象,可以直接用,不用再new
    1.out:方法print(文本)向客户端输出内容
    2.request:客户端请求内容
    方法:
    getParameter(“键”),获取客户端提交的单个数据
    getParameterValues(“键”)获取客户端提交的多个数据
    setCharacterEncoding("编码")解决post提交方式的乱码
    getRequestDispatcher("页面"):进行页面转发
    3.response:响应客户端的请求,向客户端输出内容
    方法
    sendRedirect("页面");//进行页面重定向
    五、转发和重定向的区别
    1.转发
    a.服务器行为
    b.客户端只发送了一次请求
    c.保留请求数据,页面间可以共享数据
    d.地址栏不改变
    2.重定向
    a.客户端行为
    b.客户端发出了2次请求
    c.不能保留数据,页面间不能共享数据
    d.地址栏改变 
    六、会话:session
    浏览器与服务器的一次通话(类似一次打电话)
    1.会话跟浏览器是一一对应的
    2.同一个浏览器不同请求是一次会话
    3.不同浏览器就是不同会话
    4.一般用于保存客户端特定的信息(临时) 
    session失效:
    1.原则上,浏览器关闭,session就失效(实际过程中不一定)
    2.超过有效期失效
    3.调用invalidate(),立即失效
    方法:
    setAttribute(String key,object value),向session保存数据
    object getAttribute(String key)向session读取数据
    setMaxInactiveIntervals设置有效期
    invalidate()使session失效
    removeAttribute(String key)移除指定的session
    七、inlude指令:将页面信息包含到另一个页面(静态包含)
    <%@ include file="页面"%>
    八、application:应用程序级别的对象
    各个客户端共享的数据
    方法:
    setAttribute(String key ,object value)
    getAttribute(String key)
    getRealPath("虚拟路径");根据虚拟路径获取物理路径 
    九、Cookie: 保存特定客户端的信息
    用法:
    1.创建
    Cookie ck=new Cookie(String key,String value)
    ck.setMaxAge("时间"),设置有效时间,不设置默认浏览器关闭时失效
    2.保存
    response.addCookie(ck);
    3.读取cookie
    a.Cookie[]cks=request.getCookies();
    b.遍历
    getName():获取当前cookie的名字(键名)
    getValue():获取当前cookie的值
    十、session与cookie的区别
    session cookie
    保存在服务器的内存中 保存在客户端的硬盘上
    保存object类型 保存String类型
    保存临时数据 保存永久数据
    安全性高 安全性差
    十一、JavaBean
    是一个java类
    从功能上来说,java类分为:业务类和数据类
    一个java类符合以下要求才是JavaBean:
    1.是一个公有类
    2.有无参的公共的构造方法 
    3.属性私有:第一个字母小写
    4.有getter和setter方法
    (方法名格式:get属性名(大写),set属性名(大写))
    十二、内置对象补充
    1.pageContext:当前页面执行期间的信息
    2.page:当前jsp页面
    3.config:配置jsp页面初始化数据
    4.exception:异常
    十三、四大作用域(作用范围)
    1.page:当前页面
    2.request:一次请求同一个请求
    3.session:同一个客户端
    4.application:整个应用程序 
    十四、文件包含
    1.include指令:<%@ include file="页面"%>
    静态包含:将指定页面的内容复制到另一个页面,然后执行
    2.include方法:pageContext.include("页面")
    动态包含:先执行页面动态代码,然后将结果和静态代码包含到另一个页面
    十五、页面之间的传值
    1.form表单传值
    2.session传值
    3.通过超链接(类似form表单 get提交)
    url?keyname=值1 &keyname=值 2

  • 相关阅读:
    SQL_TRACE与tkprof分析
    mysql学习之-三种安装方式与版本介绍
    1400
    输出二叉树中所有从根结点到叶子结点的路径
    [置顶] 处世悬镜之舍之
    Azkaban2配置过程
    [置顶] 处世悬镜之舍之 二
    UVALIVE 5893 计算几何+搜索
    Paxos算法 Paxos Made Simple
    Spring AOP 详解
  • 原文地址:https://www.cnblogs.com/ringqq/p/11138460.html
Copyright © 2020-2023  润新知