
Java
文章平均质量分 59
Kaimar
⚽⚽⚽
展开
-
【Java】Spring练手项目-(1)创建Maven项目
文章目录1. 创建工程2. 完善工程目录1. 创建工程选择下图的那个webapp快速创建Group Id:com.atguiguArtifact Id:ssm-crud整个Maven工程就创建好了。2. 完善工程目录但是,我们看到项目目录和我们认识的好像不一样,所以需要添加几个目录,IDEA会有创建提示,创建完成后如下:src/main/java:Java代码src/main/resources:配置信息src/test/java:Java测试代码src/test/reso原创 2021-08-13 12:49:39 · 498 阅读 · 0 评论 -
【Java】Spring练手项目-(8)总结
系列文章【Java】Spring练手项目- Spring练手项目-项目介绍【Java】Spring练手项目-(1)创建Maven项目【Java】Spring练手项目-(2)导入jar包【Java】Spring练手项目-(3)引入bootstrap前端框架【Java】Spring练手项目-(4)编写ssm整合的关键配置文件【Java】Spring练手项目-(5)MyBatis逆向工程(问题记录)【Java】Spring练手项目-(6)测试DAO层(问题记录及代码练习)【Java】Spring.原创 2021-08-13 12:48:59 · 586 阅读 · 0 评论 -
【Java】Spring练手项目-(7)后端代码部分(问题记录)
文章目录1. 查询1.1 基础查询样式和功能需求1.2 跳转逻辑1.3 PageHelper分页插件1.4 问题解决1.5 AJAX优化2. 新增2.1 功能2.2 前端校验2.3 JSR303校验3. 修改4. 删除参考1. 查询1.1 基础查询样式和功能需求1.2 跳转逻辑访问index.jsp,里面的< jsp:forwardpage="/emps"></jsp:forward>会去找emps请求,就需要一个Controller去处理这个请求,即EmployeeCo原创 2021-08-13 12:48:42 · 372 阅读 · 0 评论 -
【Java】Spring练手项目-(6)测试DAO层(问题记录及代码练习)
package com.atguigu.crud.test;import com.atguigu.crud.bean.Department;import com.atguigu.crud.bean.DepartmentExample;import com.atguigu.crud.bean.Employee;import com.atguigu.crud.bean.EmployeeExample;import com.atguigu.crud.dao.DepartmentMapper;impo原创 2021-08-13 12:48:21 · 644 阅读 · 0 评论 -
【Java】Spring练手项目-(4)编写ssm整合的关键配置文件
文章目录1. 配置web.xml2. 配置dispatcherServlet-servlet.xml3. 配置applicationContext.xml1. 配置web.xml在web.xml中添加启动Spring的容器,listener,以及SpringMVC的前端控制器,拦截所有请求,这里需要特别注意,添加两个部分,如下并且,在下面路径下要创建Spring配置文件这样就可以识别dispatcherServlet。Tips: Ctrl+N快捷键查找Class文件<?xml v原创 2021-08-13 12:47:36 · 285 阅读 · 1 评论 -
【Java】Spring练手项目-(3)引入bootstrap前端框架
文章目录1. 下载bootstrap2. 调试并解决问题参考1. 下载bootstrap在bootstrap中文网下载bootstrap,并根据文档进行使用。视频中讲解得很清楚,这里就不多说了。2. 调试并解决问题在调试下面代码,想看看button样式时,出现了问题我就是想看看Button的效果,然后就遇到两个问题,如下:遇到问题首先就是,没有配置Tomcat,启动不了服务器,就运行不了程序。首先,下载Tomcat,然后将其配置到Maven项目中去,以下两篇帮助我解决了问题。原创 2021-08-13 12:47:13 · 609 阅读 · 0 评论 -
【Java】Spring练手项目-(2)导入jar包
文章目录1. 修改镜像2. 添加依赖参考1. 修改镜像Maven的镜像记得要改,不然下载jar包的时候很慢。改镜像,推荐一篇帖子:https://blog.youkuaiyun.com/liangyihuai/article/details/574068702. 添加依赖就在https://mvnrepository.com/进行搜索然后添加依赖就好了。先把上述要用到的导入,后续要用到其他的再导。就跟着视频做,我个人的经验是版本就跟着他的,尽量不要去选最新的,因为最新的不知道会出什么问题,而且最新的原创 2021-08-13 12:46:44 · 639 阅读 · 0 评论 -
【Java】Spring练手项目-项目介绍
我刚刚学习了一些Java框架的知识(看了《架构探险》),但是感觉没有实践就还是没有掌握,所以想找一个小项目练手,可以回顾知识,又可以了解整个架构。很多项目都很大,但是功能很多都是相似的,找了好久终于找到这个心仪的项目,来自B站尚硅谷,项目整体简单,但是涵盖了要用的所有知识点,掌握了之后再新增功能也是可以的。MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Ma.原创 2021-08-13 12:46:09 · 1689 阅读 · 0 评论 -
【问题解决】Tomcat HTTP 404报错:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示
先说我的问题,我是想直接运行如下页面看看效果,结果报了这个错。找了好久都没有解决问题,一直报这个错误,然后看到一条弹幕说是WEB-INF下面的页面是不能直接访问的,所以想到在index.jsp中去跳转。果然,就解决了。如下,加上跳转指定页面的这一行语句成功访问...原创 2021-08-12 10:50:04 · 2559 阅读 · 1 评论 -
【Java】Spring练手项目-(5)MyBatis逆向工程(问题记录)
文章目录问题一问题二问题三边学边记小技巧IDEA折叠代码IntelliJ IDEA字段自动生成get/set方法文件之间的关系参考继续按照视频中的项目走,已经很详细了,就是配置插件、配置Mapper等等,这里就只记录一下遇到的问题及解决方法。按照视频中的内容将代码添加进去,但是又遇到错误。问题一在最后运行逆向工程生成文件的时候报错,java: 错误: 不支持发行版本 5。如果有这个错误,提供两份帖子可以解决问题,我总结的就是工程中设置的jdk版本等相关信息不统一。https://blog原创 2021-08-13 12:47:56 · 237 阅读 · 0 评论 -
【问题解决】IDEA的Maven工程中,出现Library ‘Maven: ...‘ has broken path的问题
这个就是路径的问题。我遇到问题的情况如下没有找到上述Class,于是查看项目依赖的c3p0模块引入没有,发现了下述问题。解决问题这个问题困扰我很久,我找了很多帖子都是不行的,大家根据自己的实际情况试一下,有两种方法如下:解决方式一(对我无效):https://blog.youkuaiyun.com/CodeLixj/article/details/107859334解决方式二(对我有效):https://blog.youkuaiyun.com/Li_Ya_Fei/article/details/104432原创 2021-08-10 11:11:23 · 4572 阅读 · 0 评论 -
【Java】《架构探险》第三章
《架构探险》第二章原创 2021-08-04 21:16:58 · 87 阅读 · 0 评论 -
【Java】《架构探险》第二章
在OneNote写的笔记,粘贴上来就是图片,不想再弄文本然后排版了。就当记录一下学习笔记吧。包括:原创 2021-08-04 21:14:24 · 146 阅读 · 0 评论 -
【Maven】依赖管理、依赖传递、依赖范围、生命周期与插件
文章目录1. 依赖管理2. 依赖传递3. 依赖范围4. 生命周期与插件1. 依赖管理在pom.xml中dependencys中添加dependency,就可以使用对应的jar包了。2. 依赖传递3. 依赖范围4. 生命周期与插件原创 2021-08-01 18:25:35 · 216 阅读 · 0 评论 -
【Java】在IDEA中创建Maven项目(手动创建、插件创建、自动创建)
文章目录1. Maven工程目录结构(与Web工程目录对比)2. 手动方式创建3. 插件方式创建4. IDEA手动创建5. IDEA使用原型创建5.1 创建Java项目5.2 创建Web项目写在前面有一个很重要的网站:mvnrepository.com,在这里可以找到想要导入的jar包的依赖内容。1. Maven工程目录结构(与Web工程目录对比)可以清晰看到Web工程就是多了一个webapp目录。都包含src,然后src下面有main和test两个目录,这两个目录下都有Java和resou原创 2021-08-01 18:20:48 · 594 阅读 · 0 评论 -
【Java】Maven的基础知识
文章目录1. Maven是什么?2. Maven能做什么?3. 为什么用Maven?4. Maven仓库5. 配置仓库镜像1. Maven是什么?Maven 是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具。它将项目开发和管理过程抽象为一个项目对象模型。(POM,Project Object Model)Maven项目中有个pom.xml文件。Maven只是中间蓝色的部分。2. Maven能做什么?使用 Maven 可以原创 2021-08-01 17:47:47 · 274 阅读 · 0 评论 -
【Java】Servlet/JSP/Tomcat/Spring(正向代理、反向代理、Nginx)关系梳理
参考[1] https://www.huaweicloud.com/articles/9d6690a636ff77544d4f5cb2381ee6f2.html[2] https://www.cnblogs.com/shawshawwan/p/9002126.html[3] https://juejin.cn/post/6844903570681135117原创 2021-07-31 19:03:30 · 360 阅读 · 0 评论 -
【Java】使用IDEA创建一个基于Maven的Java Web项目
文章目录1. 创建Project2. 调整Maven配置3. 转为Java Web项目4. 添加Java Web的Maven依赖参考1. 创建Project都是自己输入的。创建成功。2. 调整Maven配置原始配置如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org原创 2021-07-31 11:52:26 · 416 阅读 · 1 评论 -
【Java】Servlet / Tomcat / Spring 之间的关系
Servlet/Tomcat/ Spring 之间的关系0.基础知识在idea中打开servlet的源码: 可以看见servlet就是一个接口;接口就是规定了一些规范,使得一些具有某些共性的类都能实现这个接口,从而都遵循某些规范。有的人往往以为就是servlet直接处理客户端的http请求,其实并不是这样,servlet并不会去监听8080端口;直接与客户端打交道是“容器”,比如常用的tomcat。客户端的请求直接打到tomcat,它监听端口,请...转载 2021-07-31 10:03:27 · 473 阅读 · 0 评论 -
【Java】迭代器(Iterator)和生成器(Generator)
文章目录1. 迭代器和生成器概述1.1 迭代器1.2 生成器1.3 对比总结2. 代码示例2.1 迭代器代码2.2 生成器代码参考1. 迭代器和生成器概述1.1 迭代器背景任何容器类都需要持有、插入、取用元素,而对于不同的容器就需要对应具体类型编写不同的方法。为了避免这个缺点,就想到能否写一个通用的代码使得对于任何一种容器,它都可以不关心容器具体的类型就可以进行插入、取用等操作,所以迭代器就是达成这个目的。迭代器是一个对象,它的工作是遍历并选择序列中的对象,即它是访问集合的方法,而客户端程序员不原创 2021-06-16 10:10:28 · 1458 阅读 · 0 评论 -
【Java】集合与数组的转换
// 数组转集合(利用List.of包装器就可以)String[] values = ...;var staff = new HashSet<>(List.of(values));// 集合转数组(用toArray方法,但是结果是一个对象数组)Object[] values = staff.toArray(); // 直接打印它会输出一个地址// 创建为相同的数组类型String[] values = staff.toArray(new String[0]);参考《Java原创 2021-05-09 10:54:03 · 109 阅读 · 0 评论 -
【Java】常用集合算法
Collections类中的sort方法可以对实现了List接口的集合进行排序。Collection.sort(staff);staff.sort();// 逆序staff.sort(Comparator.reverseOrder());二分查找i = Collections.binarySearch(c, element);常用的其他算法参考《Java核心技术 卷Ⅰ》...原创 2021-05-09 10:45:02 · 224 阅读 · 0 评论 -
【Java】视图与包装器
文章目录1、视图2、子范围参考1、视图Java中的视图是一个从原数据中提取的集合,并且它可以操作原映射。(向数据库中的视图,操作视图是不会引起原数据的改变,而这里不是)当然Java中也有一些方法可以获得不可修改视图。2、子范围建立子范围视图。// 从列表staff中取第10~19个元素List<Employee> group = staff.subList(10,20);删除子范围。// group清空,并且staff里的对应元素也会清除group.clear(原创 2021-05-09 10:05:20 · 180 阅读 · 0 评论 -
【Java】映射(map)
文章目录1、概述2、基本映射操作2.1 创建2.2 添加2.3 删除2.4 修改2.5 遍历3、映射视图参考1、概述映射(map)用来存放键值对。Java类库为映射提供了两种通用的实现:HashMap和TreeMap。这两个类都实现了Map接口。如何选择呢?与集一样,散列稍微快一些,若不需要按照有序的顺序访问键,最好选择散列映射。2、基本映射操作键必须是唯一的。要检索对象,必须使用键。2.1 创建var staff = new HashMap<String, Employe原创 2021-05-07 15:54:18 · 545 阅读 · 0 评论 -
【Java】散列集
Java集合类库提供HashSet类,它实现了基于散列表的集。可以用add方法添加元素,contains方法查找元素是否在集中。var words = new HashSet<String>();words.add("word");参考《Java核心技术 卷Ⅰ》原创 2021-05-07 11:02:18 · 240 阅读 · 0 评论 -
【Java】数组列表
List接口用于描述一个有序集合。有两种访问元素的协议:一种是通过迭代器,另一种是通过get和set方法随机地访问每个元素。但是,后者不适用于链表,每次都要从头遍历,开销很大。集合类库提供了ArrayList类,它实现了List接口。ArrayList封装了一个动态再分配的对象数组。对于需要动态数组时,可能会用Vector或ArrayList。怎么选择呢?不需要同步的时候选择ArrayList,要同步的选Vector。理由:Vector类的所有方法都是同步的。可以安全地从两个线程访问一个Vect.原创 2021-05-07 10:47:11 · 334 阅读 · 0 评论 -
【Java】链表
文章目录1、Java中的链表2、相关操作2.1 创建链表2.2 添加元素2.3 访问元素2.4 删除元素3、相关API参考1、Java中的链表Java中的所有链表实际上都是双向链接的。2、相关操作操作链表会借助迭代器,但是例如迭代器没有add方法,所以利用一个子接口(如下)2.1 创建链表var staff = new LinkedList<String>();2.2 添加元素staff.add("Name");2.3 访问元素访问用到迭代器和其方法,以及接原创 2021-05-07 10:35:18 · 140 阅读 · 0 评论 -
【Java】Java集合框架
文章目录1、集合接口与实现分离2、Collection接口3、迭代器4、泛型实用方法5、集合框架中的接口6、具体集合参考1、集合接口与实现分离例如队列(queue)队列的实现方式通常有两种:循环数组;链表。2、Collection接口3、迭代器调用next方法,可以逐个访问集合中的元素。调用next方法前,需要调用hasNext方法,判断有无可访问元素。Java的迭代器的查找操作和位置变更紧密耦合。查找元素的唯一方法是next,在执行查找操作的同时,迭代器的位置就会随之向前移动。原创 2021-05-07 09:27:34 · 94 阅读 · 0 评论 -
【Java】泛型程序设计
文章目录1、概述1.1 为什么使用泛型程序设计?2、泛型类2.1 定义简单的泛型类2.2 泛型方法3、限制与局限性参考1、概述1.1 为什么使用泛型程序设计?编写代码可以对多种不同类型的对象重用。2、泛型类2.1 定义简单的泛型类以Pair类举例2.2 泛型方法定义泛型方法调用泛型方法编译器可以推断出类型参数3、限制与局限性参考《Java核心技术 卷Ⅰ》...原创 2021-05-06 19:58:23 · 225 阅读 · 1 评论 -
【Java】异常
文章目录1、概述1.1 处理错误1.2 异常2、Error和Exception2.1 Error2.2 Exception2.3 关系3、捕获异常3.1 try...catch..3.2 finally子句4、使用异常的技巧5、使用断言5.1 断言的概念5.2 相关问题6、Java中的处理系统错误的机制参考1、概述1.1 处理错误为避免程序的错误造成的系统已执行的工作丢失,我们应该至少做到以下三点向用户通知错误;保存所有的工作;允许用户妥善地退出程序。核心就是让程序回到一种安全状态,并允许用原创 2021-05-04 14:28:01 · 76 阅读 · 0 评论 -
【Java】lambda表达式
文章目录1、什么是lambda表达式?2、作用参考1、什么是lambda表达式?它就是一个可传递的代码块,并且必须传入代码的变量规范,可在以后执行一次或多次 。// lambda表达式示例(String first, String second) -> first.length() - second.length()// 无参数lambda表达式() -> {...具体代码}// 找空值的lambda表达式e -> e == null2、作用使用lambda原创 2021-05-03 16:28:58 · 101 阅读 · 0 评论 -
【Java】接口
文章目录1、概述1.1 接口2、参考1、概述1.1 接口用来描述类应该做什么,但不指定它们具体应该怎么做。2、参考《Java核心技术 卷Ⅰ》原创 2021-05-01 11:35:58 · 90 阅读 · 1 评论 -
【Java】实例字段
实例字段先说字段,什么是字段?字段是属于类的,它是会用public、private等关键字修饰的。而变量就是我们通常定义的int a这样的,它没有访问控制符;在类中定义的称为实例字段,如下:字段变量可以自动赋初值,局部变量则须显式赋值;从空间分配的角度讲,实例字段存储在堆中,变量存储在栈中。参考《Java核心技术 卷Ⅰ》...原创 2021-05-01 09:28:26 · 2455 阅读 · 1 评论 -
【Java】初始化块
其实这是初始化数据字段的方法。初始化数据字段的方法有三种,在构造器中设置值,在声明中赋值,初始化块。初始化块代码示例:一个类的声明中,可有多个代码块。只要构造类的对象,这些代码块就会执行。特殊的static初始化块它只会在类的第一次加载的时候执行。参考《Java核心技术 卷Ⅰ》...原创 2021-05-01 09:07:48 · 98 阅读 · 1 评论 -
【Java】继承的设计技巧
1、将公共操作和字段放在超类中。2、不要使用受保护的字段。protected字段,可由子类或同包中的所有类使用,这会破坏其封装性。protected方法对于指示那些不提供一般用途,而应在子类中定义的方法很有用。3、使用继承实现“is-a”关系有is-a关系的才使用继承,否则可能写更多的代码和造成麻烦。例如,管理员是一个特殊的员工,那么管理员就可继承员工类。4、除非所有继承的方法都有意义,否则不要使用继承。5、在覆盖方法时,不要改变预期的行为。即,在子类中覆盖方法时,不要偏离最初的设计想法.原创 2021-04-21 09:57:49 · 257 阅读 · 0 评论 -
【Java】反射
文章目录1、概述2、Class类3、声明异常入门4、利用反射分析类的能力5、使用反射在运行时分析对象6、使用反射编写泛型数组代码7、调用任意方法和构造器相关API参考1、概述Java可以利用反射库来编写能够动态操作Java代码的程序。能够分析类能力的程序称为反射。反射是一种功能强大且复杂的机制。反射机制可以用来:运行时分析类的能力;在运行时监察对象,例如,编写一个适用于所有类的toString方法;实现泛型数组操作代码;利用Method对象,这个对象很像C++中的函数指针。2、Class原创 2021-04-21 09:14:40 · 84 阅读 · 0 评论 -
【Java】参数数量可变的方法
Object…参数类型和Object[]完全一样,也就是说可以采用…这种声明方式去接收同类型数组,只是没有固定数组的大小,因为这是可变参。参考《Java核心技术 卷Ⅰ》原创 2021-04-19 16:26:05 · 227 阅读 · 0 评论 -
【Java】泛型数组列表
文章目录1、ArrayList1.1 概述1.2 创建ArrayList1.3 添加元素1.4 访问数组列表元素2、类型化与原始数组列表的兼容性3、对象包装器与自动装箱4、相关API参考1、ArrayList1.1 概述许多语言,如C/C++,必须在编译时就确定整个数组的大小。Java中,允许在运行时确定数组的大小。为解决动态修改数组的问题,在Java中,解决这个问题最简单的方法是使用一个类,名为ArrayList。类似于数组,但在添加或删除元素时,能够自动地调整数组容量。1.2 创建Arra原创 2021-04-19 16:12:33 · 617 阅读 · 0 评论 -
【Java】继承(Object类:所有类的超类)
文章目录1、equals2、hashCode方法3、toString方法4、相关API参考1、equals比较基本类型字段用==,比较对象字段用Objects.equals;2、hashCode方法散列码是由对象导出的一个整型值。字符串的散列码是由内容导出的。Object类的默认hashCode方法是从对象的存储地址得出散列码。3、toString方法toString方法是Object中的一个重要方法。它返回表示对象值的一个字符串。设计时可能需要用到类名,最好通过调用getC原创 2021-04-19 11:15:05 · 276 阅读 · 0 评论 -
【Java】继承(类、超类、子类)
文章目录1、父类与子类2、覆盖方法3、子类构造器4、this和super5、多态6、方法调用的过程7、阻止继承:final类和方法8、强制类型转换9、抽象类10、受保护访问11、四种访问控制符参考1、父类与子类一个简单规则用于判断是否应该将数据设计为继承关系,即“is-a”规则。如:每个经理都是员工。继承使用关键字extends。如上,Manager继承Employee。父类又称超类、基类。应该将最一般的方法放在超类中,而将更特殊的方法放在子类中。子类方法的访问权限不能低于父类方法,即父原创 2021-04-18 17:36:43 · 887 阅读 · 0 评论