
java
文章平均质量分 80
即将秃头的小老弟
hhhhhhhhh
展开
-
JavaWeb
文章目录JavaWeb 的概念什么是 JavaWeb什么是请求什么是响应请求和响应的关系Web 资源的分类TomCat服务器常用的 Web 服务器Tomcat 服务器和 Servlet 版本的对应关系Tomcat 的使用安装目录介绍启动 Tomcat 服务器常见的启动失败的情况有另一种启动 tomcat 服务器的方式Tomcat 的停止如何修改 Tomcat 的端口号如何部暑 web 工程到 Tomcat 中IDEA整合TomcatWeb 工程的目录介Servlet什么是 Servlet手动实现 Servl原创 2021-12-02 20:30:55 · 1029 阅读 · 0 评论 -
SprintBoot——Zookeeper,Dubbo
Zookeeper安装下载地址下载编译后的bin文件解压后打开conf目录赋值zoosample.cfg命名为zoo.cfg打开bin目录先打开服务端,再打开客户端客户端连接成功后可以存值取值zookeeper就安装完成了Dubbo Admin下载地址下载完成后,打开这是一个springboot项目可以更改配置文件server.port=7001admin.root.user.name=rootadmin.root.user.password=root然后在原创 2021-09-18 14:47:49 · 138 阅读 · 0 评论 -
SpringBoot——任务
异步任务网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,一般会采用多线程的方式去处理这些任务,当有请求过来时,创建一个线程去发送邮件,然后直接返回信息,等待邮件在后台发送模拟一下这个情况:创建一个AsyncService,test方法模拟延迟发送邮件@Servicepublic class AsyncService { public void test(){ try { Thread.sleep(5*100原创 2021-09-16 19:58:57 · 105 阅读 · 0 评论 -
SpringBoot——Swagger
Swagger号称世界上最流行的API框架Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新直接运行,在线测试API支持多种语言 (如:Java,PHP等)官网:https://swagger.io/SpringBoot继承Swagger创建springboot项目,导入依赖<!--Swagger--><!-- https://mvnrepository.com/artifact/io.springfox/springfox-原创 2021-09-16 16:33:37 · 148 阅读 · 0 评论 -
SpringBoot——Shiro
文章目录主要功能QuickStart环境搭建重要的几个核心步骤springboot整合shiroApache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。主要功能三个核心组件:Subject, SecurityManager 和 Realms.Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是原创 2021-09-14 22:12:16 · 328 阅读 · 1 评论 -
SpringBoot——整合SpringSecurity
Spring Security是一个框架,侧重于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松地扩展以满足定制需求环境准备静态资源素材下载编写路由controller@Controllerpublic class RouterController { @GetMapping({"/", "/index", "/index.html"}) public String index() {原创 2021-09-13 10:05:56 · 496 阅读 · 0 评论 -
SpringBoot——整合mybatis
首先导入依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version></dependency>配置数据库连接信息也可以使用yaml配置,这里使用默认的数据源spr.原创 2021-09-12 10:53:58 · 135 阅读 · 0 评论 -
SpringBoot——整合Druid
DruidDruid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。使用Druid导入依赖<!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency> <groupId>com.alibaba<原创 2021-09-11 17:15:33 · 823 阅读 · 0 评论 -
SpringBoot——整合JDBC
整合jdbc创建新项目引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>org.springframework.boot</gro原创 2021-09-11 15:31:48 · 149 阅读 · 0 评论 -
SpringBoot学习记录02——yaml配置
文章目录SpringBoot配置文件yaml概述yaml基础语法注释基本类型对象和map数组yaml注入配置文件注释处理器配置文件占位符导入指定配置文件properties配置文件@ConfigurationProperties和 @Value对比SpringBoot配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的为applicationapplication.propertieskey1=value1key2=value2application.yaml注原创 2021-08-31 11:10:51 · 595 阅读 · 0 评论 -
SpringBoot学习记录01——第一个SpringBoot程序
在官网创建在官网Spring Initializr中创建按图中勾选,添加spring-web依赖点击生成将下载的工程解压,用idea打开在HelloApplication的同级目录下创建controller包并创建一个controller@RestControllerpublic class HelloController { @RequestMapping("/hello") public String hello(){ return "hello,原创 2021-08-31 09:31:34 · 79 阅读 · 0 评论 -
SpringMVC09——文件上传和下载
文章目录要求文件上传文件下载要求想使用Spring的文件上传功能,则需要在上下文中配置MultipartResolver前端表单要求:表单的method设置为POST,enctype设置为multipart/form-data<form action="" enctype="multipart/form-data" method="post"> <input type="file" name="file"/> <input type="submit"原创 2021-08-21 14:04:42 · 106 阅读 · 0 评论 -
SpringMVC学习记录08——拦截器
文章目录概述自定义拦截器案例 用户登陆状态判断概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦截器的区别:拦截器是AOP思想的具体应用过滤器servlet规范中的一部分,任何javaWeb工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,使用了SpringMVC框架的工程才能使用原创 2021-08-20 16:30:46 · 111 阅读 · 0 评论 -
SpringMVC07——ajax请求
文章目录简介ajax语法部分参数Get 和 Post实例一 实时检查账号密码是否合法搭建环境编写前端页面和控制器实例二 不刷新页面加载用户数据简介AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。ajax语法使用jquery封装的ajax请求jQuery.ajax(...) $.ajax(url);$.ajax(url,[options原创 2021-08-19 20:18:37 · 166 阅读 · 0 评论 -
SpringMVC05——JSON交互
文章目录JSON和JS对象的互相转换Controller返回JSON格式数据使用工具jackson对象转为Json集合转为JSON时间对象输出使用FastJsonJSON和JS对象的互相转换JSON.stringfy() obj -> jsonJSON.parse() json -> obj<script> let user = { name: "老王", age: 18, sex: "男" }原创 2021-08-14 23:25:22 · 128 阅读 · 0 评论 -
SpringMVC04——跳转方式及数据处理,乱码处理
文章目录结果跳转方式ModelAndViewServlet APISpringMVC有视图解析器没有视图解析器结果跳转方式ModelAndView设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!--前缀--&g原创 2021-08-14 21:46:56 · 208 阅读 · 0 评论 -
SpringMVC02——第一个SpringMVC程序
文章目录使用配置文件创建使用注解来创建使用配置文件创建创建一个空的maven项目并添加web支持,导入相关jar包杂七杂八一大堆,反正都要用<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> &l原创 2021-08-12 22:01:36 · 114 阅读 · 0 评论 -
Spring学习记录08——Mybatis-Spring
项目依赖Spring整合mybatis需要用到的包1、导入相关jar包junit<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency>mybatis<dependency> <groupId&g原创 2021-08-09 19:11:15 · 118 阅读 · 0 评论 -
MyBatis相关配置
mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <typeAliases>原创 2021-08-09 11:22:11 · 79 阅读 · 0 评论 -
Spring学习记录07——AOP
文章目录概述Aop在Spring中的作用Spring实现AOP方式一 通过SpringAPI实现方式二 自定义实现AOP方式三 使用注解实现AOP概述面向切面编程AOP(Aspect Oriented Programming)通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可原创 2021-08-08 23:48:46 · 92 阅读 · 0 评论 -
Spring学习记录06——代理模式
文章目录代理模式介绍静态代理例1例2总结代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻原创 2021-08-08 20:37:12 · 90 阅读 · 0 评论 -
Spring学习记录05——使用注解开发、JavaConfig
使用注解开发的要求必须导入spring-aop包只要导入spring-webmvc就会自带<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.8</version></dependency>配置文件中引入contex原创 2021-08-07 13:58:02 · 80 阅读 · 0 评论 -
Spring学习记录04——自动装配
文章目录自动装配概述搭建环境xml配置自动装配byNamebyType使用注解自动装配@Autowired@Qualifier@Resource用法一方式二@Autowired和@Resource异同点自动装配概述搭建环境Cat.javapublic class Cat { public void doSome(){ System.out.println("猫猫正在抓老鼠!"); }}Dog.javapublic class Dog { public原创 2021-08-06 19:31:52 · 101 阅读 · 0 评论 -
Spring学习记录03——依赖注入DI、Bean的作用域
文章目录依赖注入概念基于构造函数的依赖注入基于 Setter 的依赖注入常量注入引用注入数组注入map注入list注入set注入properties注入null和空字符串注入结果p命名空间和c命名空间注入p命名空间注入c命名空间注入Bean的作用域Singletonprototype依赖注入概念依赖注入 (DI) 是一个过程,其中对象仅通过构造函数参数、工厂方法的参数或在对象实例被构造或从工厂方法返回。然后容器在创建 bean 时注入这些依赖项。这个过程基本上是 bean 本身的逆过程(因此得名,控制原创 2021-08-06 13:31:12 · 191 阅读 · 0 评论 -
Spring学习记录02——Spring基础
文章目录第一个Spring程序IOC创建对象的方式通过无参构造创建对象通过有参构造来创建对象方式1 通过索引复制方式2 通过参数类型赋值方式3 通过参数名赋值Spring配置别名配置bean配置import配置第一个Spring程序创建一个实体类public class Hello { private String name; public String getName() { return name; } public void setName原创 2021-08-05 20:30:56 · 95 阅读 · 0 评论 -
Mybatis学习记录07——缓存
文章目录缓存一级缓存一级缓存失效的四种情况二级缓存开启二级缓存使用自定义缓存缓存1、什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。2、为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。3、什么样的数据能使用缓存?经常查询并且不经常改变的数据。MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地原创 2021-08-04 19:23:05 · 119 阅读 · 0 评论 -
Mybatis学习记录06——动态SQL
文章目录环境搭建IF语句环境搭建创建表并插入数据CREATE TABLE `blog` ( `id` varchar(50) NOT NULL COMMENT '博客id', `title` varchar(100) NOT NULL COMMENT '博客标题', `author` varchar(30) NOT NULL COMMENT '博客作者', `create_time` datetime NOT NULL COMMENT '创建时间',原创 2021-08-04 16:37:16 · 148 阅读 · 0 评论 -
Mybatis学习记录05——分页和使用注解开发
文章目录分页limit分页RowBounds分页注解开发分页limit分页使用limit分页的操作在之前已经做过,主要是sql语句的编写通用的limit分页limit (currentPage-1)*pageSize, pageSize使用mybatis来实现limit分页Mapper接口中的方法/** * 分页查询 传入一个map 其中包含startIndex, pageSize * @return */ List<User> get原创 2021-08-02 10:56:29 · 165 阅读 · 0 评论 -
MyBatis学习记录04——结果映射(resultMap)
文章目录问题引入查询结果为null方式一方式二ResultMap自动映射手动映射问题引入查询结果为null当数据库中的字段和实体类的属性不一致时,查询会出现什么情况?public class User { private Integer id; private String name; private String password; ...}可以发现数据库和实体类中密码字段的名字不一样mapper接口/** * 查询所有数据 * @retu原创 2021-08-01 17:18:58 · 108 阅读 · 0 评论 -
MyBatis学习记录03——日志工厂
日志工厂思考:我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率?如果一个 数据库相关的操作出现了问题,我们可以根据输出的SQL语句快速排查问题。对于以往的开发过程,我们会经常使用到debug模式来调节,跟踪我们的代码执行过程。但是现在使用Mybatis是基于接口,配置文件的源代码执行过程。因此,我们必须选择日志工具来作为我们开发,调节程序的工具。Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:SLF4JApache Comm原创 2021-08-01 16:10:01 · 86 阅读 · 0 评论 -
MyBatis学习记录02——Mybatis配置
文章目录环境配置(environments)事务管理器(transactionManager)数据源(dataSource)属性(properties)类型别名(typeAliases)设置(settings)映射器(mappers)mybatis-config.xml 系统核心配置文件MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:configuration(配置)properties(属性)settings(设置)typeAlia原创 2021-08-01 13:59:01 · 193 阅读 · 0 评论 -
mybatis学习记录01—— 简单的增删改查
文章目录1 搭建环境1.1 创建测试数据库表并插入数据1.2 创建maven项目1.3 编写mybatis配置文件1.4 编写工具类1.5 编写实体类1.4 编写mapper接口1.5 编写Mapper.xml配置文件1.6 在mybatis配置文件中配置Mapper.xml1.7开始测试1.8 可能遇到的问题1 搭建环境搭建环境–>导入Mybatis—>编写代码—>测试1.1 创建测试数据库表并插入数据CREATE DATABASE `mybatis`;USE `mybati原创 2021-07-31 16:24:04 · 129 阅读 · 0 评论 -
java发送邮件
文章目录邮件发送协议邮件发送流程发送邮件需要的jar包使用qq邮箱发送一封普通邮件邮件发送协议要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。SMTP协议通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。POP原创 2021-07-29 21:58:30 · 156 阅读 · 0 评论 -
javaWeb文件下载
将文件以流的形式发送到前端要让浏览器下载文件需要设置Content-Disposition: attachment; filename=filename.ext设置response响应头resp.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); //注意:含有中文的文件名 需要给URL编码完整代码package com原创 2021-07-27 21:38:24 · 120 阅读 · 0 评论 -
javaWeb文件上传
需要用到的jar包commons-iocommons-fileupload前端使用form表单method必须为post,get只能上传4k左右的资源!!!-enctpype必须是multipart/form-data !!!action中的路径前需要加上${pageContext.request.contextPath}获取项目路径!!!<form action="${pageContext.request.contextPath}/upload.do" method="pos原创 2021-07-27 17:57:45 · 75 阅读 · 0 评论 -
Maven项目报错的一些设置
为新项目设置资源下载失败-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true选择模板没有目录-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true...原创 2021-07-08 11:33:23 · 271 阅读 · 0 评论 -
Java反射机制
文章目录概述获取class的三种方式通过反射机制实例化对象使用反射机制实现使用配置文件实例化对象反射机制获取属性通过反射机制还原java代码反射机制操作属性概述反射机制的作用通过java语言的反射机制可以操作字节码文件(.class)相关的类java.lang.Class 代表整个类的字节码java.lang.reflect.Method 代表类中方法的字节码java.lang.reflect.Constructor 代表类中构造方法的字节码java.lang.reflect.Field原创 2021-07-01 16:53:44 · 81 阅读 · 0 评论 -
Java多线程基础
文章目录创建线程的方式继承Thread类实现Runnable接口匿名内部类方式线程的生命周期线程的五种状态相关方法创建线程的方式继承Thread类创建一个类继承Thread类重写Thread中的run方法实例化该类并调用start方法即可开启该线程package com.wcy.code01;/** * 继承的方式创建线程 */public class ThreadTest01 { public static void main(String[] args) {原创 2021-06-29 19:16:27 · 92 阅读 · 0 评论