码迷,mamicode.com
首页 > Web开发 > 详细

综合专题:JSP中四个作用域&9个内置对象

时间:2020-07-17 22:26:42      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:border   发送请求   发送   编码   font   app   el表达式   处理   专题   

技术图片

request作用域:+response对象

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

【2】携带参数的请求

【3】get&post区别:

技术图片

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

【5】中文乱码处理

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

      -对于get类型:

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

            -server.xml :对于post\get都生效: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\reids\…

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

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

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

【7】token的设计:

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

       -需要一个加密凭证

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

技术图片技术图片

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表达式:【屏蔽一些常见的异常、实现简单的自动类型转换

     -取某个具体的值

     -取对象的值

     -取数组、集合的值

技术图片

【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之后由浏览器负责解析的

      -掌握业务流程

综合专题:JSP中四个作用域&9个内置对象

标签:border   发送请求   发送   编码   font   app   el表达式   处理   专题   

原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13332559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!