A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 哒哒哒~~ 初级黑马   /  2018-5-27 16:45  /  452 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2018-5-30 15:19 编辑

学习笔记
JSON:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率


JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
JSON语法规则
  • 对象表示为键值对
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组
  JSON 键/值对

JSON 和 JS 对象互转
要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:
[size=1em]
[size=1em]1

[size=1em][size=1em]var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'



要实现从 JSON 转换为对象,使用 JSON.parse() 方法:
[size=1em]
[size=1em]1

[size=1em][size=1em]var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}







对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

JSP
​page:
​全局错误友好页面的配置

  <error-page>
    <error-code>404</error-code>
    <location>/404.jsp</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/500.jsp</location>
  </error-page>
​        include:   <%@ include file="" %> 静态包含
​        taglib:
九大内置对象:
            request           HttpServetRequest
            response          HttpServetResponse
            session           HttpSession
            application       ServletContext
            page              Object
            out               JspWriter
            pageContext       PageContext
            config            ServletConfig
            exception         Throwable
技能 拔高点:pageContext:
​        1.获取其他8个内置对象:getXXX()方法
​        2.可以向四个域中存取数据:

pageContext.setAttribute("pname", "pvalue", PageContext.PAGE_SCOPE);
pageContext.setAttribute("rname", "rvalue", PageContext.REQUEST_SCOPE);
pageContext.setAttribute("sname", "svalue", PageContext.SESSION_SCOPE);
pageContext.setAttribute("aname", "avalue", PageContext.APPLICATION_SCOPE);


<%= pageContext.getAttribute("pname", PageContext.PAGE_SCOPE) %>
<%= pageContext.getAttribute("rname", PageContext.REQUEST_SCOPE) %>
<%= pageContext.getAttribute("sname", PageContext.SESSION_SCOPE) %>
<%= pageContext.getAttribute("aname", PageContext.APPLICATION_SCOPE) %>
动作标签:
<jsp:forward page=""> /jsp:forward
<jsp:include page="">/jsp:include :动态包含
静态包含和动态包含的区别
静态包含:相当于源代码的拷贝,只会翻译成一个Java类,有一个执行结果
动态包含:各自分别去翻译,各自执行,最终包含的是执行的结果
EL&JSTLEL获取数据
以什么名字存到域中,就以什么名字取出来,存进去是什么类型的,取出来就是什么类型
数组,List:[]  ----遍历map,java对象:.  .属性
EL执行运算
empty:判断是否为空
not empty:判断是否不为空
lt
gt
le
ge
eq
EL操作常用的web对象
${cookie.名字.value}
${pageContext.request.contextPath}
JSTL判断 如果需要else 需要把判断条件 改一下 因为没有else

<c:if test="${}">
        test:如果test返回true,标签内的内容就会被输出
</c:if>
if标签没有else,如果想表达else的情况,从条件着手JSTL中的遍历
<c:forEach var="" items="" varStatus="status">
    status.index
    status.count
</c:forEach>
<c:forEach var="" begin="" end="" step="" varStatus="status">
</c:forEach>AJAX$.get(
    "url",
    {
        "":"",
        "":""
    },
    function(data){ //data:服务器对当前这次请求的响应
        
    },
    "响应的类型"
);
$.post(
    "url",
    {
        "":"",
        "":""
    },
    function(data){ //data:服务器对当前这次请求的响应
        
    },
    "响应的类型"
);

$.ajax({
    url:"",
    type:"请求方式",
    data:{
        "":"",
        "":""
    },
    success:function(data){ //成功后执行
        
    },
    error:function(){ //出错之后执行
        
    },
    beforeSend:function(){ //发送之前执行
        
    },
    complete:function(){ //不管成功还是失败都执行
        
    }
});

j监听器的使用
编写一个类实现监听器的接口:
通过配置文件配置监听器:
一类:监听三个域对象的创建和销毁的监听器,(可以把一些第一次访问耗时的操作用这个方法放到服务器启动的时候 优化客户体验)
ServletContext对象的创建和销毁:
创建:服务器启动的时候,服务器为每个WEB应用创建一个属于该web项目的对象ServletContext.
销毁:服务器关闭或者项目从服务器中移除的时候.

[ ServletContextListener:监听ServletContext对象的创建和销毁:]


:contextInitialized  创建的时候启动
:contextDestroyde 销毁的时候启动
二类:监听三个域对象的属性变更的监听器:(属性添加,移除,替换)
  三类:监听HttpSession中的JavaBean的对象的状态改变的监听器



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马