JSP数据交互

一、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

原文地址:https://www.cnblogs.com/WangShuaishuai/p/7461961.html