您正在查看:标签 JAVA学习笔记 下的文章

spring02 - IoC和DI注解开发

1 Spring配置非自定义对象

1.1 配置方式

非自定对象和自定对象,对Spring来说,都是对象,所以配置方式没人任何区别。
下边,以Druid数据源(Druid连接池)为例,演示Spring对“非自定对象”的配置

开发步骤

①导入数据源的坐标和数据库驱动坐标

②创建数据源对象

③设置数据源的基本连接数据

④使用数据源获取连接资源和归还连接资源

1.2 准备工作

1.2.1 导入c3p0连接池坐标
<!-- C3P0连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.10</version>
</dependency>
1.2.2 导入mysql数据库驱动坐标
<!-- mysql驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version>
</dependency>

- 阅读剩余部分 -

spring01 - IoC控制反转 && DI依赖注入

1 spring概述

1.1 框架概述(理解)

框架是一个封装了很多功能和模块的程序的半成品。

可以理解为是一个由很多工具类组合而成的一个工具包。

1.2 Spring是什么(理解)

Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架。是Java开发的灵魂框架。

Spring有两大内核:

IOC(Inverse Of Control:控制反转)

AOP(Aspect Oriented Programming:面向切面编程)

1.3 Spring功能

IOC:控制反转,其实就是把对象的创建权,交给spring,由Spring负责给我们创建对象

DI: 依赖注入,其实就是给对象的成员变量赋值。

AOP:面向切面编程,底层就是动态代理

事务: Spring提供了声明式事务,也就是说,我们可以通过配置的方式来添加事务。

1.4 Spring的体系结构

Spring的体系结构

Spring的体系结构

- 阅读剩余部分 -

Redis

Redis

1 概念

  • redis是一款高性能的NOSQL系列的非关系型数据库
1.1 什么是NOSQL
  • NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库
  • 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题

1.1.1 NOSQL和关系型数据库比较

优点:

1)成本:nosql数据库简单易部署,基本都是开源软件,不需要像使用oracle那样花费大量成本购买使用,相比关系型数据库价格便宜

2)查询速度:nosql数据库将数据存储于缓存之中,关系型数据库将数据存储在硬盘中,自然查询速度远不及nosql数据库

3)存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型

4)扩展性:关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难

缺点:

- 阅读剩余部分 -

Ajax && Json

今日内容

  • AJAX
  • JSON

1 AJAX

1.1 概念

  • ASynchronous JavaScript And XML 异步的JavaScript 和 XML
  • 异步和同步:客户端和服务器端相互通信的基础上

    • 同步:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。
    • 异步:客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。
  • Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
  • 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
  • 传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面

1.2 实现方式

1)原生的JS实现方式
//1.创建核心对象
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

//2. 建立连接
/*
    参数:
        1. 请求方式:GET、POST
            * get方式,请求参数在URL后边拼接。send方法为空参
            * post方式,请求参数在send方法中定义
        2. 请求的URL:
        3. 同步或异步请求:true(异步)或 false(同步)

 */
xmlhttp.open("GET", "ajaxServlet?username=tom", true);

//3.发送请求
xmlhttp.send();

//4.接受并处理来自服务器的响应结果
//获取方式 :xmlhttp.responseText
//什么时候获取?当服务器响应成功后再获取

//当xmlhttp对象的就绪状态改变时,触发事件onreadystatechange。
xmlhttp.onreadystatechange = function () {
    //判断readyState就绪状态是否为4,判断status响应状态码是否为200
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        //获取服务器的响应结果
        var responseText = xmlhttp.responseText;
        alert(responseText);
    }
}
2)JQeury实现方式

- 阅读剩余部分 -

JQuery

1 JQuery

1.1 概念

  • jQuery是一个快速、简洁的JavaScript框架,能够极大简化JS的DOM操作。
  • JavaScript框架:本质上就是一些js文件,封装了js的原生代码而已

1.2 JQuery对象和JS对象区别

  • JS对象: 通过JS语法获取到的页面元素我们称之为“JS对象”。JS对象不能使用JQ语法
  • JQ对象: 通过JQ语法获取到的页面元素我们称之为“JQ对象”。JQ对象不能使用JS语法
  • 两者相互转换

    • JS对象 --> JQ对象:

      • var JQ对象 = $(JS对象);
    • JQ对象 --> JS对象:

      • var JS对象 = JQ对象[索引];
      • var JS对象 = JQ对象.get(索引);

1.3 选择器

1)基本选择器

1.标签选择器(元素选择器)

  • 语法: $("html标签名") 获得所有匹配标签名称的元素

2.id选择器

  • 语法:$("#id的属性值") 获得与指定id属性值匹配的元素

3.类选择器

  • 语法: $(".class的属性值") 获得与指定的class属性值匹配的元素

4.并集选择器

  • 语法: $("选择器1,选择器2....") 获取多个选择器选中的所有元素

- 阅读剩余部分 -

Filter 过滤器 && Listener 监听器

今日内容

  • Filter 过滤器
  • Listener 监听器

1 Filter 过滤器

1.1 概念

  • Filter是我们web开发中的过滤器,可以根据“拦截规则”,拦截请求。然后,根据自己的需要,决定是否放行。
  • 过滤器的作用:

    • 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤

1.2 使用步骤

  1. 定义一个类,实现Filter接口
  2. 重写所有抽象方法
  3. 在doFilter方法中,自定义规则决定是否放行
  4. 配置过滤器的过滤规则

1.3 快速入门

@WebFilter("/*")    //过滤规则:拦截所有请求
public class MyFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {}
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        /*
            if(如果符合我们自己定义的条件){
                //放行
                filterChain.doFilter(servletRequest,servletResponse);
            }
         */
        filterChain.doFilter(servletRequest,servletResponse);
    }
    @Override
    public void destroy() {}
}

- 阅读剩余部分 -

EL表达式 && JSTL && 三层架构

今日内容

  • EL表达式
  • JSTL
  • 三层架构

1 EL表达式

1.1 概念

  • Expression Language 表达式语言

1.2 作用

  • 替换和简化jsp页面中java代码的编写

1.3 语法

  • ${表达式}

1.4 注意

  • jsp默认支持EL表达式。如果要忽略EL表达式

    • 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式
    • \${表达式}:忽略当前这个el表达式

1.5 使用

1、运算
  • 运算符:

    • 算数运算符:+ - * /(div) %(mod)
    • 比较运算符:> < >= <= == !=
    • 逻辑运算符:&&(and) ||(or) !(not)
    • 空运算符:empty

      • 功能:用于判断字符串、集合、数组对象是否为null或者长度为0
      • ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0
      • ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0

- 阅读剩余部分 -

Session && JSP && MVC开发模式

今日内容

  • Session
  • JSP
  • MVC开发模式

1 Session

1.1 概念

  • 服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession
  • session是一个域对象。他的范围“一次会话”

1.2 快速入门

  • 获取HttpSession对象:

    HttpSession session = request.getSession();

  • 使用HttpSession对象:

    Object getAttribute(String name) //获取

    void setAttribute(String name, Object value) //存储

    void removeAttribute(String name) //删除

1.3 原理

  • Session的实现是依赖于Cookie的。

- 阅读剩余部分 -

Cookie

今日内容

  • Cookie
  • 案例:记住上一次访问时间

1 Cookie

1.1 概念

  • Cookie就是客户端会话技术,将数据保存到客户端;为了解决"http协议无状态"这个问题,客户端提供了一项技术:Cookie,服务端也提供了一项技术"Session"这两项技术都可以解决"http协议无状态"这个问题,都可以记录用户状态
  • 会话技术:一次会话中包含多次请求和响应。

    • 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止
  • 功能:在一次会话的范围内的多次请求间,共享数据
  • 方式:

    • 客户端会话技术:Cookie
    • 服务器端会话技术:Session

1.2 快速入门

1.创建Cookie对象,绑定数据

  • new Cookie(String name, String value)

2.发送Cookie对象

  • response.addCookie(Cookie cookie)

3.获取Cookie,拿到数据

  • Cookie[] request.getCookies()

1.3 实现原理

  • 基于响应头set-cookie和请求头cookie实现

- 阅读剩余部分 -

HTTP协议 && Request && ServletContext

今日内容:

  • HTTP协议:响应消息
  • Response
  • ServletContext对象

1 HTTP协议

1、请求消息

  • 客户端发送给服务器端的数据
  • 数据格式:

    • 请求行
    • 请求头
    • 请求空行
    • 请求体

2、响应消息

  • 服务器端发送给客户端的数据
  • 数据格式:
1)响应行
  • 组成:协议/版本 响应状态码 状态码描述
  • 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。

    • 状态码都是3位数字
    • 分类:

      • 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
      • 2xx:成功。代表:200
      • 3xx:重定向。代表:302(重定向),304(访问缓存)
      • 4xx:客户端错误。

        • 代表:

          • 404(请求路径没有对应的资源)
          • 405:请求方式没有对应的doXxx方法
      • 5xx:服务器端错误。代表:500(服务器内部出现异常)

- 阅读剩余部分 -

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5