自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 探索集线器、交换机和路由器——信号在网线和集线器中传输

1、每个包都是独立传输的:网络包的收发其实非常类似邮递员在送信,只看信封不看里面的内容,同样地,转发设备在进行转发时也是不看数据的内容的。换句话说,HTTP请求的方法,TCP的确认响应和序号,客户端和服务器之间的关系,这一切都与包的传输无关。因此,所有的包在传输到目的地的过程中都是独立的,相互之间没有任何关联。记住这个概念之后,先来看看一下网络包在进入互联网之前经历的传输过程,如下图:...

2019-07-21 23:29:42 643

原创 探索协议栈和网卡——UDP协议的收发操作

1、不需要重发的数据用UDP发送更高效:之前文章中所提到的都是TCP协议,但是有些应用程序不使用TCP协议,而是使用UDP协议来收发数据。像DNS服务器查询IP地址的时候就是UDP协议。TCP协议是为了将数据高效且可靠地发送给对方。为了实现可靠性就需要确认对方是否收到了我们发送的数据,如果没有还需要重发一次。为了实现高效的传输,TCP还可以避免重发已经发送并接收的包,只重发那些出错的或者未...

2019-07-16 23:15:16 307

原创 探索协议栈和网卡——IP包与以太网的包收发操作

1、包的基本知识:包是由头部和数据两部分构成的。头部包含目的地址等控制信息;后面就是委托要发送给对方的数据。首先,发送方的网络设备会负责创建包。接下来,包会被发往最近的网络转发设备。当到达最近的转发设备之后,转发设备会根据头部中的信息判断接下来应该发往哪里。这个过程需要用到一张表,这张表里记录了每个地址对应的发送方向,也就是按照头部里记录的目标地址在表里进行查询,并根据查到的信息判断接下来...

2019-07-16 00:09:51 1067

原创 探索协议栈和网卡——从服务器断开并删除套接字

1、数据发送完毕后断开连接:数据发送完毕的一方会发起断开过程,但不同的应用程序会选择不同的断开时机。以Web为例,服务器一方会发起断开过程(这里指的是HTTP 1.0 的情形,在HTTP 1.1 中,服务器返回响应消息之后,客户端还可以继续发起在一个请求消息,如果接下来没有请求发送了,客户端一方会发起断开过程)。协议栈在设计上允许任何一方发起断开过程。以服务器一方发起断开过程为例。首先,服...

2019-05-23 20:33:28 248

原创 探索协议栈和网卡——收发数据

1、将HTTP请求消息交给协议栈:上一篇文章讲到了Socket库中connect组件委托协议栈实现连接服务器的操作,那么接下来就进入到了数据收发阶段,也就是Socket库中对应的write组件和read组件所实现的功能,以及委托到协议栈涉及的操作。从Socket库的角度看,应用程序调用write时会指定发送数据的长度,所以在协议栈看来,要发送的数据就是一定长度的二进制字节序列。其次,协议栈...

2019-05-22 21:01:37 400 1

原创 探索协议栈和网卡——连接服务器

1、连接是什么意思:从应用程序的角度看,连接操作实际上就是调用Socket库中的connect组件,随后本地的套接字就会与服务器端的套接字连接。那么这个过程是怎么样的呢?在套接字刚创建完的时候,是不知道通信对象是谁的。这个时候,应用程序就需要将服务器的IP地址和端口号等信息告知协议栈,这是连接操作的目的之一。在服务器端,创建完套接字之后是不清楚客户端的具体身份的,于是,需要让客户端向服...

2019-05-19 16:49:21 223

原创 探索协议栈和网卡——创建套接字

1、协议栈的内部结构:协议栈作为操作系统中的网络控制软件我们在表面上是看不见的,所以接下来先对协议栈做个解剖。我们使用TCP/IP分层进行解析:从上图中可以看出,协议栈内部分为好几个部分,分别承担着不同的功能。例如协议栈上半部分的两块,分别负责用TCP协议收发数据的部分和负责用UDP协议收发数据的部分。像浏览器、邮件等一般的应用程序都是使用TCP收发数据,而像DNS查询等收发较短的控制...

2019-05-18 14:59:39 342

原创 探索浏览器内部——委托协议栈发送消息

1、数据收发操作概览:在前面的几篇文章中讲述了发送消息的其实并不是浏览器(也可以是各种其他应用)本身,也不是DNS解析器本身,而是委托操作系统内部的协议栈向目标IP地址(一般是各类服务器)发送消息。那么接下来就来探索协议栈是怎么收发这些消息的。简单来说,收发数据的两台计算机之间连接了一条数据通道,数据沿着这条通道流动,数据的流动是双向的。当然,通道并不是一开始就存在的,而是在收发数据之前双...

2019-05-15 22:27:04 343

原创 探索浏览器内部——全世界DNS服务器的大接力

1、DNS服务器的基本工作:DNS服务器的基本工作就是接收来自客户端的查询消息,然后根据消息的内容返回响应。查询消息主要分为以下三种:(a)域名服务器、邮件服务器(邮件地址中@后面的部分)的名称(b)Class在最早设计DNS方案时,DNS在互联网以外的其他网络中的应用也被考虑到了,Class就是用来识别网络的信息。例如互联网表示IN。(c)记录类型表示域名对应何种...

2019-05-15 08:36:07 331

原创 探索浏览器内部——向DNS服务器查询Web服务器的IP地址

1、IP地址的基本知识:上一篇文章从宏观上讲解了在浏览器输入URL或者通过点击超级链接等方式之后,浏览器所做的工作(解析URL和生成HTTP消息),那么在生成HTTP消息之后,我们就需要委托操作系统将消息发送给Web服务器。没错,浏览本身并不具备将消息发送到网络的功能。但是在委托操作系统发送消息之前,还需要查询网址中服务器域名对应的IP地址。接下来,先简单了解一下IP地址。在网络中,所...

2019-05-13 21:27:18 1658

原创 探索浏览器内部——生成HTTP请求消息

1、从输入网址开始:网址准确的来说应该叫URL(Uniform Resource Locator 统一资源定位符)。网址除了我们经常见到的“http:”(超文本传传送协议)开头的以外还包括例如“ftp:”“file:”“mailto:”等。不同的开头对应访问的服务器也各不同,例如访问Web服务器时用“http:”,而访问FTP(File Transfer Protocol 文件传送协议)服务器...

2019-05-11 21:49:47 476

原创 JSR303定义的校验类型

空检查@Null 验证对象是否为null@NotNull 验证对象是否不为null, 无法查检长度为0的字符串@NotBlank检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.@NotEmpty检查约束元素是否为NULL或者是EMPTY.Booelan检查@AssertTrue 验证 Boolean 对...

2019-03-12 16:02:53 190

转载 Spring使用定时注解写定时器

一、首先xml头部增加几个标签:xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd" ...

2019-01-31 17:16:45 256

原创 SpringMVC(Spring4)——JSON和拦截器

1.处理JSON:步骤:加入jar包:编写目标方法,在方法上添加@ResponseBody注解:@ResponseBody @RequestMapping("/testJson") public Collection<Employee> testJson(){ return employeeDao.getAll(); }2.HttpMessageCo...

2018-12-28 14:19:49 725

原创 SpringMVC(Spring4)——RESTful CRUD

1.查询:@RequestMapping("/emps") public String list(Map<String, Object> map){ map.put("employees", employeeDao.getAll()); return "list"; }<%@ page language="java" contentType="text/

2018-12-28 10:37:54 420

原创 SpringMVC(Spring4)——视图

1.SpringMVC如何解析视图:1.1 视图和视图解析器:请求处理方法执行完成之后,最终返回一个ModelAndView对象。对于那些返回String、View或ModeMap等类型的处理方法,SpringMVC会在内部将它们装配成一个ModelAndView对象,它包含了逻辑名和模型对象的视图。SpringMVC借助视图解析器(ViewResolver)最终得到的视图对象...

2018-12-27 16:18:51 343

原创 SpringMVC(Spring4)——参数注解

1.请求处理方法签名:SpringMVC通过分析处理方法的签名,将HTTP请求信息绑定到处理方法的相应入参中。SpringMVC对控制器处理方法签名的限制很宽松。必要时可以对方法及方法入参相应的注解(@PathVariable、@RequestParam、@RequestHeader等)SpringMVC框架会将HTTP请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的...

2018-12-27 14:38:59 742

原创 SpringMVC(Spring4)——入门

1.简介:Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的的MVC框架之一。Spring3.0之后超越了Struts2,成为了最优秀的MVC框架。SpringMVC通过一套MVC注解,让POJO称为处理请求的控制器,而无须实现任何接口。支持REST风格的URL请求。采用了松散耦合可插拔组件结构,比其他MVC框架更具拓展性和灵活性。2.Hello...

2018-12-27 10:41:28 182

原创 Spring Data——Repository的子接口

1.CrudRepository 接口:CrudRepository 接口提供了最基本的对实体类的添删改查操作 T save(T entity);//保存单个实体 Iterable<T> save(Iterable<? extends T> entities);//保存集合       T findOne(ID id);//根据id查找实体        ...

2018-12-26 15:06:49 253

原创 Spring Data——方法定义规范

1.简单条件查询:简单条件查询: 查询某一个实体类或者集合 按照 Spring Data 的规范,查询方法以 find | read | get 开头, 涉及条件查询时,条件的属性用条件关键字连接,要注意的是:条件属性以首字母大写。 例如:定义一个 Entity 实体类 class User{ private String firstName; private String...

2018-12-26 13:57:16 327

原创 Spring Data——入门

1.简介:Spring Data:Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。SpringData 项目所支持 NoSQL 存储:MongoDB (文档数据库)Neo4j(图形数据库)Redis(键/值存储)Hbase(列族数据库)SpringData 项目所支持的关系数据存储技术:JDB...

2018-12-26 10:41:59 184

原创 Shiro(1.3.2)——集成Spring以及具体实现

1.Web.xml配置:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://ja

2018-12-25 17:42:35 745

原创 Shiro(1.3.2)——入门

1.简介:Apache Shiro是Java的一个安全(权限)框架,不仅可以用在Java SE环境,也可以用在Java EE环境。Shiro可以完成:认证、授权、加密、会话管理、与Web集成、缓存等。下载:http://shiro.apache.org/2.功能简介:主要功能:Authentication:认证(登录)。Authorization:授权。Sessio...

2018-12-24 15:01:17 638

原创 Hibernate5(2016)——查询

1.Hibernate查询方式:1 对象导航查询根据id查某个客户,再查询这个客户里面所有的联系人2 OID查询根据id查询某一条记录,返回对象3 hql查询Query对象,写hql语句实现查询4 QBC查询Criteria对象5 本地sql查询SQLQuery对象,使用普通sql实现查2.对象导航查询:1 查询某个客户里面所有联系人过程,使用对象导...

2018-12-19 10:51:24 475

原创 Hibernate5(2016)——级联操作

1.表于表之间关系回顾:1 一对多分类和商品关系,一个分类里面有多个商品,一个商品只能属于一个分类客户和联系人是一对多的关系-客户:与公司有业务往来,百度、新浪、360-联系人:公司里面的员工,百度里面有很多的员工,联系员工** 公司和公司员工的关系-客户是一,联系人是多-一个客户里面有很多个联系人,一个联系人只能属于一个客户一对多建表:通过外键建立关系...

2018-12-17 15:07:26 506

原创 Hibernate5(2016)——缓存与事务

1.Hibernate的一级缓存:1.1 什么是缓存:1 数据存到数据库里面,数据库本身就是文件系统,java中要使用流的方式操作文件效率并不是很高把数据存到内存里面,不需要使用流的方式,可以直接读取内存中的数据把数据放到内存中,提高读取效率1.2 Hibernate缓存:1 hibernate框架中提供很多优化方式,hibernate中的缓存就是一个优化方式2 hib...

2018-12-17 10:46:24 386 1

原创 Hibernate5(2016)——实体类

1.实体类编写规则:1 实体类里面的属性要是私有的2 私有属性要使用公开的get和set方法3 要求实体类里面要有一个属性作为唯一值(一般都使用id值)4 在hibernate中,实体类属性建议不使用基本数据类型,而是使用基本数据类型对应的包装类八个基本数据类型对应的包装类-int——Integer-char——Character-其他的都是首字母大写 比如doub...

2018-12-17 10:25:44 601

原创 Hibernate5(2016)——配置文件详解及核心API

1.Hibernate配置文件详解:1.1 Hibernate映射配置文件:1 映射配置文件名称和位置没有固定要求2 映射配置文件中,标签name属性值写实体类相关内容class标签name属性值写实体类的全路径id标签和property的name属性值写实体类的属性名称3 id标签和property标签,column属性是可以省略的不写的话值是和name属性值是一样的...

2018-12-17 09:47:03 723

原创 Hibernate5(2016)——入门

1.WEB内容回顾:JavaEE三层结构1 web层:Struts框架2 service层:Spring层3 dao层:hibernate框架MVC思想1 m:模型2 v:视图3 c:控制器2.Hibernate概述:2.1 什么是hibernate框架(重点):1 hibernate框架应用在Javaee三层结构中dao层2 在dao层里面做数据库...

2018-12-17 09:29:46 278

原创 Spring4(2016)——SSH整合

1.SSH框架整合思想:1.1 三大框架应用在javaee三层结构:1.2 struts2框架和spring整合:struts2的action在spring配置1.3 spring框架和hibernate框架整合:hibernate的sessionFactory交给spring配置,把hibernate数据库配置交给spring配置2.整合struts2和sprin...

2018-12-13 16:18:57 324

原创 Spring4(2016)——连接池+事务管理

1.Spring配置连接池和dao使用jdbcTemplate:1.1 spring配置c3p0连接池:第一步 导入jar包第二步 创建spring的配置文件,配置连接池把代码在配置文件中进行配置1.2 dao使用jdbcTemplate:创建service和dao,配置service和dao对象,在service里面注入dao对象创建jdbcTempl...

2018-12-12 11:13:34 501

原创 Spring4(2016)——jdbcTemplate

1.Spring的jdbcTemplate操作:spring框架一站式框架,针对javaee三层,每一层都有解决技术。在dao层,使用jdbcTemplatejdbcTemplate对jdbc进行封装jdbcTemplate使用和dbutils使用很相似,都对数据库进行crud操作1.1 增加:1 导入jdbcTemplate使用的jar包(不能忘了数据库驱动)!!...

2018-12-12 10:38:13 324

原创 Spring4(2016)——AOP

1.AOP 概念:aop:面向切面(方面)编程,拓展功能不修改源代码实现AOP采用横向抽取机制,取代了传统纵向继承体系复杂性代码1.1 AOP原理:画图分析原理纵向机制:横向机制:1.2 AOP操作术语:2.Spring的aop操作:在spring里面进行aop操作,使用aspectj实现aspectj不是spring一部分,和spring一...

2018-12-04 13:50:54 181

原创 Spring4(2016)——bean管理(注解)

1.Spring注解发开准备:1.1 导入jar包:导入基本jar包导入aop的jar包1.2 创建类,创建方法:1.3 创建spring配置文件,引入约束:做spring的ioc注解开发,引入新的约束1.4 开启注解的扫描:2.注解创建对象:2.1 在创建对象的类上面使用注解实现:2.2 创建对象有四个注解:@Component、@...

2018-12-03 13:45:19 233

原创 Spring4(2016)——XML方式的IOC与DI

1.Spring的bean管理(xml方式)1.1Bean实例化的方式:在spring里面通过配置文件创建对象bean实例化三种方式实现第一种 使用类的无参数构造创建(重点)没有无参数的构造会出现异常第二种 使用静态工厂创建创建静态的方法,返回类对象第三种 使用实例工厂创建创建不是静态的方法,返回类对象2.Bean标签的常用属性:id属性...

2018-11-29 16:44:14 141

原创 Spring4(2016)——基本配置

1.Spring概念:1.1 spring是开源的轻量级框架1.2 spring核心主要两部分: aop:面向切面编程,扩展功能不是修改源代码实现 ioc:控制反转, -比如有一个,在类里面有方法(不是静态的方法),调用类里面的方法,创建类的对象,使用对象调用方法,创建对象的过程,需要new出来对象。 -把对象的创建不是通过new方式实现,而是交给spr...

2018-11-29 16:00:45 373

原创 AJAX——结合Servlet

1.理论分析:2.画图分析:3.静态界面中的核心代码:4.JS核心代码:5.Servlet中的核心代码(返回JSON格式):5.1导入包:5.2返回JSON格式:...

2018-11-18 00:06:43 331

原创 AJAX——在jQuery中的应用

1.用jQuery实现Ajax:2.具体使用:2.1引入jQuery的百度静态库:2.2 初始化:1)GET请求:2)POST请求:3.跨域:3.1处理跨域方法一——代理:3.2处理跨域方法二——JSONP(不支持POST):3.3处理跨域方法三——XHR2(只支持IE10之后的版本):...

2018-11-17 23:35:10 146

原创 AJAX——全面解析

1.AJAX介绍:AJAX的全称:Asynchronous JavaScript and XML(异步的JavaScript和XML)。使用了ajax技术的网页,通过在后台跟服务器进行少量的数据交换,网页就可以实现异步局部更新。 2.同步概念:3.异步概念:3.1实现异步的对象:3.2实现异步的过程:运用HTML和CSS来实现页面,表达信息;运用XMLH...

2018-11-17 17:15:27 163

原创 JPA——JPA API

1.Persistence:Persistence类是用于获取EntityManagerFactory实例。该类包含一个名为createEntityManagerFactory的静态方法。createEntityManagerFactory方法有如下两个重载版本:--带有一个参数的方法以JPA配置文件persistence.xml中的持久化单元名为参数--带有两个参数的方法:前一个...

2018-11-01 08:44:05 659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除