不忘初心,方得始终

『少女祈祷中…』

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的体系结构

- 阅读剩余部分 -

Centos 安装 JDK8 并配置环境变量

因学习需要,需要在centos上配置jdk8环境,特此记录 滑稽.png

1 安装前准备

1.1 检查当前系统是否安装了java

// 查看jdk版本
[root@SKY ~]# java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (rhel-2.6.14.10.el6-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)

这里我的centos自带了jdk1.7
所以需要查看jdk的安装信息

[root@SKY ~]# rpm -qa | grep java // 查看已经安装的jdk
tzdata-java-2019c-1.el6.noarch
java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64
java-1.7.0-openjdk-1.7.0.181-2.6.14.10.el6.x86_64

1.2 卸载自带的jdk

rpm -e --nodeps java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.181-2.6.14.10.el6.x86_64

- 阅读剩余部分 -

centos 删除和添加swap交换空间

最近开了个老毛子的小鸡,最低配的5G硬盘,玩起来也只能当跳板了
除去系统的一个多G,我发现系统默认配置了2G的swap交换区,本来空间就小,索性就删除之 滑稽.png

删除swap交换区

1)首先停止swap分区
/sbin/swapoff /swapfile
2)删除swap分区文件
rm -rf /swapfile
3)删除自动挂载的配置命令
首先打开配置文件
vi /etc/fstab
然后删除下面这行
/swapfile swap swap default 0 0
这样swap分区就删除完毕了 太开心.png

如果后续想添加也可以手动添加

增加swap交换区

- 阅读剩余部分 -

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的。

- 阅读剩余部分 -

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. ...
  7. 16