JavaWeb
一些JavaWeb方面的不好划分的知识
爱吃雪糕的小布丁
没有什么问题是加一层解决不了的,如果有,那就加两层!
展开
-
Ruoyi-Vue或者Ruoyi-Cloud登录进去之后的第一个页面如何修改(即如何去掉首页或者如何修改首页)
ruoyi-vue和ruoyi-cloud如何更换首页原创 2023-11-30 18:05:05 · 3447 阅读 · 7 评论 -
ruoyi-vue前后端分离版本验证码实现思路
ruoyi-vue是若依前后端分离版本的快速开发框架,适合用于项目开始搭建后台管理系统。本篇文章主要介绍其验证码实现的思路。1、后端会生成一个表达式,比如1 + 2 =?@ 3,以@符号为分隔符,前面是问题,后面是答案。2、将问题转换为流,生成表达式图片之后,把图片传到前端进行展示。3、会生成一个uuid当成key,答案当成value,存进redis缓存数据库中。4、uuid也会一起传到前端进行隐藏域(input)存储。5、用户根据问题,把答案填写到表单中,将答案和uuid一起传回后端。原创 2023-11-20 11:51:23 · 1170 阅读 · 0 评论 -
IDEA对Stream流进行debug查看具体流程
使用IDEA的debug功能,查看具体的Stream流数据操作流程原创 2023-07-27 10:20:47 · 1835 阅读 · 0 评论 -
若依cloud(RuoYi-Cloud)新增业务模块和功能模块增删改查演示
看了几篇文章感觉都不太满意,索性自己来写一篇。原创 2023-07-18 17:03:21 · 9034 阅读 · 1 评论 -
SpringCloud-Alibaba学习笔记03——nacos管理界面详细介绍和注册中心配置详解
nacos服务管理界面如图所示: 我们可以看到在界面上有个的按钮,我们打开该按钮之后,服务列表并没有发生变化,这个按钮有啥用呢? 该按钮的作用就是隐藏空的服务,空的服务就是指没有的服务,即实例数为0。我们在客户端注册进来的服务都不是空服务,所以就不会被隐藏。 那怎么创建空服务呢?我们可以点击右侧的 那妞,创建一个没有任何实例的服务,如图: 关闭隐藏空服务之后,这个空服务就会显示,如图: 那这个空服务有什么用呢?没有具体的作用,唯一的作用就是相当于在服务列表占个座,表明这里有个这种类型原创 2023-04-18 16:43:49 · 2303 阅读 · 0 评论 -
SpringCloud-Alibaba学习笔记01——Nacos介绍以及注册中心的演变和Nacos核心功能
官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )服务配置(Nacos Config)和服务管理平台。简单来说就是:集注册中心+配置中心+服务管理的平台。服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理。原创 2023-04-10 16:45:48 · 946 阅读 · 0 评论 -
SpringBoot+Vue+EasyExcel+MybatisPlus+Lombok前后端分离实现Excel文件导入导出(简单实用版)
1、指定POJO的字段与Excel列的对应关系,列名由value指定。2、表示Excel导入导出的时候忽略该字段。3、如果POJO中的字段和Excel中的列值之间存在差异,需要转换时,可以自定义转换器,并通过converter指定(具体实现参考下文)。原创 2023-03-31 15:57:06 · 5203 阅读 · 6 评论 -
SpringBoot出现:Invalid bound statement (not found):等三个问题
Invalid bound statement (not found):Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that correspo原创 2023-03-31 11:42:16 · 2064 阅读 · 0 评论 -
阿里云短信验证码实战
测试代码写完之后我们就可以执行这段代码进行测试了,结果成功!5、接着我们新建一个用户(具体用来操作的账号),一定要勾选。默认会给我们设置一个模板,我们可以直接用这个模板(原创 2023-03-17 10:12:09 · 3736 阅读 · 5 评论 -
Royi-cloud启动服务报错Invalid bound statement (not found): com.rk.system.mapper.SysConfigMapper.selectConf
Invalid bound statement (not found): com.rk.system.mapper.SysConfigMapper.selectConfField redisService in com.rk.gateway.service.impl.ValidateCodeServiceImpl required a bean of type 'com.rk.common.redis.service.RedisService' that could not be found.原创 2023-03-03 11:56:35 · 3135 阅读 · 0 评论 -
用IDEA打包springboot项目报错:--- maven-compiler-plugin:3.8.1:compile (default-compile) @ springboot_homewor
maven-compiler-plugin:3.8.1:compile (default-compile) @ springboot_homework ---[INFO] Changes detected - recompiling the module!原创 2022-07-08 16:03:06 · 8800 阅读 · 0 评论 -
2021新版IDEA实现SpringBoot项目热部署
首先,在pom.xml中添加devtools的maven引用: 其次,在plugin中添加devtools生效标志: 最后,在application.yaml文件中添加devtools配置:二、手动热部署 配置完之后,如果不想让他自动热部署的话,可以进行手动热部署,即更改完代码之后,Ctrl + F9,即可热部署完成。 不想手动进行热部署的同学,可以对IDEA进行一些设置,实现自动热部署,IDEA自动检测代码发生变化,自动实现热部署。 首先: 其次,Ctrl+shift+alt+原创 2022-06-20 12:38:09 · 7252 阅读 · 1 评论 -
MybatisPlus代码自动生成器
高于版本需要导入代码生成器依赖: 以及模板引擎依赖,即使不用模板引擎也要导入:原创 2022-06-13 15:11:53 · 5310 阅读 · 0 评论 -
用MybatisPlus代码生成器之后,运行springboot项目报错:UnsatisfiedDependencyException: Error creating bean with name
用MybatisPlus代码生成器生成代码之后,运行springboot项目报错:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework原创 2022-06-13 15:06:57 · 7207 阅读 · 2 评论 -
Springboot中使用@Mapper、@Repository、@MapperScan实现MybtaisPlus操作数据库的几种方法
我用的是MybatisPlus!!!,用Mybatis的结果可能不一样!!! 以下几种方式我的实体类和SpringBoot配置文件都是如下,没有改变:一、只使用@MapperScan注解操作数据库 只在SpringBoot的启动类上添加@MapperScan注解扫描Mapper接口。 UserMapper: 启动类: 测试代码: 可以看到,如果Mapper接口上不加将该组件自动注入springboot的注解(@Repository和@Component)的话,使用@Autow原创 2022-06-03 13:07:56 · 6842 阅读 · 0 评论 -
springboot整合redis存入一个对象时报错:org.springframework.data.redis.serializer.SerializationException: Cannot
org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.l原创 2022-05-15 11:48:11 · 8880 阅读 · 2 评论 -
springboot集成redis并操作redis
1、首先导入依赖<!--springboot操作redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2、编写配置文件 编原创 2022-05-12 18:37:06 · 5749 阅读 · 0 评论 -
maven项目——使用jedis操作redis
1、导入依赖 依赖如下:<!--导入jedis的jar包--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.2.2</version> </dependency>原创 2022-05-12 18:29:27 · 6945 阅读 · 0 评论 -
maven报错:SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“. SLF4J: Defaulting to no-ope
SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.Element 'dependency' cannot have character原创 2022-05-12 18:07:06 · 15804 阅读 · 4 评论 -
springmvc代码正确但是报错404解决以及乱码解决
1、如果代码正确,但是运行报错404的话,可能是jar包没有导入到maven上。可以到Project Structure 中的Artifacts中,找到对应的项目,创建一个lib文件夹,添加jar包到里面。 如果没有导入jar包的话,可以在WEB-INF目录下新建一个lib目录,接着右键点击lib目录,点击Add Copy of,选择第一项,然后选择全部jar包(Ctrl + a),点击ok即可。 改完之后别忘记apply哦!乱码解决1.用springmvc提供的filter也不能解决原创 2022-05-12 08:40:58 · 7298 阅读 · 1 评论 -
spring依赖注入简介以及依赖注入的两种方式
1、spring依赖注入简介依赖注入:Set注入 1.依赖:bean对象创建依赖于容器! 2.注入:bean对象中的所有属性,由容器来注入!2、依赖注入的两种方式 实体类:package com.tang.pojo;public class People { private String name; private Cat cat; private Dog dog; public String getName() { return na原创 2022-05-11 10:19:09 · 6493 阅读 · 0 评论 -
Spring框架简介以及使用注解开发和使用xml开发的优缺点
1、spring简介1.Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。2.优点:Spring是一个开源的免费框架(容器)!Sprng是一个轻量级的、非入侵式的框架 !控制反转(IOC)、面向切面编程(AOP)!支持事务处理,对框架整合的支持!2、使用注解开发和使用xml开发的优缺点1、XML与注解比较XML可以适用任何场景 ,结构清晰,维护方便注解不是自己提供的类使用不了,开发简单方便2、xml与注解整合开发 :推荐最佳实践xml管理Bean原创 2022-05-11 10:12:37 · 6677 阅读 · 1 评论 -
Spring-IOC有参创建对象和无参创建对象的区别
1.如果没有有参构造的话们可以直接用property给变量赋值。2.如果有有参构造的话,不能用property赋值,有三种方法赋值。1.通过下标赋值。 <constructor-arg index="0" value="你好"></constructor-arg>2.通过类型创建。 <constructor-arg type="java.lang.String" value="你好"></constructor-arg> 如果有同种类型,原创 2022-05-11 10:09:03 · 5758 阅读 · 0 评论 -
mybatis在mapper接口和mapper.xml中传递参数的注意事项以及使用
1、关于Param注解关于@Param()注解: 基本类型的参数或者String类型,需要加上 引用类型不需要加 如果只有一个基本类型的话,可以忽略,但是建议大家都加上! 我们在sql中引用的就是我们这里的@Param()中设定的属性名2、传递参数时如何在mapper.xml取值Map传递参数,直接在sql中取出key即可 。对象传递参数,直接在sql中取出对象的属性即可只有一个基本类型参数的情况下,可以直接在sql中取到,通过参数名字.多个参数用Map或者注解 传递单个原创 2022-05-11 10:02:34 · 11858 阅读 · 0 评论 -
Mybatis提取公共sql片段和动态sql
1、提取公共sql片段1、概念:将一些动态sql语句提取出来,封装,实现代码复用。2、使用sql标签抽取公共部分。<sql id="if-title-author"> <if test="title != null"> and title = #{title} </if> <if test="author != null"> and author = #{a原创 2022-05-11 09:47:49 · 9341 阅读 · 0 评论 -
lombok和mybatis缓存
1、lombok的使用步骤1.安装lombok插件2.导入lombok的jar包。3.在pojo类上写:@Data,即可省略Getter和Setter和有参构造和toString. 午无参构造自己写。或者加上其他的lombok的注解也 可以自动添加3、mybatis缓存1、什么是缓存 [ Cache ]?(当然只有读走缓存,写是不走的) 缓存就是存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型原创 2022-05-11 09:42:45 · 5774 阅读 · 0 评论 -
log4j的配置文件代码
log4j的配置文件代码(properties)#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码log4j.rootLogger=DEBUG,console,file#控制台输出的相关设置log4j.appender.console = org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target = System.outlog4j.appender.console原创 2022-05-11 09:36:37 · 5750 阅读 · 0 评论 -
Servlet中的一些笔记(cookie和seiion的区别、请求转发和重定向、request和servletContent)
1、cookie从请求中拿到cookie信息服务器响应给客户端cookie一个Cookie只能保存一个信息;一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;Cookie大小有限制4kb;300个cookie浏览器上限删除Cookie:不设置有效期,关闭浏览器,自动失效,设置有效期时间为 0 ;2、session注销Session,SessionID也会清除,不过又会立刻创建一个新的。注销语句:session.invalidate();在web.xml原创 2022-05-11 09:24:09 · 5534 阅读 · 0 评论 -
JSP中session、request、application、pageContent的区别(作用域和应用场景)
作用域:pageContext.setAttribute(“name1”,”小明1号”); //保存的数据只在一个页面中有效request.setAttribute(“name2”,”小明2号”); //保存的数据只在一次请求中有效,请求转发会携带这个数据session.setAttribute(“name3”,”小明3号”); //保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器application.setAttribute(“name4”,”小明4号”); //保存的数据只在服务器中有效原创 2022-05-11 08:58:46 · 5931 阅读 · 0 评论 -
JSP中的JSTL表达式
首先要在jsp中引入jstp的标准头,我这里只引用c表达式的:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 常用表达式:1.<c:if<form action="jstl1.jsp" method="get"> <%-- El表达式获取表单中的数据 ${param.参数名} --%>原创 2022-05-11 08:55:13 · 5878 阅读 · 0 评论 -
JSP指令
1.引入头文件<%@page import="java.util.*" %>(注:page一般写在最前面)2.自定义错误页面<%@page errorPage="error/500.jsp" %>不管是什么错误都去访问500.jsp页面。当然想精确错误访问页面的话,可以在web.xml里面定义.<error-page> <error-code>500</error-code> <location>/er原创 2022-05-10 11:40:10 · 5859 阅读 · 0 评论 -
JSP基础语法
<%--JSP表达式 作用:用来将程序的输出,输出到客户端 <%= 变量或者表达式 %> --%> <%= new java.util.Date()%><%--Jsp脚本片段--%> <% int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } o...原创 2022-05-10 11:37:59 · 5572 阅读 · 0 评论 -
JSP的基本概念和基本介绍
1、浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!2、JSP最终也会被转换成为一个Java类!3、JSP 本质上就是一个Servlet4、只要是 JAVA代码就会原封不动的输出;5、如果是HTML代码,就会被转换为: out.write(“\r\n”); 这样的格式,输出到前端! 唧唧复唧唧,木兰当户织。不闻机杼声,唯闻女叹息。问女何所思,问女何所忆。女亦无所思,女亦无所忆。昨夜见军帖,可汗大点兵,军书十二卷,卷卷有爷名。阿爷无大儿,木兰无长兄,愿为市鞍马,原创 2022-05-10 11:36:19 · 5618 阅读 · 0 评论 -
JavaWeb(Servlet)中实现监听器
1.实现listener接口(当然有很多类型):package com.tang.listener;import javax.servlet.ServletContext;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class javaListener implements HttpSessionListener { @Override原创 2022-05-10 11:33:28 · 5799 阅读 · 0 评论 -
Javaweb(servlet)中实现过滤器Filter
1.要实现Filter(javax.servlet)接口,和servlet写法差不多。2.实现三个方法,init和destory会报错,就把报错的那行删掉。代码如下:import javax.servlet.*;import java.io.IOException;public class javaFilter implements Filter { //初始化:web服务器启动,就已经初始化了,随时等待过滤对象出现 @Override public void init原创 2022-05-10 11:30:30 · 5888 阅读 · 0 评论 -
使用JDBC操作数据库的六部曲
emsp;要使用JDBC操作Mysql首先要导入JDBC_Mysql的驱动,maven导入如下:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </depen原创 2022-05-10 11:26:19 · 5921 阅读 · 0 评论 -
JavaWeb项目搭建准备工作
1.搭建一个maven web 项目2.配置Tomcat3.测试项目是否能够跑起来4.导入项目中遇到的jar包;jsp,servler,jstl,stand,mysql驱动5.创建项目包结构。6.编写实体类ORM映射:表-类映射7.编写基础公共类数据库配置文件编写数据库的公共类编写字符编码过滤器8.导入静态资源 唧唧复唧唧,木兰当户织。不闻机杼声,唯闻女叹息。问女何所思,问女何所忆。女亦无所思,女亦无所忆。昨夜见军帖,可汗大点兵,军书十二卷,卷卷有爷名。阿爷无大儿,原创 2022-05-10 11:21:43 · 5686 阅读 · 0 评论 -
分页到底前端实现好还是后端实现好
分页常用的几种实现方式如下: 1、将数据全部一次性查出来,然后通过后端进行分页再把数据送到前端,因为是一次性把数据全部查询出来,如果数据量比较大的话,效率会很低。不建议使用。 2、将数据全部一次性查出来,然后把全部数据送到前端,通过前端进行分页,这个方式虽然说分页的任务交给了前端来做,但是后端的数据查询压力还是很大,所以不推介使用。 3、通过数据库自带的limit语句进行分页,前端只需传递每一页数据数量,以及当前页是第几页即可,这样做每次前端点击分页的按钮,传回每一页数量和页码之后,后端都会原创 2022-05-10 11:12:54 · 11478 阅读 · 0 评论 -
JavaWeb中什么时候用${}和#{}
JavaWeb中什么时候用${}和#{}前端的Button标签一定要表明type前端返回的数据在controller中接受的名字约束和条件原创 2022-05-09 21:35:27 · 7112 阅读 · 0 评论 -
JavaWeb中最新版web.xml代码
JavaWeb中最新版web.xml代码原创 2022-05-09 21:11:15 · 5957 阅读 · 0 评论