zoukankan      html  css  js  c++  java
  • 综合专题:JSP中四个作用域&9个内置对象

    image

    request作用域:+response对象

    【1】由客户端向服务端发送请求

    【2】携带参数的请求

    【3】get&post区别:

    image

    【4】获取请求的参数API:request.getParameter(name)  \  request.getParameterValues(name)

    【5】中文乱码处理

          -对于post类型: request.setCharacterEncoding("utf-8");   //必须放在取值之前进行设置编码格式    

          -对于get类型:

                -更改server.xml  : URIEncoding="utf-8"

                -server.xml :对于postget都生效:useBodyEncodingForURI="true" + request.setCharacterEncoding("utf-8");       

    【6】属性存取:属性不支持参数存取

         -存取方式:setAttribute getAttribute

         -属性特性:

                -只有作用域才可以存取属性

                -属性是key value格式存在的

                -不能用去属性的方式获取参数

                -属性取得后,不是String类型,是Object类型

                -属性是可以保存对象的

    【7】转发和重定向

       转发:安全,无法访问外部资源【URL为提交页面,页面为最终转发页面】【支持携带参数与属性】

         -转发的这个行为,始终是在服务器内部进行跳转

         -一次请求抵达,服务器内部跳转所有业务处理完毕以后,一次响应。

       重定向:可以访问认以服务器内外资源【所以URL跟对应重定向页面保持一致】  ||  不携带参数与属性

         -重定向这个行为,是在反复的重新请求服务器

         -多次请求,多次响应,响应中会告诉浏览器你下一次请求的目标

    Session作用域+对象

    【1】一次会话当中会有若干次的请求以及响应

    【2】浏览器关闭或者失效后,再次请求,就是一个新的会话

    【3】每个session都有一个唯一的sessioid【当客户端第一次向服务器发起请求,是没有sessionid】--服务器没有收到sessionid,会认为是新的请求,通过response返回一个sessionid.

    【4】session对于每一个客户端来说,都是独立的。【-弱国访问的用户越来越多,会不断侵占服务器资源】——如果访问用户量极为庞大,支持使用第三方缓存来替代session,如zookeeper eids…

    【5】session. invalidate() ——清除服务器当中session的信息

    【6】-web服务器集群:负载均衡情况下的sessionid:失效

           -单web服务器的情况下,原本的sessionid还有用:主要是作为客户端访问的凭证;

    【7】token的设计:

           -需要一个用户的唯一标识

           -需要一个加密凭证

           -每次请求响应都需要把token携带,用于替代sessionId;

    imageimage

    Application作用域:所有用户共享

    【1】所有用户共享

    【2】 只有服务器关闭以后才失效

    pageContext:针对于jsp页面本身【很少用

    page

    config

    exception

    out

    Cookie

    【1】作用域的数据都是保存在服务器的,cookie的数据是保存在客户端的

    【2】cookie在客户端是明文的

    【3】cookie是可以被禁用的

    【4】优点:存在时间长,一些不敏感的数据,可以直接用cookie保存

    note:

           -注意区别作用域与转发重定向使用的区别

           -

           -

    =====================================EL  & JST  =========================================

    【1】JSP的初:简化输出操作,能够使用最直观的html的方式编写代码,但是如果大量嵌入Java代码,则违背了初衷。

    【2】EL表达式:【屏蔽一些常见的异常、实现简单的自动类型转换

         -取某个具体的值

         -取对象的值

         -取数组、集合的值

    image

    【3】对作用域的访问

            -requestScope.test

            -sessionScope.test

            -applicationScope.test

            -pageScope.test

    【4】JSTL:jsp标准标签库

         -依赖:jstl1.2 & standard1.1.2

         -头:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

         -if   \   foreach

    【5】Notes:

          -el和JSTL只在本页面生效

          -el表达式是可以写在页面中的js当中,但是建议用双引号引起来;在第三方文件当中不生效

          -js当中,jstl是不生效的。【都是标签,不支持标签套标签】

          -用js操作dom的方式操作jstl?不支持,因为js是在jsp之后由浏览器负责解析的

          -掌握业务流程

  • 相关阅读:
    [luoguP3953] 逛公园(DP + spfa)
    [luoguP3960] 列队(动态开点线段树)
    [luoguP2325] [SCOI2005]王室联邦(树分块乱搞)
    [luoguP1053] 篝火晚会(贪心 + 乱搞)
    Linux_C socket 一些知识
    Linux_C socket 服务器(cat ,execl功能)
    Linux_C socket server.c clinet.c功能分开写
    Linux_C socket clinet.c
    Linux_C AF_INET和PF_INET的细微不同
    Linux_socket一些基本函数和结构体
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13332559.html
Copyright © 2011-2022 走看看