05 2021 档案

摘要:例如: 在maven工程的pom.xml文件中配置某个jar包的坐标后,如果本地的maven仓库不存在这个jar包,maven工具会自动到配置的maven私服下载, 如果私服中也不存在,maven私服就会从maven中央仓库进行下载。但是并不是所有的jar包都可以从中央仓库下载到,比如常用的Orac 阅读全文
posted @ 2021-05-30 19:26 code-G 阅读(271) 评论(0) 推荐(0)
摘要:配置完成即可,在settings.xml的相同的标签下进行配置 **在maven的settings.xml文件中配置下载模板** <profile> <id>dev</id> <repositories> <repository> <id>nexus</id> <!--仓库地址,即nexus仓库组的 阅读全文
posted @ 2021-05-30 19:10 code-G 阅读(713) 评论(0) 推荐(0)
摘要:将项目发布到maven私服操作步骤如下: 1. 配置maven的settings.xml文件(要在idea工具中引入的maven的settings.xml文件中配置 ) <server> <id>releases</id> <username>admin</username> <password>a 阅读全文
posted @ 2021-05-30 18:50 code-G 阅读(176) 评论(0) 推荐(0)
摘要:通过仓库列表可以看到,nexus默认内置了很多仓库,这些仓库可以划分为4种类型(看Type列),每种类型的仓库用于存放特定的jar包,具体说明如下: ①hosted,宿主仓库,部署自己的jar到这个类型的仓库,包括Releases和Snapshots两部分,Releases为公司内部发布版本仓库、 阅读全文
posted @ 2021-05-30 18:46 code-G 阅读(737) 评论(0) 推荐(0)
摘要:## 5. maven私服 ### 5.1 私服说明 maven仓库分为本地仓库和远程仓库,而远程仓库又分为maven中央仓库、其他远程仓库和私服(私有服务器)。其中,中央仓库是由maven官方提供的,而私服就需要我们自己搭建了。 maven私服就是公司局域网内的maven远程仓库,每个员工的电脑上 阅读全文
posted @ 2021-05-30 18:43 code-G 阅读(144) 评论(0) 推荐(0)
摘要:项目整体结构如下: 1)maven_parent为父工程,其余工程为子工程,都继承父工程maven_parent 2)maven_parent工程将其子工程都进行了聚合 3)子工程之间存在依赖关系,比如maven_dao依赖, maven_pojo、maven_service依赖maven_dao、 阅读全文
posted @ 2021-05-30 18:38 code-G 阅读(86) 评论(0) 推荐(0)
摘要:只给配置文件,分模块maven自行分割配置文件 pom.xml的依赖 <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-contex 阅读全文
posted @ 2021-05-30 18:28 code-G 阅读(60) 评论(0) 推荐(0)
摘要:### 什么是依赖传递 在maven中,依赖是可以传递的,假设存在三个项目,分别是项目A,项目B以及项目C。假设C依赖B,B依赖A,那么我们可以根据maven项目依赖的特征不难推出项目C也依赖A。 web项目直接依赖了spring-webmvc,而spring-webmvc依赖了sping-aop、 阅读全文
posted @ 2021-05-30 17:58 code-G 阅读(302) 评论(0) 推荐(0)
摘要:## 1.maven基础知识回顾 ### 1.1 maven介绍 maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。 依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。 项目构建:通过maven的一个命令就 阅读全文
posted @ 2021-05-30 17:48 code-G 阅读(76) 评论(0) 推荐(0)
摘要:@Insert:实现新增 @Update:实现更新 @Delete:实现删除 @Select:实现查询 @Result:实现结果集封装 @Results:可以与@Result 一起使用,封装多个结果集 @One:实现一对一结果集封装 @Many:实现一对多结果集封装 属性:column指数据库的列名 阅读全文
posted @ 2021-05-28 21:30 code-G 阅读(83) 评论(0) 推荐(0)
摘要:### 1.Mybatis多表查询 #### 1.1 一对一查询 ##### 1.1.1 一对一查询的模型MapperScannerConfigurer 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 ##### 阅读全文
posted @ 2021-05-28 18:21 code-G 阅读(98) 评论(0) 推荐(0)
摘要:无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。 你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。 具体做法为:实现 org.apache 阅读全文
posted @ 2021-05-28 10:53 code-G 阅读(564) 评论(0) 推荐(0)
摘要:动态SQL的<if> 动态SQLd的<foreach> foreach标签的属性含义如下: <foreach>标签用于遍历集合,它的属性: •collection:代表要遍历的集合元素,注意编写时不要写#{} •open:代表语句的开始部分 •close:代表结束部分 •item:代表遍历集合的每个 阅读全文
posted @ 2021-05-28 10:43 code-G 阅读(100) 评论(0) 推荐(0)
摘要:采用 Mybatis 的代理开发方式实现 DAO 层的开发,这种方式是我们后面进入企业的主流。 Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由Mybatis 框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法。 Mapper 接 阅读全文
posted @ 2021-05-28 10:33 code-G 阅读(115) 评论(0) 推荐(0)
摘要:常用API:SqlSessionFactory build(InputStream inputStream) 通过加载mybatis的核心文件的输入流的形式构建一个SqlSessionFactory对象 String resource = "org/mybatis/builder/mybatis-c 阅读全文
posted @ 2021-05-27 11:00 code-G 阅读(74) 评论(0) 推荐(0)
摘要:1)environments标签 事务管理器(transactionManager)类型有两种: •JDBC:这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。 •MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个 阅读全文
posted @ 2021-05-27 10:55 code-G 阅读(99) 评论(0) 推荐(0)
摘要:• 查询语句使用select标签 • 插入语句使用insert标签 • 修改语句使用update标签 • 删除语句使用delete标签 • 在映射文件中使用parameterType属性指定要插入的数据类型 • Sql语句中使用#{实体属性名}方式引用实体中的属性值 • Sql语句中使用#{任意字符 阅读全文
posted @ 2021-05-27 10:47 code-G 阅读(35) 评论(0) 推荐(0)
摘要:mybatis 是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 mybatis通过xml或注解的方式将要执行的各种 statement配置起来,并通过java对象和state 阅读全文
posted @ 2021-05-27 10:44 code-G 阅读(281) 评论(0) 推荐(0)
摘要:User类 package com.code_g.domain; public class User { private int id; private String username; private String password; public int getId() { return id; 阅读全文
posted @ 2021-05-26 23:57 code-G 阅读(69) 评论(0) 推荐(0)
摘要:### 异常处理的思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段减少运行时异常的发生。 系统的Dao、Service、Controller出现都通过throws Exception向上抛出,最后由 阅读全文
posted @ 2021-05-25 18:58 code-G 阅读(54) 评论(0) 推荐(0)
摘要:自定义拦截器很简单,只有如下三步: 1. 创建拦截器类实现HandlerInterceptor接口 2. 配置拦截器 3. 测试拦截器的拦截效果 当拦截器的preHandle方法返回true则会执行目标资源,如果返回false则不执行目标资源 多个拦截器情况下,配置在前的先执行,配置在后的后执行 拦 阅读全文
posted @ 2021-05-25 18:48 code-G 阅读(88) 评论(0) 推荐(0)
摘要:upload.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="${pageCon 阅读全文
posted @ 2021-05-24 23:36 code-G 阅读(67) 评论(0) 推荐(0)
摘要:响应 1) 页面跳转 直接返回字符串 通过ModelAndView对象返回 2) 回写数据 直接返回字符串 HttpServletResponse 对象直接写回数据,HttpServletRequest对象带回数据,Model对象带回数据或者@ResponseBody将字符串数据写回 返回对象或集合 阅读全文
posted @ 2021-05-24 22:47 code-G 阅读(115) 评论(0) 推荐(0)
摘要:SpringMVC有默认组件配置,默认组件都是DispatcherServlet.properties配置文件中配置的, 该配置文件地址org/springframework/web/servlet/DispatcherServlet.properties,该文件中配置了默认的视图解析器,如下: o 阅读全文
posted @ 2021-05-23 18:57 code-G 阅读(213) 评论(0) 推荐(0)
摘要:@RequestMapping 作用:用于建立请求 URL 和处理请求方法之间的对应关系 位置: ​ 类上,请求URL 的第一级访问目录。此处不写的话,就相当于应用的根目录 ​ 方法上,请求 URL 的第二级访问目录,与类上的使用@ReqquestMapping标注的一级目录一起组成访问虚拟路径 属 阅读全文
posted @ 2021-05-23 18:54 code-G 阅读(124) 评论(0) 推荐(0)
摘要:SpringMVC的执行流程 1. 用户发送请求至前端控制器DispatcherServlet。 2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3. 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果 阅读全文
posted @ 2021-05-23 18:44 code-G 阅读(68) 评论(0) 推荐(0)
摘要:### SpringMVC概述 SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一,并且随着S 阅读全文
posted @ 2021-05-23 18:35 code-G 阅读(68) 评论(0) 推荐(0)
摘要:pom.xml中的依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <gr 阅读全文
posted @ 2021-05-23 17:16 code-G 阅读(72) 评论(0) 推荐(0)
摘要:### 注解配置声明式事务控制解析 ①使用 @Transactional 在需要进行事务控制的类或是方法上修饰,注解可用的属性同 xml 配置方式,例如隔离级别、传播行为等。 ②注解使用在类上,那么该类下的所有方法都使用同一套注解参数配置。 ③使用在方法上,不同的方法可以采用不同的事务参数配置。 ④ 阅读全文
posted @ 2021-05-22 19:17 code-G 阅读(101) 评论(0) 推荐(0)
摘要:### 2.1 什么是声明式事务控制 Spring 的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,就是指在配置文件中声明,用在 Spring 配置文件中声明式的处理事务来代替代码式的处理事务。 **声明式事务处理的作用** - 事务管理不侵入开发的组件。具体来说,业务逻辑对象就不 阅读全文
posted @ 2021-05-22 19:14 code-G 阅读(117) 评论(0) 推荐(0)
摘要:# 声明式事务控制 ## 1. 编程式事务控制相关对象 ### 1.1 PlatformTransactionManager PlatformTransactionManager 接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法。 注意: PlatformTransactio 阅读全文
posted @ 2021-05-22 19:05 code-G 阅读(119) 评论(0) 推荐(0)
摘要:# JdbcTemplate基本使用 ## 01-JdbcTemplate基本使用-概述 JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类。 例如:操作关系型数据的JdbcTemplate和Hibe 阅读全文
posted @ 2021-05-22 13:30 code-G 阅读(463) 评论(0) 推荐(0)
摘要:### 1.1 Spring是什么 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。 提供了展现层 Spring 阅读全文
posted @ 2021-05-21 23:02 code-G 阅读(49) 评论(0) 推荐(0)
摘要:注解配置 AOP 详解 1) 注解通知的类型 通知的配置语法:@通知注解(“切点表达式") 2) 切点表达式的抽取 同 xml配置 aop 一样,我们可以将切点表达式抽取。抽取方式是在切面内定义方法,在该方法上使用@Pointcut注解定义切点表达式,然后在在增强注解中进行引用。具体如下: @Com 阅读全文
posted @ 2021-05-21 22:04 code-G 阅读(74) 评论(0) 推荐(0)
摘要:基于注解的aop开发步骤: 1. 创建目标接口和目标类(内部有切点) 2. 创建切面类(内部有增强方法) 3. 将目标类和切面类的对象创建权交给 spring 4. 在切面类中使用注解配置织入关系 5. 在配置文件中开启组件扫描和 AOP 的自动代理 6. 测试 接口 package com.cod 阅读全文
posted @ 2021-05-21 22:00 code-G 阅读(88) 评论(0) 推荐(0)
摘要:1) 切点表达式的写法 表达式语法: execution([修饰符] 返回值类型 包名.类名.方法名(参数)) 访问修饰符可以省略 返回值类型、包名、类名、方法名可以使用星号* 代表任意 包名与类名之间一个点 . 代表当前包下的类,两个点 .. 表示当前包及其子包下的类 参数列表可以使用两个点 .. 阅读全文
posted @ 2021-05-21 21:46 code-G 阅读(130) 评论(0) 推荐(0)
摘要:步骤: 1. 导入 AOP 相关坐标 2. 创建目标接口和目标类(内部有切点) 3. 创建切面类(内部有增强方法) 4. 将目标类和切面类的对象创建权交给 spring 5. 在 applicationContext.xml 中配置织入关系 6. 测试代码 导入 AOP 相关坐标 <dependen 阅读全文
posted @ 2021-05-21 21:37 code-G 阅读(73) 评论(0) 推荐(0)
摘要:###AOP 相关概念 Spring 的 AOP 实现底层就是对上面的动态代理的代码进行了封装,封装后我们只需要对需要关注的部分进行代码编写,并通过配置的方式完成指定目标的方法增强。 在正式讲解 AOP 的操作之前,我们必须理解 AOP 的相关术语,常用的术语如下: - Target(目标对象):代 阅读全文
posted @ 2021-05-21 21:28 code-G 阅读(121) 评论(0) 推荐(0)
摘要:1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生 阅读全文
posted @ 2021-05-21 21:23 code-G 阅读(52) 评论(0) 推荐(0)
摘要:可以通过全注解开发替换xml配置文件的使用 ### Spring原始注解 @Component >使用在类上用于实例化Bean @Controller > 使用在web层类上用于实例化Bean @Service > 使用在service层类上用于实例化Bean @Repository > 使用在da 阅读全文
posted @ 2021-05-20 16:46 code-G 阅读(174) 评论(0) 推荐(0)
摘要:连接测试 @Test public void test5() throws SQLException { //从容器中获取datasource对象 ApplicationContext applicationContext = new ClassPathXmlApplicationContext(" 阅读全文
posted @ 2021-05-19 19:17 code-G 阅读(154) 评论(0) 推荐(0)
摘要:spring的重点配置 标签 id:容器bean实例的唯一标识,不允许重复 class:实例化bean的全类名 scope:作用范围,常用singleton(单个)和prototype(多个) :属性注入 name:属性名称 value: 普通属性值 ref:引用属性值 一些集合标签, 属性注入方式 阅读全文
posted @ 2021-05-19 10:07 code-G 阅读(67) 评论(0) 推荐(0)
摘要:1. 概念:JavaServer Pages Tag Library JSP标准标签库 * 是由Apache组织提供的开源的免费的jsp标签 2. 作用:用于简化和替换jsp页面上的java代码 3. 使用步骤: 1. 导入jstl相关jar包 2. 引入标签库:taglib指令: <%@ tagl 阅读全文
posted @ 2021-05-17 21:28 code-G 阅读(61) 评论(0) 推荐(0)
摘要:1. 概念:Expression Language 表达式语言 2. 作用:替换和简化jsp页面中java代码的编写 3. 语法:${表达式} 4. 注意: * jsp默认支持el表达式的。如果要忽略el表达式 1. 设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页 阅读全文
posted @ 2021-05-17 21:27 code-G 阅读(44) 评论(0) 推荐(0)
摘要:1. 概念: * Java Server Pages: java服务器端页面 * 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码 * 用于简化书写! 2. 原理 * JSP本质上就是一个Servlet 3. JSP的脚本:JSP定义Java代码的方式 1. <% 阅读全文
posted @ 2021-05-17 21:23 code-G 阅读(62) 评论(0) 推荐(0)
摘要:1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession 2. 快速入门: 1. 获取HttpSession对象: HttpSession session = request.getSession(); 2. 使用HttpSession对象: 阅读全文
posted @ 2021-05-17 21:18 code-G 阅读(111) 评论(0) 推荐(0)
摘要:1. 会话:一次会话中包含多次请求和响应。 * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能:在一次会话的范围内的多次请求间,共享数据 3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:Session 1. 概念:客户端会话技术,将数据 阅读全文
posted @ 2021-05-17 21:14 code-G 阅读(100) 评论(0) 推荐(0)
摘要:Maven思维导图--来自B站动力结点的 阅读全文
posted @ 2021-05-15 18:09 code-G 阅读(59) 评论(0) 推荐(0)
摘要:JedisPoolUtils import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOEx 阅读全文
posted @ 2021-05-13 23:55 code-G 阅读(808) 评论(0) 推荐(0)
摘要:Jedis: 一款java操作redis数据库的工具. * Jedis操作各种redis中的数据结构 1) 字符串类型 string set get 2) 哈希类型 hash : map格式 hset hget hgetAll 3) 列表类型 list : linkedlist格式。支持重复元素 l 阅读全文
posted @ 2021-05-13 23:51 code-G 阅读(77) 评论(0) 推荐(0)
摘要:1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特 阅读全文
posted @ 2021-05-13 23:48 code-G 阅读(75) 评论(0) 推荐(0)
摘要:JSON数据和Java对象的相互转换 * JSON解析器: * 常见的解析器:Jsonlib,Gson,fastjson,jackson 1. JSON转为Java对象 1. 导入jackson的相关jar包 2. 创建Jackson核心对象 ObjectMapper 3. 调用ObjectMapp 阅读全文
posted @ 2021-05-12 22:40 code-G 阅读(607) 评论(0) 推荐(0)
摘要:获取数据: 1. json对象.键名 2. json对象["键名"] 3. 数组对象[索引] 4. 遍历 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" 阅读全文
posted @ 2021-05-12 22:38 code-G 阅读(346) 评论(0) 推荐(0)
摘要:1. 概念: JavaScript Object Notation JavaScript对象表示法 Person p = new Person(); p.setName("张三"); p.setAge(23); p.setGender("男"); var p = {"name":"张三","age" 阅读全文
posted @ 2021-05-12 22:37 code-G 阅读(597) 评论(0) 推荐(0)
摘要:1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中 阅读全文
posted @ 2021-05-12 22:34 code-G 阅读(47) 评论(0) 推荐(0)
摘要:概念:web的三大组件之一。 * 事件监听机制 * 事件 :一件事情 * 事件源 :事件发生的地方 * 监听器 :一个对象 * 注册监听:将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码 ServletContextListener:监听ServletContext对象的 阅读全文
posted @ 2021-05-11 21:58 code-G 阅读(251) 评论(0) 推荐(0)
摘要:需求:对含有bad.txt中的敏感词汇的句子进行替换,替换成星号 bad.txt放在src目录下 笨蛋 坏蛋 FilterDemo import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.Bu 阅读全文
posted @ 2021-05-11 21:54 code-G 阅读(339) 评论(0) 推荐(0)
摘要:过滤器链(配置多个过滤器) 执行顺序:如果有两个过滤器:过滤器1和过滤器2 过滤器1 过滤器2 资源执行 过滤器2 过滤器1 过滤器先后顺序问题: 注解配置:按照类名的字符串比较规则比较,值小的先执行 如: AFilter 和 BFilter,AFilter就先执行了。 web.xml配置: 谁定义 阅读全文
posted @ 2021-05-11 21:47 code-G 阅读(158) 评论(0) 推荐(0)
摘要:拦截方式配置:资源被访问的方式 注解配置: 设置dispatcherTypes属性 REQUEST:默认值。浏览器直接请求资源 FORWARD:转发访问资源 INCLUDE:包含访问资源 ERROR:错误跳转资源 ASYNC:异步访问资源 web.xml配置 设置标签即可 import javax. 阅读全文
posted @ 2021-05-11 21:45 code-G 阅读(508) 评论(0) 推荐(0)
摘要:拦截路径配置: 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行 拦截目录: /user/* 访问/user下的所有资源时,过滤器都会被执行 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行 拦截所有资源:/* 访问所有资源时,过滤器都 阅读全文
posted @ 2021-05-11 21:43 code-G 阅读(1564) 评论(0) 推荐(0)
摘要:过滤器生命周期方法 init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次。用于加载资源 doFilter:每一次请求被拦截资源时,会执行。执行多次 destroy:在服务器关闭后,Filter对象被销毁。如果服务器是正常关闭,则会执行destroy方法。只执行一次。用于 阅读全文
posted @ 2021-05-11 21:42 code-G 阅读(223) 评论(0) 推荐(0)
摘要:过滤器执行流程 执行过滤器 执行放行后的资源 回来执行过滤器放行代码下边的代码 import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; @WebFilter("/in 阅读全文
posted @ 2021-05-11 21:38 code-G 阅读(310) 评论(0) 推荐(0)
摘要:定义一个类,实现接口Filter 复写方法 配置拦截路径 web.xml 注解 import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; //@WebFilter("/ 阅读全文
posted @ 2021-05-11 21:37 code-G 阅读(108) 评论(0) 推荐(0)
摘要:1. 概念:代表整个web应用,可以和程序的容器(服务器)来通信 2. 获取: 1. 通过request对象获取 request.getServletContext(); 2. 通过HttpServlet获取 this.getServletContext(); 3. 功能: 1. 获取MIME类型: 阅读全文
posted @ 2021-05-08 21:42 code-G 阅读(44) 评论(0) 推荐(0)
摘要:功能:设置响应消息 1. 设置响应行 1. 格式:HTTP/1.1 200 ok 2. 设置状态码:setStatus(int sc) 2. 设置响应头:setHeader(String name, String value) 3. 设置响应体: * 使用步骤: 1. 获取输出流 * 字符输出流:P 阅读全文
posted @ 2021-05-08 21:41 code-G 阅读(78) 评论(0) 推荐(0)
摘要:请求消息:客户端发送给服务器端的数据 数据格式: 请求行 请求头 请求空行 请求体 响应消息:服务器端发送给客户端的数据 数据格式: 响应行 组成:协议/版本 响应状态码 状态码描述 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。 状态码都是3位数字 分类: 1xx:服务器就收客户端消 阅读全文
posted @ 2021-05-08 21:37 code-G 阅读(87) 评论(0) 推荐(0)
摘要:BeanUtils工具类,简化数据封装 * 用于封装JavaBean的 1. JavaBean:标准的Java类 1. 要求: 1. 类必须被public修饰 2. 必须提供空参的构造器 3. 成员变量必须使用private修饰 4. 提供公共setter和getter方法 2. 功能:封装数据 2 阅读全文
posted @ 2021-05-07 23:07 code-G 阅读(85) 评论(0) 推荐(0)
摘要:请求转发: 一种在服务器内部的资源跳转方式 1. 步骤: 1. 通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path) 2. 使用RequestDispatcher对象来进行转发:forward(Servlet 阅读全文
posted @ 2021-05-07 23:02 code-G 阅读(215) 评论(0) 推荐(0)
摘要:获取请求参数通用方式: 不论get还是post请求方式都可以使用下列方法来获取请求参数 1. String getParameter(String name):根据参数名称获取参数值 2. String[] getParameterValues(String name):根据参数名称获取参数值的数组 阅读全文
posted @ 2021-05-07 22:59 code-G 阅读(58) 评论(0) 推荐(0)
摘要:获取请求头数据 * 方法: * String getHeader(String name):通过请求头的名称获取请求头的值 * Enumeration getHeaderNames():获取所有的请求头名称 import javax.servlet.ServletException; import 阅读全文
posted @ 2021-05-07 22:57 code-G 阅读(1317) 评论(0) 推荐(0)
摘要:获取请求行数据 * GET /day14/demo1?name=zhangsan HTTP/1.1 * 方法: 1. 获取请求方式 : * String getMethod() 2. 获取虚拟目录: * String getContextPath() 3. 获取Servlet路径: * String 阅读全文
posted @ 2021-05-07 22:56 code-G 阅读(377) 评论(0) 推荐(0)
摘要:概念:Hyper Text Transfer Protocol 超文本传输协议 传输协议:定义了,客户端和服务器端通信时,发送数据的格式 特点: 基于TCP/IP的高级协议 默认端口号:80 基于请求/响应模型的:一次请求对应一次响应 无状态的:每次请求之间相互独立,不能交互数据 历史版本: 1.0 阅读全文
posted @ 2021-05-07 22:53 code-G 阅读(92) 评论(0) 推荐(0)
摘要:Servlet的体系结构 Servlet -- 接口 | GenericServlet -- 抽象类 | HttpServlet -- 抽象类 GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象 将来定义Servlet类时,可以继承Gen 阅读全文
posted @ 2021-05-07 22:51 code-G 阅读(252) 评论(0) 推荐(1)
摘要:概念:运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。 将来我们自定义一个类,实现Servlet接口,复写方法。 步骤: 创建JavaEE项目 定义一个类,实现Servlet接口 public class ServletDemo1 imp 阅读全文
posted @ 2021-05-06 21:39 code-G 阅读(69) 评论(0) 推荐(0)
摘要:Tomcat:web服务器软件 下载:http://tomcat.apache.org/ 安装:解压压缩包即可。 注意:安装目录建议不要有中文和空格 卸载:删除目录就行了 启动: bin/startup.bat ,双击运行该文件即可 访问:浏览器输入:http://localhost:8080 回车 阅读全文
posted @ 2021-05-06 21:35 code-G 阅读(85) 评论(0) 推荐(0)
摘要:需要导入xpath的包 import cn.wanghaomiao.xpath.exception.XpathSyntaxErrorException; import cn.wanghaomiao.xpath.model.JXDocument; import cn.wanghaomiao.xpath 阅读全文
posted @ 2021-05-05 22:22 code-G 阅读(1146) 评论(0) 推荐(0)
摘要:形同js里的selector选择器 import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import ja 阅读全文
posted @ 2021-05-05 22:20 code-G 阅读(288) 评论(0) 推荐(0)
摘要:import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.File; import 阅读全文
posted @ 2021-05-05 22:18 code-G 阅读(1840) 评论(0) 推荐(0)
摘要:形同js获取html中的标签元素 import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import jav 阅读全文
posted @ 2021-05-05 22:17 code-G 阅读(522) 评论(0) 推荐(0)
摘要:import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import java.io.IOException; import java.net.URL; //Jsoup对象的几种解析方法 public class JsoupDemo2 { p 阅读全文
posted @ 2021-05-05 22:15 code-G 阅读(160) 评论(0) 推荐(0)
摘要:import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.File; import 阅读全文
posted @ 2021-05-05 22:13 code-G 阅读(360) 评论(0) 推荐(0)
摘要:今日内容 1. XML 1. 概念 2. 语法 3. 解析 XML: 1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的 阅读全文
posted @ 2021-05-05 22:12 code-G 阅读(84) 评论(0) 推荐(0)
摘要:在junit环境下测试 import mystring.demo4.Teacher; import org.junit.Before; import org.junit.Test; import org.springframework.jdbc.core.BeanPropertyRowMapper; 阅读全文
posted @ 2021-05-05 17:56 code-G 阅读(63) 评论(0) 推荐(0)
摘要:Spring框架对jdbc的简单封装 步骤: 导入jar包 创建对象,依赖于数据源DataSource JdbcTemplate template = new JdbcTemplate(datasource) JdbcTemplate的一些方法来完成CRUD操作: update() 执行DML语句, 阅读全文
posted @ 2021-05-05 16:23 code-G 阅读(71) 评论(0) 推荐(0)
摘要:实现查询 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; //使用druid的工具类实现查询 public 阅读全文
posted @ 2021-05-05 15:48 code-G 阅读(105) 评论(0) 推荐(0)
摘要:JDBCUtils类 import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.sql.Connection; import java.sql.ResultSet; i 阅读全文
posted @ 2021-05-05 15:46 code-G 阅读(236) 评论(0) 推荐(0)
摘要:封装的工具类 import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; //封装jdbc工具类 public class JDBCUntils { p 阅读全文
posted @ 2021-05-05 11:47 code-G 阅读(91) 评论(0) 推荐(0)
摘要:import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; //事务操作 public class JDBCdemo9 { public static void main(S 阅读全文
posted @ 2021-05-05 11:45 code-G 阅读(67) 评论(0) 推荐(0)
摘要:import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; //prepareStatement解决sql注入问题 pu 阅读全文
posted @ 2021-05-05 11:44 code-G 阅读(152) 评论(0) 推荐(0)
摘要:要求:从数据库中查询是否含有登录的信息,有则登录成功,否则登录失败 import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; //用户 阅读全文
posted @ 2021-05-05 11:43 code-G 阅读(85) 评论(0) 推荐(0)
摘要:import mystring.demo4.Teacher; import java.sql.*; import java.util.ArrayList; import java.util.List; //从数据库中获取数据封装在某个类中,再存在集合中 public class JDBCdemo6 阅读全文
posted @ 2021-05-05 11:41 code-G 阅读(45) 评论(0) 推荐(0)
摘要:import java.sql.*; //jdbc数据库结果集遍历 public class JDBCdemo5 { public static void main(String[] args) { Connection connection = null; Statement statement 阅读全文
posted @ 2021-05-05 11:40 code-G 阅读(300) 评论(0) 推荐(0)
摘要:import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; //练习insert语句 public class JDBCdemo 阅读全文
posted @ 2021-05-05 11:39 code-G 阅读(241) 评论(0) 推荐(0)
摘要:DriverManager驱动管理对象 注册驱动(虽然使用Class.forName去注册驱动,但本质上是使用DriverManager注册的) 通过getConnection方法连接数据库(url:jdbc:mysql://主机名或域名:端口/数据库,username,password) Conn 阅读全文
posted @ 2021-05-04 23:49 code-G 阅读(72) 评论(0) 推荐(0)
摘要:JDBC本质就是sun公司开发的一套用来操作所有关系型数据库的接口,目的就是使用Java语言操作关系型数据库,我们使用的实现类的jar包是由数据库厂商提供 JDBC的使用流程 import java.sql.Connection; import java.sql.DriverManager; imp 阅读全文
posted @ 2021-05-04 18:34 code-G 阅读(91) 评论(0) 推荐(0)
摘要:要求:利用注解测试某个类中的方法,并且将异常信息写入文件中 计算器类 public class Caculator { @Check public int add() { return 1 + 3; } @Check public int sub() { return 3 - 1; } @Check 阅读全文
posted @ 2021-05-04 17:34 code-G 阅读(111) 评论(0) 推荐(0)
摘要:自定义注解 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.an 阅读全文
posted @ 2021-05-04 17:31 code-G 阅读(137) 评论(0) 推荐(0)
摘要:自定义注解 格式:public @interface 注解名称{属性列表;} 本质:注解本质上就是一个接口。该接口继承Annotation接口 public interface Myanno extends java.lang.annotation.Annotation 属性:接口中的抽象方法 属性 阅读全文
posted @ 2021-05-04 11:48 code-G 阅读(102) 评论(0) 推荐(0)
摘要:public class Caculator { public int add(int a, int b) { return a + b; } } 测试类 import mystring.junit.Object.Caculator; import org.junit.After; import o 阅读全文
posted @ 2021-05-04 10:34 code-G 阅读(88) 评论(0) 推荐(0)
摘要://配置文件内容 className=xxx methodName=xxx import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Invo 阅读全文
posted @ 2021-05-03 22:12 code-G 阅读(336) 评论(0) 推荐(0)
摘要:import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; //通过反射越过泛型检查 public class ReflectDemo 阅读全文
posted @ 2021-05-03 22:08 code-G 阅读(58) 评论(0) 推荐(0)
摘要:import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; //通过反射获取成员方法并使用 public class ReflectDemo5 { public static void ma 阅读全文
posted @ 2021-05-03 22:07 code-G 阅读(281) 评论(0) 推荐(0)
摘要:import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; //通过反射获取成员变量 public class Re 阅读全文
posted @ 2021-05-03 22:06 code-G 阅读(637) 评论(0) 推荐(0)
摘要:import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; //暴力反射使用私有方法 public class ReflectDemo3 { public static void 阅读全文
posted @ 2021-05-03 22:05 code-G 阅读(318) 评论(0) 推荐(0)
摘要:import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; //反射获取构造方法并实例化对象 public class ReflectDemo2 { public static v 阅读全文
posted @ 2021-05-03 22:04 code-G 阅读(188) 评论(0) 推荐(0)
摘要://获取class对象的三种方法 public class ReflectDemo1 { public static void main(String[] args) throws ClassNotFoundException { //1.通过class属性获取 Class<Student> stu 阅读全文
posted @ 2021-05-03 22:03 code-G 阅读(1192) 评论(0) 推荐(0)
摘要:流最终可以收集为Collection,set,Map import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; //集合得收集操作 public class StreamDemo5 阅读全文
posted @ 2021-05-03 18:27 code-G 阅读(103) 评论(0) 推荐(0)
摘要:终结操作后无法有后续操作的,因为流已经结束 import java.util.ArrayList; //流式编程终结操作 public class StreamDemo4 { public static void main(String[] args) { ArrayList<String> str 阅读全文
posted @ 2021-05-03 18:25 code-G 阅读(187) 评论(0) 推荐(0)
摘要:import java.sql.SQLOutput; import java.util.ArrayList; import java.util.stream.Stream; //流式编程得中间操作 public class StreamDemo3 { public static void main( 阅读全文
posted @ 2021-05-03 18:24 code-G 阅读(99) 评论(0) 推荐(0)
摘要:流: 集合流 Map流 数组流 import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.stream.Stream; //几种流的生成方式 public class St 阅读全文
posted @ 2021-05-03 18:23 code-G 阅读(157) 评论(0) 推荐(0)
摘要:import java.util.ArrayList; public class StreamDemo1 { public static void main(String[] args) { ArrayList<String> strings = new ArrayList<>(); strings 阅读全文
posted @ 2021-05-03 18:21 code-G 阅读(255) 评论(0) 推荐(0)
摘要:基本都是使用lambda表达式重写方法 Supplier import java.util.function.Supplier; //生产数据的接口 public class SupplierDemo { public static void main(String[] args) { //lamb 阅读全文
posted @ 2021-05-03 16:55 code-G 阅读(142) 评论(0) 推荐(0)
摘要:客户端 import java.io.*; import java.net.InetAddress; import java.net.Socket; public class Client { public static void main(String[] args) throws IOExcep 阅读全文
posted @ 2021-05-02 22:20 code-G 阅读(108) 评论(0) 推荐(0)
摘要:客户端 import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException 阅读全文
posted @ 2021-05-02 19:34 code-G 阅读(191) 评论(0) 推荐(0)
摘要:import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; /* UDP接收数据: 因为接收端不知道发送端什么时候停止发送,故采用死循环接收 */ public class R 阅读全文
posted @ 2021-05-02 19:33 code-G 阅读(300) 评论(0) 推荐(0)
摘要:实现进程的两种方式 继承Thread类 实现Runable接口 设置获取线程名 getName() setName() 设置获取线程优先级 setPriority(优先级大小) getPriority() 线程控制 sleep() 休眠 setDaemon() 设置守护线程 join() 等待线程 阅读全文
posted @ 2021-05-02 17:08 code-G 阅读(46) 评论(0) 推荐(0)
摘要:import java.io.*; //复制文件 public class BufferStream1 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new 阅读全文
posted @ 2021-05-01 11:09 code-G 阅读(83) 评论(0) 推荐(0)
摘要:import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class InputStreamReader1 { public static void mai 阅读全文
posted @ 2021-05-01 10:53 code-G 阅读(102) 评论(0) 推荐(0)
摘要:import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; //字符流写数据的五种方式 public class OutputStreamWrite1 { public 阅读全文
posted @ 2021-05-01 10:46 code-G 阅读(263) 评论(0) 推荐(0)
摘要:import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; //字节缓冲流 public class BufferInputStream1 { public stati 阅读全文
posted @ 2021-05-01 10:15 code-G 阅读(62) 评论(0) 推荐(0)
摘要:import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; //字节流复制文件 public class FileInputStream2 { public static v 阅读全文
posted @ 2021-05-01 09:52 code-G 阅读(55) 评论(0) 推荐(0)
摘要:import java.io.FileInputStream; import java.io.IOException; //读取数据 public class FileInputStream1 { public static void main(String[] args) throws IOExc 阅读全文
posted @ 2021-05-01 09:48 code-G 阅读(717) 评论(0) 推荐(0)
摘要:import java.io.FileOutputStream; import java.io.IOException; //字节流写数据 public class FileOutputStream1 { public static void main(String[] args) throws I 阅读全文
posted @ 2021-05-01 09:23 code-G 阅读(115) 评论(0) 推荐(0)