- 博客(35)
- 收藏
- 关注
原创 Jsp jsp实现原理
01_JSP的概述&入门案例 JSP概述 全称是Java Server Pages,他和Servlet一样,也是Java所提供的一门用于开发动态WEB资源的技术, JSP也是JavaEE的规范之一,JSP的底层其实就是Servlet。 JSP的特点 编写JSP就像编写HTML一样 JSP和HTML的区别 HTML只能向客户端提供静态数据 JSP技术允许我们在页面中嵌套Java代码...
2018-03-30 19:45:24
3235
4
原创 会话技术 Cookie Session
【会话技术】Ø 什么是会话:用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器关闭的过程称为是一次会话.Ø 常见的会话技术:* Cookie:将数据保存到客户端浏览器.* Session:将数据保存到服务器端.Ø 为什么使用会话技术?* 私有的数据,购物信息数据保存在会话技术中.参见图一和图二Ø 使用会话技术:【Cookie技术的使用】Ø 向浏览器保存数据:HttpServletR...
2018-03-30 19:37:28
401
原创 ServletContext Response Request
ServletContext的功能:【功能一:读取全局初始化参数】配置全局初始化参数: <context-param> <param-name>username</param-name> <param-value>root</param-value> </context-param> <con...
2018-03-30 19:14:54
233
原创 spring(二) IOC与DI 控制反转和属性注入
Spring的jar包下载Spring的官网:spring.io我们课程中讲解使用的是spring4.2.4在spring3.0.2版本后,不在提供依赖jar包picdocs 存在API和规范文档libs 开发jar包schema 开发过程中需要的xml的schema约束spring开发环境搭建在spring开发中,我们要根据不同的情况来导入不同的jar包,当前我们要讲解的是关于ioc与di对于i...
2018-03-27 20:12:56
248
原创 spring(一) Spring介绍 Spring作用 Spring体系结构
Spring概述Spring介绍 Spring 是一个开源框架,Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 RodJohnson 创建。简单来说,Spring 是一个分层的 JavaSE/EEfull-stack(一站式) 轻量级开源框架。Spring它是一个一站式的分层轻量级框架。Spring作用Spring 致力于提供一种方法管理你的业务对象。Spring 的主...
2018-03-27 19:54:27
858
原创 mybatis(八) mybatis查询缓存 延迟加载 一级缓存和二级缓存原理 mybatis整合ehcache
延迟加载 如果刚开始仅仅查询一些简单的数据能够 满足用户的需求时,只需要查询简单的数据(尽量从单表中取数据),当用户需要查询关联信息时,此时我们再关联查询关联信息,叫延迟加载,对关联查询的信息进行延迟加载。 延迟加载其目的为了提高查询性能,减轻数据的压力。 需求 查询订单关联查询用户信息,对关联查询用户进行延迟加载。 实现方式1 定义两个mapper:1、查询订单列表(只从订单表查询),单表查...
2018-03-26 16:55:53
296
原创 mybatis(七) 一对一查询 一对多查询 多对多查询
1 关联查询 mybatis实现表与表之间的查询,将查询结果集进行映射,重点讲resultMap完成高级映射,大家了解resultMap的使用方法。数据模型订单商品模型:目标:分析表与表之间的关系。 分析步骤: 1、按模块去分析表,不要将系统全部表一次性分析2、了解每个表存储了什么业务数据3、了解表中关键字段(主键、外键、索引字段、非空字段)4、了解表与表之间数据库级别的关系(外键关系)5、表与表...
2018-03-26 15:09:56
769
原创 mybatis(六) 输入映射 输出映射 resultType:resultMap 动态sql sql片段 if判断 foreach
1 输入映射 传递pojo包装对象 需求 用户综合条件查询功能。 使用mybatis实现用户查询列表,有很多查询条件(比如:商品信息、订单信息)。如何将综合查询条件传到mybatis的statement中,要使用包装对象传这些参数。 1.1.2 定义一个包装对象简单理解为:pojo包装了pojo。 mapper.xmlmapper.java传递hashmapSql映射文件定义如下:&l...
2018-03-26 14:35:18
1545
原创 mybatis(五) SqlMapconfig.xml配置
SqlMapConfig.xml 1.1 介绍SqlMapconfig.xml是mybatis的全局配置文件,mybatis通过它创建SqlSessionFactory。 配置内容: properties(属性)settings(全局配置参数)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environment...
2018-03-26 11:14:33
229
原创 mybatis(四)开发dao方法 开发原始dao方法 mapper代理开发方法
1 mybatis开发dao方法 1. SqlSession在代码中的使用场合使用场合:sqlSession在使用时由SqlSessionFactory生成创建一个Sqlsession会话对象,对象在代码中可以定义为成员变量、方法形参、方法的局部变量。 2. SqlSessionFactorySqlSessionFactory作为会话工厂,创建sqlSession,可以将SqlSessionFa...
2018-03-26 10:48:41
354
原创 mybatis(三) #{}和${} parameterType 和resultType selectOne和selectList mybatis和hibernate的本质 区别
1. #{}和${}#{}:表示一个占位符号,很好去避免sql注入原理:将占位符位置的整个参数和sql语句两部分提交给数据库,数据库去执行sql语句,去表中匹配所有的记录是否和整个参数是否一致。#{}要获取输入参数的值: 如果输入参数是简单类型,#{}中可以写value或其它名称 如果是pojo对象类型,#{]通过OGNL方式去获取,表达式就是:属性.属性.属性。。。方式 ${}表示一个sql 拼...
2018-03-26 10:18:24
684
原创 mybatis(二) 搭建环境 mybatis的单表操作 mybatis的使用流程步骤
搭建环境 1.下载mybatismybaits的代码由github.com管理,地址:https://github.com/mybatis/mybatis-3/releasesmybatis-3.2.7.jar----mybatis的核心包lib----mybatis的依赖包mybatis-3.2.7.pdf----mybatis使用手册2. 创建mysql数据库 在mysql中创建数据库,导...
2018-03-26 10:08:42
267
原创 mybatis(一) mybatis介绍 单独使用jdbc编程中问题总结 mybatis框架原理
1.1 mybatis介绍mybatis原名是ibatis,是apache的开源项目。ibatis改成mybatis不仅仅是名称的改变,mybatis在功能上也有升级。mybatis是一个持久层的框架,mybatis框架和关系数据库进行交互,将数据持久化到关系数据中。mybatis目前 在github(https://github.com/mybatis/mybatis-3/releases)托管...
2018-03-26 09:35:01
761
原创 Servlet的概述 Servlet的生命周期 Servlet的相关的配置
Servlet 是Java所提供的一门用于开发动态WEB资源的技术,也是JavaEE的规范之一开发步骤 创建一个WEB项目 在WEB项目中创建一个类,让该类去实现Servlet接口(继承Servlet接口的实现类) 在web.xml文件中进行相关的配置 发布WEB项目至WEB服务器使用Eclipse直接创建ServletServlet的生命周期 出生 第一次访问Servlet时由...
2018-03-25 21:30:39
260
原创 tomcat HTTP
01_WEB服务器的概述 WEB 是网页的意思,表示可以通过网络访问的资源 WEB资源的分类 静态的WEB资源 HTML,CSS,JS等都是静态的WEB资源技术 数据内容始终不会变化 动态的WEB资源 邮箱 在线邮箱 账户 Servlet,JSP,PHP,Python 数据内容由程序动态的生成而来 软件开发架构 ...
2018-03-25 20:43:13
617
原创 JDBC的事务 Druid开源连接池的使用 C3P0开源连接池的使用 DBUtils
事务的概念:事务指的是逻辑上的一组操作,组成这组操作各个逻辑单元要么全都成功,要么全都失败。 事务环境准备 创建数据库和表create database web_test;use web_test;create table account( id int primary key auto_increment, name varchar(20), money double);inse...
2018-03-15 13:37:26
468
原创 JDBC JDBC的开发步骤 DriverManager Connection Statement ResultSet JDBC的资源释放 JDBC的配置信息提取到配置文件
JDBC的概述 什么是JDBC 什么是数据库驱动驱动:两个设备(应用)之间通信的桥梁。 为什么学习JDBC没有JDBC的时候,如果现在要开发一套系统,使用Java连接MySQL数据库,那么这时候Java程序员需要了解MySQL驱动API,如果使用Java连接Oracle数据库,那么这个时候Java程序员需要了解Oracle数据库驱动API。SUN公司提供一套统一的规范(接口)。然后各个数...
2018-03-15 13:08:38
759
原创 数据库的备份和还原 重置MySQL的密码
重置MySQL的密码 重置MySQL的密码步骤 第一步:停止MySQL的服务第二步:在cmd下启动MySQL服务 第三步:重新开启cmd的命令行登录MySQL,不需要输入密码 第四步:修改root的密码 第五步:结束mysqld的进程 第六步:重新启动MySQL的服务 数据库的备份和还原 数据库的备份第一步:打开cmd的命令行窗口mysqldump -u root -p web_test1 &...
2018-03-13 13:50:23
844
原创 MYSQL_2 多表 表关系 事务 一对多 多对多 sql练习
多表设计之外键约束 约束 约束的作用 约束是用来保证数据的完整性。 单表约束 主键约束 唯一约束 非空约束 多表约束 外键约束:用来保证数据完整性(多表之间)。演示外键约束作用创建一个部门表create table dept( did int primary key auto_increment, dname varchar(20));insert int...
2018-03-13 13:29:24
1360
原创 MySQL_1 关系型数据库的存储结构 数据库的添加,修改,删除,查询操作 数据库表的添加,修改,删除,查询操作 数据库表记录的添加,修改,删除,查询
理解数据库和关系型数据库的概念 什么是数据库数据库就是一个文件系统,通过标准的SQL语句获取数据什么是MySQL数据库什么是关系型数据库关系型数据库存放的是实体之间的关系 常见的关系型数据库l MySQLl Oraclel SQLServerl DB2l SyBase 什么是服务器服务器要从硬件和软件两个方面来说:l 硬件:指的就是一台计算机。l 软件:需要在这台电脑上安装数据库服务器。 存储方...
2018-03-12 22:08:01
2357
原创 xml文件的概述与应用场景 xml文件的组成部分&如何编写xml xml的两种解析方式的原理 Dom4J开源工具的使用
xml的概述与如何编写xml文件 xml语言的概述 xml介绍 xml语言是具有结构性的标记语言, 可以灵活的存储一对多的数据关系. 举例: 以上这种数据, 如果通过我们学习的集合来存储的话, 需要通过多个集合的嵌套使用. 那么很显然, 数据存储的过程就非常麻烦, 但是我们今天所学习的xml文件就可以很简单的存储这种一对多的...
2018-03-12 19:03:45
565
原创 MySQL安装图解
一、MYSQL的安装1、打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“setup.exe”。2、选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,选择“Custom”,按“next”键继续。3、点选“Browse”,手动指定安装目录。4、填上安装目录,我的是“F:\Server\MySQL...
2018-03-12 18:48:03
222
原创 反射机制的概述和字节码对象的获取方式 JavaBean的概述&BeanUtils的使用 反射操作构造方法、成员方法、成员属性
反射介绍JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法 这种动态获取的以及动态调用对象的方法的功能称为java语言的反射机制. 简单来说, 就可以把.class文件比做动物的尸体, 而反射技术就是对尸体的一种解剖. 通过反射技术, 我们可以拿到该字节码文件中所有的东西, 例如成员变量, 成员方法, 构造方法, 而...
2018-03-09 21:07:43
724
原创 线程安全 线程同步 死锁 Lock锁 等待唤醒机制 多线程 Synchronized
多线程 线程安全如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 我们通过一个案例,演示线程的安全问题:电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “金瓶梅”,本次电影的座位共100个(本场电影只能卖100张票)。我们来模拟电影院的售票窗口,实现多个窗口同时卖 “功夫熊猫3...
2018-03-06 20:28:10
360
原创 多线程介绍 线程池 Thread 线程创建 线程状态图
多线程介绍进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程什么是多线程呢?即就是一个程序中有多个线...
2018-03-06 19:56:30
215
原创 IO File 递归 文件过滤器
1 . IO概述回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了。那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据读出来继续使用呢?其实要把数据持久化存储,就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、光盘、U盘等)上。当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作...
2018-02-28 14:34:20
232
原创 集合 Map接口 静态导入 Map集合遍历 Entry键值对对象 可变参数 Collections集合工具类
1.1 Map接口概述我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。 Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。 Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。 Collection中的集合称为单列集合,Map...
2018-02-25 21:21:03
605
原创 集合 List接口 List集合 Set集合 ArrayList LinkedList Vector Set接口 HashSet集合存储数据的结构
List接口我们掌握了Collection接口的使用后,再来看看Collection接口中的子类,他们都具备那些特性呢?接下来,我们一起学习Collection中的常用几个子类(List集合、Set集合)。List接口介绍查阅API,看List的介绍。有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访...
2018-02-25 20:50:09
311
原创 集合 ArrayList 集合的继承实现关系 Collection Iterator迭代器 增强for循环 泛型 集合的向下转型
1.集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据。 我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据。那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的。集合的长度是可变的。 集合中存储的元素必须是引用类型数据2. ArrayList集合存储元素public static void main(String[] ...
2018-02-25 20:10:51
1206
原创 接口 多态 instanceof 面向对象
接口概述 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。请记住:一切事物均有功能,即一切事物均有接口。接口的定义与定义类的class不同,接口定义时需要使用interface关键字。定义接口所在的仍为.java文件,虽然声明时使用的为...
2018-02-08 10:57:47
249
原创 面向对象 继承 抽象类
1.继承的概述在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如公司中的研发部员工和维护部员工都属于员工,程序中便可以描述为研发部员工和维护部员工继承自员工,同理,JavaEE工程师和Android工程师继承自研发部员工,而维网络维护工程师和硬件维护工程师继承自维护部员工。这些员工之间会形成一个继承体系,具体如...
2018-02-08 10:30:23
236
原创 引用数据类型 类 封装 类与对象 面向对象 私有private this关键字
1. 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类、Random类。我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使 用。 第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用。这里我们主要介绍第二种情况...
2018-02-08 10:10:02
402
原创 Date DateFormat SimpleDateFormat Calendar Joda-Time
Date类的概述 1.JDK提供date类表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。//创建日期对象,把当前的毫秒值转成日期对象Date date = new Date(124355676160L);System.out.println(date);//Mon Dec 10 15...
2018-02-08 09:17:26
408
原创 String StringBuffer StringBuilder
1.String类的概述 查阅API中的String类的描述,发现String类代表字符串。Java程序中的所有字符串字面值(如 "abc")都作为此类的实例实现。//演示字符串String str = "abc";str = "你好隔壁老王"; 查阅API发现说字符串是常量;它们的值在创建之后不能更改,这是什么意思呢?其实就是说一旦这个字符串确定了,那么就会在内存区域中就生成了这个字符串。...
2018-02-06 19:42:01
179
转载 springmvc 的参数接受和 页面回显
封装参数 springmvc没有成员变量,把需要页面传递的参数封装成对象,放入springmvc的方法形参中,当你的请求这个方法时,这个方法里面的对象会自动被创建,需要封装的参数自动被封装到方法中: 一般接受的参数类型: 基本类型: pojo类型:包装类型:springmvc默认支持的类型:HttpSession,HTTPRequest,Model等等,Struts
2017-11-24 10:58:23
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人