05 2020 档案

摘要:现在仅总结重要和实用的知识点,更加全面的请见链接:1、🔗;2、🔗。 微服务:架构风格(服务微化):一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;微服务:每一个功能元素终都是一个可独立替换和独立升级的软件单元; 对于日志功能:SpringBoot能自动适配所有的日志,而且底层使用sl 阅读全文
posted @ 2020-05-31 23:20 kkzhang 阅读(117) 评论(0) 推荐(0) 编辑
摘要:转载参考🔗 阅读全文
posted @ 2020-05-28 10:23 kkzhang 阅读(121) 评论(0) 推荐(0) 编辑
摘要:1、SSM整合步骤: 1、导入jar(27个) spring: springMVC: mybatis: 第三方支持:log4j,pageHelper,AspectJ,jackson,jstl 2、搭建springMVC (1)web.xml: DispatcherServlet HiddenHttp 阅读全文
posted @ 2020-05-27 15:47 kkzhang 阅读(164) 评论(0) 推荐(0) 编辑
摘要:1、PageHelper 分页插件简介 1) PageHelper是MyBatis中非常方便的第三方分页插件 2) 官方文档: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md 3) 我们可以对照官方文 阅读全文
posted @ 2020-05-27 09:03 kkzhang 阅读(619) 评论(1) 推荐(0) 编辑
摘要:1、创建数组的三种方式: ①动态初始化:数组的初始化和数组元素的赋值操作分开进行 dataType[ ] arrayRefVar = new dataType [ arraySize ] ; Emp [] emps=new Emp[3]; Emp emp1=new Emp(null,"a1",12, 阅读全文
posted @ 2020-05-26 22:20 kkzhang 阅读(964) 评论(0) 推荐(0) 编辑
摘要:1.变量的分类1)按数据类型分类 详细说明: 1. 整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节) ① byte范围:-128 ~ 127 ② 声明long型变量,必须以"l"或"L"结尾 ③ 通常,定义整型变量时,使用int型。 ④整型的 阅读全文
posted @ 2020-05-26 19:35 kkzhang 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1、逆向工程简介 1) MyBatis Generator: 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写 官方文档 阅读全文
posted @ 2020-05-25 21:54 kkzhang 阅读(343) 评论(0) 推荐(0) 编辑
摘要:1) 为了提高扩展性。MyBatis定义了缓存接口Cache。我们可以通过实现Cache接口来自定义二级缓存 2) EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点. 3) 整合EhCache缓存的步骤: ① 导入ehcache包,以及整合包,日志包 ehcache-core- 阅读全文
posted @ 2020-05-25 18:05 kkzhang 阅读(573) 评论(0) 推荐(0) 编辑
摘要:缓存机制简介 1) MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。缓存可以极大的提升查询效率 2) MyBatis系统中默认定义了两级缓存 一级缓存 二级缓存 3) 默认情况下,只有一级缓存(SqlSession级别的缓存,也称为本地缓存)开启。 4) 二级缓存需要手动 阅读全文
posted @ 2020-05-25 17:36 kkzhang 阅读(258) 评论(0) 推荐(0) 编辑
摘要:MyBatis 动态SQL 1) 动态 SQL是MyBatis强大特性之一。极大的简化我们拼装SQL的操作 2) 动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似 3) MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作 if choose (when, o 阅读全文
posted @ 2020-05-25 16:31 kkzhang 阅读(218) 评论(0) 推荐(0) 编辑
摘要:collection:处理一对多和多对多的关系 1) POJO中的属性可能会是一个集合对象,我们可以使用联合查询,并以级联属性的方式封装对象.使用collection标签定义对象的封装规则 public class Dept { private Integer did; private String 阅读全文
posted @ 2020-05-25 10:07 kkzhang 阅读(1859) 评论(0) 推荐(0) 编辑
摘要:自定义resultMap,处理复杂的表关系,实现高级结果集映射 1) id :用于完成主键值的映射 2) result :用于完成普通列的映射 3) association :一个复杂的类型关联;许多结果将包成这种类型 4) collection : 复杂类型的集 1、多对一的查询,员工与员工部门: 阅读全文
posted @ 2020-05-25 08:58 kkzhang 阅读(782) 评论(0) 推荐(0) 编辑
摘要:1、SQL语句中获取参数的两种方式 1) #{key}:获取参数的值,预编译到SQL中。安全。相当于PreparedStatement,利用通配符. 2) ${key}:获取参数的值,拼接到SQL中。有SQL注入问题🔗。相当于Statement,涉及到字符串的拼接,字符串部分一定要注意单引号问题。 阅读全文
posted @ 2020-05-24 22:23 kkzhang 阅读(987) 评论(0) 推荐(0) 编辑
摘要:1、主键生成方式 1) 支持主键自增,例如MySQL,SQL Server数据库 2) 不支持主键自增,例如Oracle数据库 需求: 插入一条新数据,立马查询这条数据. 2、获取主键值 ①对于JDBC原生代码,需要在预编译语句中设置返回参数,然后通过输出获取自增的主键值。🔗 ②对于mybatis 阅读全文
posted @ 2020-05-24 21:24 kkzhang 阅读(1432) 评论(0) 推荐(0) 编辑
摘要:查询最需要关注的问题:①resultType自动映射,②方法返回值; interface EmpSelectMapper: package com.atguigu.mapper; import java.util.List; import java.util.Map; import org.apac 阅读全文
posted @ 2020-05-24 17:55 kkzhang 阅读(767) 评论(0) 推荐(0) 编辑
摘要:Mybatis映射文件简介 1) MyBatis 的真正强大在于它的映射语句。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。 2)  阅读全文
posted @ 2020-05-23 23:04 kkzhang 阅读(360) 评论(0) 推荐(0) 编辑
摘要:一、开发环境的准备 总览: mybatis搭建过程: 1、导入jar 2、创建mybatis的核心(全局)配置文件mybatis-config.xml,并配置 3、创建映射文件XxxMapper.xml,并配置 4、创建mapper接口,实现两个绑定: (1)接口全限定名要和映射文件的namespa 阅读全文
posted @ 2020-05-23 21:02 kkzhang 阅读(1345) 评论(0) 推荐(0) 编辑
摘要:1、MyBatis历史 1)MyBatis是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation 迁移到了Google Code,随着开发团队转投Google Code旗下, iBatis3.x 正式更名为MyBatis ,代码于20 阅读全文
posted @ 2020-05-23 17:14 kkzhang 阅读(279) 评论(0) 推荐(0) 编辑
摘要:SpringMVC扼要的讲,就是控制请求和处理。有必要将Spring和SpringMVC整合,否则仅配置SpringMVC并完成Spring的功能,会造成业务逻辑混乱。 简要总结:①原理:采用监听器,可以在ServlertContext加载时,通过监听器加载Spring的配置文件,创建Spring容 阅读全文
posted @ 2020-05-23 10:46 kkzhang 阅读(1646) 评论(0) 推荐(0) 编辑
摘要:注意:pretHandle如果返回false,表示拦截请求,后面的都不会再执行。postHandle没有异常时执行,有异常时不会执行。 HandlerMapping中存储了所有的请求和处理器的关系,HandlerExecutionChain处理某一个请求与处理器的关系,HandlerAdapter处 阅读全文
posted @ 2020-05-23 00:50 kkzhang 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:异常处理概述 1) Spring MVC 通过 HandlerExceptionResolver 处理程序的异常,包括 Handler 映射、数据绑定以及目标方法执行时发生的异常。 2) SpringMVC 提供的 HandlerExceptionResolver 的实现类 默认异常处理_Defau 阅读全文
posted @ 2020-05-22 22:35 kkzhang 阅读(201) 评论(0) 推荐(0) 编辑
摘要:自定义拦截器概述 1) Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器可以实现HandlerInterceptor接口,也可以继承HandlerInterceptorAdapter 适配器类 ① public boolean preHan 阅读全文
posted @ 2020-05-22 21:11 kkzhang 阅读(236) 评论(0) 推荐(0) 编辑
摘要:文件上传 1) Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。 2) Spring 用 Jakarta Commons FileUpload 技术实现了一个 MultipartResolver 实现类:CommonsMulti 阅读全文
posted @ 2020-05-22 16:09 kkzhang 阅读(214) 评论(0) 推荐(0) 编辑
摘要:HttpMessageConverter<T> 1) HttpMessageConverter<T> 是 Spring3.0 新添加的一个接口,负责将请求信息转换为一个对象(类型为 T),将对象(类型为 T)输出为响应信息 2) DispatcherServlet 默认装配 RequestMappi 阅读全文
posted @ 2020-05-22 15:56 kkzhang 阅读(545) 评论(0) 推荐(0) 编辑
摘要:JSON:本质是一个特殊的JS内置对象,或者一种JS类型。作为数据交互的格式存在。值可以是对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写。 1、JSON有两种格式: 1)JSON对象:{key: value, key:value,. 阅读全文
posted @ 2020-05-22 11:16 kkzhang 阅读(325) 评论(0) 推荐(0) 编辑
摘要:在 Tomcat 中就有一个名为 default 的 servlet ,对应所有的请求: <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet 阅读全文
posted @ 2020-05-21 23:30 kkzhang 阅读(278) 评论(0) 推荐(0) 编辑
摘要:Eclipse 常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。 1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时 阅读全文
posted @ 2020-05-21 19:18 kkzhang 阅读(435) 评论(0) 推荐(0) 编辑
摘要:1、编码过滤器filter必须配置在web.xml中的第一个,org.springframework.web.filter.CharacterEncodingFilter <filter> <filter-name>CharacterEncodingFilter</filter-name> <fil 阅读全文
posted @ 2020-05-21 15:52 kkzhang 阅读(203) 评论(0) 推荐(0) 编辑
摘要:SpringMVC如何解析视图概述1) 不论控制器返回一个String,ModelAndView,View都会转换为ModelAndView对象,由视图解析器解析视图,然后,进行页面的跳转。 2) 视图解析源码分析:重要的两个接口 视图和视图解析器 1) 请求处理方法执行完成后,最终返回一个 Mod 阅读全文
posted @ 2020-05-21 15:15 kkzhang 阅读(326) 评论(0) 推荐(0) 编辑
摘要:SpringMVC 输出模型数据概述 提供了以下几种途径输出模型数据 1) ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据 2) Map 或 Model: 入参为 org.springframework.ui.Model、org.s 阅读全文
posted @ 2020-05-21 12:01 kkzhang 阅读(243) 评论(0) 推荐(0) 编辑
摘要:请求数据 : 请求参数 cookie信息 请求头信息….. JavaWEB : HttpServletRequest Request.getParameter(参数名); Request.getParameterMap(); Request.getCookies(); Request.getHead 阅读全文
posted @ 2020-05-21 11:24 kkzhang 阅读(206) 评论(0) 推荐(0) 编辑
摘要:1、REST是什么? 1) REST:即 Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用 ① 资源(Resources):网络上的一个实体,或者说是网络上 阅读全文
posted @ 2020-05-20 22:02 kkzhang 阅读(517) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import 阅读全文
posted @ 2020-05-20 19:05 kkzhang 阅读(549) 评论(0) 推荐(0) 编辑
摘要:IOC(Inversion of Control):反转控制;DI (Dependency Injection)依赖注入🔗 🔗 反转控制将对象的创建控制权交由Spring容器,并管理其的生命周期,创建模式(单例 or 多例);依赖注入,创建和管理某个对象,其依赖于那些属性,为属性赋值就是注入。 阅读全文
posted @ 2020-05-20 10:49 kkzhang 阅读(135) 评论(0) 推荐(0) 编辑
摘要:1、 SpringMVC 概述 1) Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一 。MVC,M:model,模型层,指的是项目中的实体JavaBean,装载并传输数据;V:视图层,代表JSP;C:控制层,指的是项目中的Servlet,控制 阅读全文
posted @ 2020-05-20 00:00 kkzhang 阅读(348) 评论(0) 推荐(0) 编辑
摘要:无论是使用注解的方式还是XML,最终支持事务管理的一定是事务管理器dataSourceTransactionManager,事务管理是AOP中的一个简单应用,AOP面向切面编程,切面就是从目标对象中抽取出来一些公共功能或一些非核心业务代码所存放的类,面向对象为纵向继承,面向切面为横向抽取。 1、创建 阅读全文
posted @ 2020-05-19 16:31 kkzhang 阅读(507) 评论(0) 推荐(0) 编辑
摘要:事务的传播行为 当事务方法被另一个事务方法调用时,必须指定事务应该如何传播。例如:方法可能继续在现有事务中运行,也可能开启一个新事务,并在自己的事务中运行。事务的传播行为可以由传播属性指定。Spring定义了7种类传播行为。 事务传播属性可以在@Transactional注解的propagation 阅读全文
posted @ 2020-05-19 15:59 kkzhang 阅读(3151) 评论(0) 推荐(1) 编辑
摘要:1、事务概述 1) 在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术。 2) 事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行。 3) 事务的四个关 阅读全文
posted @ 2020-05-19 10:57 kkzhang 阅读(1123) 评论(0) 推荐(1) 编辑
摘要:JdbcTemplate 1、 概述 为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架。 作为Spring JDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法,通过这种方式,可以在尽可能保留灵活性的情况下,将数据 阅读全文
posted @ 2020-05-18 17:58 kkzhang 阅读(354) 评论(0) 推荐(0) 编辑
摘要:1、 概述 一个切面中需要包含什么,才能够作用到连接点?切面中是包含通知的,通知作用到连接点需要有切入点表达式。 除了使用AspectJ注解声明切面,Spring也支持在bean配置文件中声明切面。这种声明是通过aop名称空间中的XML元素完成的。 正常情况下,基于注解的声明要优先于基于XML的声明 阅读全文
posted @ 2020-05-18 15:41 kkzhang 阅读(767) 评论(0) 推荐(0) 编辑
摘要:AspectJ1、 简介 AspectJ:Java社区里最完整最流行的AOP框架。(在Spring中AOP是一种思想,而AspectJ是一种AOP的更明确具体实现) 在Spring2.0以上版本中,可以使用基于AspectJ注解或基于XML配置的AOP。2、在Spring中启用AspectJ注解支持 阅读全文
posted @ 2020-05-18 11:32 kkzhang 阅读(712) 评论(0) 推荐(0) 编辑
摘要:AOP概述 1) AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充。 面向对象 纵向继承机制(父类与子类的关系,父接口与子接口的关系,接口与实现类的关系) 阅读全文
posted @ 2020-05-18 09:34 kkzhang 阅读(297) 评论(0) 推荐(0) 编辑
摘要:动态代理的原理代理设计模式的原理:使用一个代理将原本对象包装起来,然后用该代理对象”取代”原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 代理模式:可以理解为有两个对象,代理对象和目标对象,代理对象就是帮助我们完成这件事的对象,目标对象就是我们要去做的 阅读全文
posted @ 2020-05-18 00:11 kkzhang 阅读(189) 评论(0) 推荐(0) 编辑
摘要:1、IOC和DI1) IOC(Inversion of Control):反转控制 在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效率。 反转控制的思想完全颠覆了应用程 阅读全文
posted @ 2020-05-17 11:18 kkzhang 阅读(486) 评论(0) 推荐(0) 编辑
摘要:1、对于框架的简单了解(framework) 框架:具有约束性的去支撑我们完成功能的半成品的项目。 约束性:定义的一些标准; 支撑性:其实就是对底层各种功能技术的封装; 半成品的项目:框架不是一个完整的项目,只是提供一个架子,虽然封装了各种技术,但是缺少业务逻辑。框架+业务逻辑=项目(减少代码量) 阅读全文
posted @ 2020-05-15 22:50 kkzhang 阅读(211) 评论(0) 推荐(0) 编辑
摘要:* java.lang.Throwable * | java.lang.Error:一般不编写针对性的代码进行处理。 * | java.lang.Exception:可以进行异常的处理 * | 编译时异常(checked) * | IOException * | FileNotFoundExcept 阅读全文
posted @ 2020-05-15 17:26 kkzhang 阅读(130) 评论(0) 推荐(0) 编辑
摘要:@Test public void test2(){ Girl girl = new Girl(); // girl = null; //ofNullable(T t):t可以为null Optional<Girl> optionalGirl = Optional.ofNullable(girl); 阅读全文
posted @ 2020-05-14 19:18 kkzhang 阅读(143) 评论(0) 推荐(0) 编辑
摘要://创建 Stream方式一:通过集合 @Test public void test1(){ List<Employee> employees = EmployeeData.getEmployees(); // default Stream<E> stream() : 返回一个顺序流 Stream< 阅读全文
posted @ 2020-05-14 19:05 kkzhang 阅读(156) 评论(0) 推荐(0) 编辑
摘要:* 方法引用的使用 * * 1.使用情境:当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用! * * 2.方法引用,本质上就是Lambda表达式,而Lambda表达式作为函数式接口的实例。所以 * 方法引用,也是函数式接口的实例。 * * 3. 使用格式: 类(或对象) :: 方 阅读全文
posted @ 2020-05-14 18:23 kkzhang 阅读(323) 评论(0) 推荐(0) 编辑
摘要:public class LambdaTest2 { @Test public void test1(){ happyTime(500, new Consumer<Double>() { @Override public void accept(Double aDouble) { System.ou 阅读全文
posted @ 2020-05-14 18:11 kkzhang 阅读(413) 评论(0) 推荐(0) 编辑
摘要:Lambda表达式的本质:作为函数式接口的实例 Lambda 表达式:语法 阅读全文
posted @ 2020-05-14 16:56 kkzhang 阅读(135) 评论(0) 推荐(0) 编辑
摘要:@Test public void test1(){ Class clazz = Person.class; //获取属性结构 //getFields():获取当前运行时类及其父类中声明为public访问权限的属性 Field[] fields = clazz.getFields(); for(Fi 阅读全文
posted @ 2020-05-14 16:05 kkzhang 阅读(287) 评论(0) 推荐(0) 编辑
摘要:1.代码举例 Class<Person> clazz = Person.class; Person obj = clazz.newInstance(); System.out.println(obj); 2.说明 newInstance():调用此方法,创建对应的运行时类的对象。内部调用了运行时类的 阅读全文
posted @ 2020-05-14 15:31 kkzhang 阅读(304) 评论(0) 推荐(0) 编辑
摘要://5.使用Classloader加载src目录下的配置文件 @Test public void test2() throws Exception { Properties pros = new Properties(); //此时的文件默认在当前的module下。 //读取配置文件的方式一: // 阅读全文
posted @ 2020-05-14 15:09 kkzhang 阅读(140) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java; import org.junit.Test; import java.lang.annotation.ElementType; import java.lang.reflect.Constructor; import java.lang.refle 阅读全文
posted @ 2020-05-14 11:58 kkzhang 阅读(177) 评论(0) 推荐(0) 编辑
摘要:package com.atguigu.java1; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; 阅读全文
posted @ 2020-05-14 11:22 kkzhang 阅读(185) 评论(0) 推荐(0) 编辑
摘要:package IntTest; import org.junit.Test; import java.io.IOException; import java.net.*; public class UDPTest { @Test public void sender() throws IOExce 阅读全文
posted @ 2020-05-14 10:53 kkzhang 阅读(135) 评论(0) 推荐(0) 编辑
摘要:JSON是JavaScript Object Notation 的缩写,是JS提供的一种数据交换格式。1) JSON对象本质上就是一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转换为其他语言中的对象。2) 例,有如下一个JSON对象: ① {“nam 阅读全文
posted @ 2020-05-13 22:24 kkzhang 阅读(372) 评论(0) 推荐(0) 编辑
摘要:1) XML--可扩展标记语言eXtensible Markup Language2) 由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范3) XML的使命,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务4) XML用来传输和存储数据,HTML用来显示 阅读全文
posted @ 2020-05-13 21:09 kkzhang 阅读(479) 评论(0) 推荐(0) 编辑
摘要:监听器1) Listener用于监听JavaWeb程序中的事件。2) 例如:ServletContext、HttpSession、ServletRequest的创建、修改和删除。3) 监听器的类型分为 ① 生命周期 ② 数据绑定 package com.atguigu.login.listener; 阅读全文
posted @ 2020-05-09 23:28 kkzhang 阅读(186) 评论(0) 推荐(0) 编辑
摘要:1、过滤器 1) 对于WEB应用来说,过滤器是一个驻留在服务器中的WEB组件,他可以截取客户端和WEB资源之间的请求和响应信息。WEB资源可能包括Servlet、JSP、HTML页面等2) 当服务器收到特定的请求后,会先将请求交给过滤器,程序员可以在过滤器中对请求信息进行读取修改等操作,然后将请求信 阅读全文
posted @ 2020-05-09 22:36 kkzhang 阅读(201) 评论(0) 推荐(0) 编辑
摘要:Cookie 1) HTTP是无状态协议(连接结束后就自动断开),服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出。这样的设计严重阻碍的Web程序的设计。如:在我们进行网购时,买了一条裤子,又买了一个手机。由于http协议是无状态的,如果不通过其他手段,服务器是不 阅读全文
posted @ 2020-05-09 19:31 kkzhang 阅读(320) 评论(0) 推荐(0) 编辑
摘要:1) JQuery是当前比较主流的 JavaScript 库,封装了很多预定义的对象和实现函数,帮助使用者建立有高难度交互的页面,并且兼容大部分主流的浏览器.JQuery对同样提供了对Ajax的支持,可以更加方便快速的进行Ajax的开发,相关的方法有$.get $.post $.ajax等.JQue 阅读全文
posted @ 2020-05-09 13:15 kkzhang 阅读(349) 评论(0) 推荐(0) 编辑
摘要:1、Ajax1) AJAX 是 Asynchronous JavaScript And XML 的简称。直译为,异步的JS和XML。2) AJAX的实际意义是,不发生页面跳转、异步载入内容并改写页面内容的技术。3) AJAX也可以简单的理解为通过JS向服务器发送请求。 2、同步和异步 1) 同步处理 阅读全文
posted @ 2020-05-09 10:29 kkzhang 阅读(326) 评论(0) 推荐(0) 编辑
摘要:1) JavaScript 在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。Netscape在最初将其脚本语言命名为LiveScript,因为Netscape与Sun合作,网景公司管理层希望它外观看起来像Java,因此取名为JavaScript 阅读全文
posted @ 2020-05-09 00:03 kkzhang 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1) JSP全称Java Server Pages,顾名思义就是运行在java服务器中的页面,也就是在我们JavaWeb中的动态页面,其本质就是一个Servlet。2) 其本身是一个动态网页技术标准,它的主要构成有HTML网页代码、Java代码片段、JSP标签几部分组成,后缀是.jsp3) 相比于S 阅读全文
posted @ 2020-05-08 23:11 kkzhang 阅读(1465) 评论(0) 推荐(0) 编辑
摘要:1、选中需要拷贝的工程,CTRL+C,然后CTRL+V 2、在web动态工程中,还需要选中新拷贝工程,右键选中properties,然后搜索web, >Web Project Settting >Context root >修改为拷贝工程名 解释Context root 例如http://local 阅读全文
posted @ 2020-05-08 21:31 kkzhang 阅读(231) 评论(0) 推荐(0) 编辑
摘要:请求重定向 redirect1) Servlet接收到浏览器端请求并处理完成后,给浏览器端一个特殊的响应,这个特殊的响应要求浏览器去请求一个新的资源,整个过程中浏览器端会发出两次请求,且浏览器地址栏会改变为新资源的地址。2) 重定向的情况下,原Servlet和目标资源之间就不能共享请求域数据了3)  阅读全文
posted @ 2020-05-08 21:01 kkzhang 阅读(238) 评论(0) 推荐(0) 编辑
摘要:获取请求参数值1)HttpServletRequest ① 该接口是ServletRequest接口的子接口,封装了HTTP请求的相关信息,由Servlet容器创建其实现类对象并传入service(ServletRequest req, ServletResponse res)方法中。以下我们所说的 阅读全文
posted @ 2020-05-07 17:56 kkzhang 阅读(413) 评论(0) 推荐(0) 编辑
摘要:1 涉及的技术知识点 1)Servlet 2)Request请求对象 3)Response响应对象 2 什么是Servlet? 1)Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案。而具体的Servlet容器负责提供标准的实现。Tom 阅读全文
posted @ 2020-05-07 16:21 kkzhang 阅读(117) 评论(0) 推荐(0) 编辑
摘要:Tomcat可以认为是对Servlet标准的实现,是一个具体的Servlet容器。 1) 将Tomcat的安装包解压到磁盘的任意位(非中文无空格) 2) Tomcat服务的目录结构 3) 配置环境变量,方便Tomcat的启动关闭(可选) ① 新建环境变量CATALINA_HOME=解压目录 ② 在P 阅读全文
posted @ 2020-05-07 15:30 kkzhang 阅读(429) 评论(0) 推荐(0) 编辑
摘要:1、HTML是什么 HTML指的超文本标记语言(Hyper Text Markup Language),是一种用来描述网页的语言。超文本指的是除了可以包含文字之外,还可以包含图片、链接、音乐、视频、程序等内容。(每个都需要一个标记,在网页中通过不同的标记组成起来。) HTML 指的是超文本标记语言 阅读全文
posted @ 2020-05-06 18:02 kkzhang 阅读(2256) 评论(0) 推荐(0) 编辑
摘要:客户端和服务器端的交互 browser/ server(B/S)浏览器/服务器。 client/server(C/S)应用/服务器。 阅读全文
posted @ 2020-05-06 15:34 kkzhang 阅读(459) 评论(0) 推荐(0) 编辑
摘要:代码示例1:客户端发送信息给服务端,服务端将数据显示在控制台上 //客户端 @Test public void client() { Socket socket = null; OutputStream os = null; try { //1.创建Socket对象,指明服务器端的ip和端口号 In 阅读全文
posted @ 2020-05-06 00:10 kkzhang 阅读(159) 评论(0) 推荐(0) 编辑
摘要:1、实现网络通信需要解决的两个问题 * 1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用 * 2.找到主机后如何可靠高效地进行数据传输 2、网络通信的两个要素: * 1.对应问题一:IP和端口号 * 2.对应问题二:提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+ 阅读全文
posted @ 2020-05-05 21:31 kkzhang 阅读(1555) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-05-05 15:35 kkzhang 阅读(191) 评论(0) 推荐(0) 编辑
摘要:1.随机存取文件流:RandomAccessFile 2.使用说明: * 1.RandomAccessFile直接继承于java.lang.Object类,实现了DataInput和DataOutput接口 * 2.RandomAccessFile既可以作为一个输入流,又可以作为一个输出流 * * 阅读全文
posted @ 2020-05-05 15:17 kkzhang 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1.对象流: ObjectInputStream 和 ObjectOutputStream2.作用: ObjectOutputStream:内存中的对象 >存储中的文件、通过网络传输出去:序列化过程 ObjectInputStream:存储中的文件、通过网络接收过来 >内存中的对象:反序列化过程3. 阅读全文
posted @ 2020-05-05 13:58 kkzhang 阅读(291) 评论(0) 推荐(0) 编辑
摘要:1.转换流涉及到的类:属于字符流 InputStreamReader:将一个字节的输入流转换为字符的输入流解码:字节、字节数组 >字符数组、字符串 OutputStreamWriter:将一个字符的输出流转换为字节的输出流编码:字符数组、字符串 > 字节、字节数组 说明:编码决定了解码的方式 2.作 阅读全文
posted @ 2020-05-05 13:50 kkzhang 阅读(174) 评论(0) 推荐(0) 编辑
摘要:1.缓冲流涉及到的类: * BufferedInputStream * BufferedOutputStream * BufferedReader * BufferedWriter 2.作用: 作用:提供流的读取、写入的速度 提高读写速度的原因:内部提供了一个缓冲区。默认情况下是8kb 3.典型代码 阅读全文
posted @ 2020-05-05 12:23 kkzhang 阅读(142) 评论(0) 推荐(0) 编辑
摘要:1.FileReader/FileWriter的使用: 1.1 FileReader的使用 说明点: 1. read()的理解:int read(char[] cbuf) 将字符读入数组。如果已到达流的末尾,则返回 -1。否则返回本次读取的字符数。 2. 异常的处理:为了保证流资源一定可以执行关闭操 阅读全文
posted @ 2020-05-05 12:19 kkzhang 阅读(263) 评论(0) 推荐(0) 编辑
摘要:IO原理 I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于 处理设备之间的数据传输。如读/写文件,网络通讯等。 Java程序中,对于数据的输入/输出操作以“流(stream)” 的 方式进行 java.io包下提供了各种“流”类和接口,用以获取不同种类的 数据,并通过标准的 阅读全文
posted @ 2020-05-05 12:08 kkzhang 阅读(360) 评论(0) 推荐(0) 编辑
摘要:1.File类的理解 * 1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹) * 2. File类声明在java.io包下 * 3. File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法, * 并未涉及到写入或读取文件内容的操作。如果需要读取或写入文 阅读全文
posted @ 2020-05-05 11:40 kkzhang 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1.泛型的概念 所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时确定(即传入实际的类型参数,也称为类型实参)。 2、泛型的声明 interface List<T> 和 阅读全文
posted @ 2020-05-04 23:31 kkzhang 阅读(641) 评论(0) 推荐(0) 编辑
摘要:Collections 是一个操作 Set、List 和 Map 等集合的工具类 常用方法: 排序操作 reverse(List):反转 List 中元素的顺序 shuffle(List):对 List 集合元素进行随机排序 sort(List):根据元素的自然顺序对指定 List 集合元素升序排序 阅读全文
posted @ 2020-05-04 22:26 kkzhang 阅读(121) 评论(0) 推荐(0) 编辑
摘要:双列集合框架:Map 1.常用实现类结构: | Map:双列数据,存储key-value对的数据 类似于高中的函数:y = f(x)* | HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value* | LinkedHashMap:保证在遍历map元素时,可以照 阅读全文
posted @ 2020-05-04 21:51 kkzhang 阅读(264) 评论(0) 推荐(0) 编辑
摘要:1.Set 存储的数据特点:无序的、不可重复的元素具体的:以HashSet为例说明: 1. 无序性:不等于随机性。存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的。 2. 不可重复性:保证添加的元素照equals()判断时,不能返回true.即:相同的元素只能添加一个。 2 阅读全文
posted @ 2020-05-04 16:40 kkzhang 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1. 存储的数据特点:存储序的、可重复的数据。 2. 常用方法:(记住)增:add(Object obj)删:remove(int index) / remove(Object obj)改:set(int index, Object ele)查:get(int index)插:add(int ind 阅读全文
posted @ 2020-05-04 16:09 kkzhang 阅读(191) 评论(0) 推荐(0) 编辑
摘要:1、Java 集合可分为 Collection 和 Map 两种体系 Collection接口:单列数据,定义了存取一组对象的方法的集合 List:元素有序、可重复的集合 Set:元素无序、不可重复的集合 Map接口:双列数据,保存具有映射关系“key-value对”的集合 Collection 接 阅读全文
posted @ 2020-05-04 14:05 kkzhang 阅读(161) 评论(0) 推荐(0) 编辑
摘要:String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存 阅读全文
posted @ 2020-05-04 12:09 kkzhang 阅读(147) 评论(0) 推荐(0) 编辑
摘要:1.String、StringBuffer、StringBuilder三者的对比String:不可变的字符序列;底层使用char[]存储StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储StringBuilder:可变的字符序列;jdk5.0新增的,线程不安全的, 阅读全文
posted @ 2020-05-04 10:51 kkzhang 阅读(131) 评论(0) 推荐(0) 编辑
摘要:1、程序(program):是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。 2、进程(process):是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。—生命周期 1)进程作为资源分配的单位,系统在运行时会为每个进 阅读全文
posted @ 2020-05-03 19:14 kkzhang 阅读(1281) 评论(0) 推荐(1) 编辑
摘要:类的成员构成: 属性 方法 4种权限都可以用来修饰类的内部结构:属性、方法、构造器、内部类修饰类的话,只能使用:缺省、public this 1.可以调用的结构:属性、方法;构造器2.this调用属性、方法:this理解为:当前对象 或 当前正在创建的对象 2.1 在类的方法中,我们可以使用"thi 阅读全文
posted @ 2020-05-02 01:00 kkzhang 阅读(182) 评论(0) 推荐(0) 编辑
摘要:commons-dbutils jar:下载 package com.jdbc.tools; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; 阅读全文
posted @ 2020-05-01 17:49 kkzhang 阅读(432) 评论(0) 推荐(0) 编辑
摘要:编写文件和步骤 ①,bean模块:数据类Course,包含数据的class,封装数据类型; ②,DAO:1)定义对数据的操作接口,及规定标准(包含怎样的操作)。例如:CourseDAO数据库操作的接口标准;addCourse,updateCourse,deleteCourse等。 2)定义Basic 阅读全文
posted @ 2020-05-01 17:11 kkzhang 阅读(195) 评论(0) 推荐(0) 编辑
摘要:JDBCToolsV2: 利用ThreadLocal保证当前线程操作同一个数据库连接对象。 package com.dgd.test; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; 阅读全文
posted @ 2020-05-01 11:48 kkzhang 阅读(374) 评论(0) 推荐(0) 编辑
摘要:1、ThreadLocal ThreadLocal用于保存某个线程共享变量。在Java中,每个线程对象都有一个ThreadLocal<ThreadLocal,Object>,其中key就是一个ThreadLocal,而Object就是线程的共享变量。对于同一个static ThreadLocal,不 阅读全文
posted @ 2020-05-01 11:08 kkzhang 阅读(282) 评论(0) 推荐(0) 编辑
摘要:JDBCToolV1: package com.dgd.test; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.sql.Connection; impor 阅读全文
posted @ 2020-05-01 10:36 kkzhang 阅读(187) 评论(0) 推荐(0) 编辑