JavaWeb
文章平均质量分 70
lesileqin
桃花影落飞神剑,碧海潮声按玉箫
展开
-
SpringBoot Restful风格 CRUD练习
文章目录一、效果展示二、目录结构三、主要代码完整代码地址:https://github.com/lesileqin/Study-Notes-of-JavaWeb/tree/master/SpringBoot/springboot-03-web一、效果展示登录页员工列表列修改或添加页:二、目录结构三、主要代码LoginController:package com.wzq.controller;import org.springframework.stereotype.Contr原创 2021-02-13 15:54:52 · 239 阅读 · 0 评论 -
Spring Boot webjars与静态资源映射规则
文章目录一、webjars二、"/**" 访问当前项目的任何资源三、欢迎页使用Sping Boot创建web应用时,避免不了要去找一些静态资源,所以静态资源放在哪儿,该怎么请求就是个问题了,Spring Boot帮我们做了这么几件事情:一、webjarswebjars就是以jar包的方式引入静态资源所有的/webjars/**,都去classpath:META-INF/resources/webjars/找资源有个网站是:https://www.webjars.org/,在这里可以下载静态资源的原创 2021-02-12 11:40:57 · 337 阅读 · 0 评论 -
Spring Boot yaml语法
文章目录一、实体类准备二、编写yaml三、测试一、实体类准备在此之前,应该先创建一个Spring Boot程序,点这些字可以学习如何创建在com.wzq包下新建一个实体类pojo包,然后创建两个实体类,为了展示yaml的语法,这两个类包含几乎所有数据类型,一人一狗:狗类:package com.wzq.pojo;import org.springframework.stereotype.Component;//指定为组件@Componentpublic class Dog {原创 2021-02-12 00:16:47 · 145 阅读 · 1 评论 -
idea设置默认maven
点击File --> Other Settings --> Settings for New Projects...Build,Execution,Deployment --> Build Tools --> Maven设置完成之后,点击OK即可原创 2021-02-11 23:20:06 · 212 阅读 · 0 评论 -
除夕夜 | 第一个Spring Boot程序
文章目录一、从官网下载二、使用idea创建一、从官网下载百度搜索Spring:进入官网之后,鼠标移到Project,然后点击Spring Boot:上图是点击去的界面,朝下滑,滑倒最底下,有个:Spring Initializr:点进去:然后添加依赖:最后点击即可下载压缩包,然后解压缩:这就是一个什么都没有Spring Boot程序,随后可以导入到idea写代码二、使用idea创建每次都从官网下载太麻烦了,好在idea集成了Spring Boot,可以直接从idea创原创 2021-02-11 22:41:13 · 141 阅读 · 1 评论 -
Spring Boot 与微服务简介
`@[toc]一、Spring Boot简介Spring Boot是Pivotal团队提供的全新框架,其目的是为了简化Spring应用的初始搭建和开发过程的,该框架使用了特定的方式(约定大于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。以前做Java Web应用,开发一个Web应用,从部署Tomcat服务器到Servlet,最后跑出一个Hello World程序,要经历超级超级多的步骤,后来出现了Spring框架,然后是Spring MVC,接着又有了Spring Boot,Spring原创 2021-02-11 21:38:46 · 2649 阅读 · 5 评论 -
Maven 解决静态资源导出问题
复制到pom.xml即可<!-- 静态资源导出问题 --><build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include>原创 2021-02-09 08:48:29 · 543 阅读 · 1 评论 -
Jackson的使用
文章目录一、基本使用二、json乱码问题解决三、抽取为工具类在开始之前,应该先新建一个maven工程,注入SpringMVC以及Servlet依赖,再使用注解配置一下Controller,可以点击这些字查看详细配置过程!一、基本使用导入Jackson的包:<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency> <gr原创 2021-02-07 10:39:03 · 372 阅读 · 0 评论 -
SpringMVC 解决乱码问题
只需要在web.xml中添加一个SpringMVC内置的过滤器就好啦<!-- 解决乱码问题 --><filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> &原创 2021-02-07 09:20:13 · 146 阅读 · 0 评论 -
SpringMVC 接收请求参数
文章目录一、接收请求参数1、提交的域名称和处理方法的参数名一致2、提交的域名称和处理方法的参数名不一致3、提交的是一个对象在开始之前,应该先新建一个maven工程,注入SpringMVC以及Servlet依赖,再使用注解配置一下Controller,可以点击这些字查看详细配置过程!一、接收请求参数1、提交的域名称和处理方法的参数名一致首先在前台的index.jsp写一个表单,然后提交一个username:<html><head> <title>$Ti原创 2021-02-07 08:56:21 · 195 阅读 · 0 评论 -
SpringMVC Controller 配置总结
文章目录一、搭建环境1、导入maven依赖2、在maven项目中添加web框架支持3、新建一个页面4、配置Tomcat服务器5、编写web.xml关联SpringMVC-servlet二、使用配置文件【不推荐】1、绑定映射、处理、解析器2、实现Controller接口3、测试三、使用注解【推荐】1、使用默认处理器,添加视图解析器2、写Controller3、测试一、搭建环境1、导入maven依赖使用Spring MVC需要导入servlet、jsp、jstl、spring-webmvc、junit依原创 2021-02-06 09:58:49 · 531 阅读 · 0 评论 -
Spring 整合 MyBatis
文章目录一、准备工作二、一、准备工作首先需要一个表:create database MyBatis_DB;use MyBatis_DB;create table user()( id int primary key auto_increment, name varchar(32) not null, pwd varchar(32) not null);再随便插入几条数据:创建maven工程,打开pom.xml导入相关jar包(junit、mysql、mybatis、aspectj原创 2021-02-03 16:08:39 · 148 阅读 · 0 评论 -
Spring 使用注解实现AOP
文章目录一、搭建环境二、用注解实现AOP三、配置xml四、测试一、搭建环境模拟service层,首先创建个UserService接口:package com.wzq.service;public interface UserService { void add(); void delete(); void update(); void query();}UserService接口的实现类:package com.wzq.service;public c原创 2021-02-02 15:03:28 · 328 阅读 · 0 评论 -
Spring 使用自定义类实现AOP
文章目录一、搭建环境二、自定义类三、配置xml文件四、测试一、搭建环境模拟service层,首先创建个UserService接口:package com.wzq.service;public interface UserService { void add(); void delete(); void update(); void query();}UserService接口的实现类:package com.wzq.service;public cla原创 2021-02-02 14:31:09 · 239 阅读 · 0 评论 -
Spring 使用原生API接口实现AOP
文章目录一、搭建环境二、实现原生API接口三、配置xml文件四、测试Spring 中的 AOP 是什么?一、搭建环境模拟service层,首先创建个UserService接口:package com.wzq.service;public interface UserService { void add(); void delete(); void update(); void query();}UserService接口的实现类:package com.原创 2021-02-02 14:16:50 · 446 阅读 · 0 评论 -
Spring 之啥是AOP?
文章目录一、AOP 简介二、AOP 相关术语三、AOP 在 Spring 中的作用一、AOP 简介AOP全称(Aspect Oriented Programming)意味:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护技术。简单点说就是:AOP是用来维护的,它的底层是动态代理模式,在开发中如果想要增加一些功能(比如日志),可以使用AOP在不改变原来业务逻辑代码的同时实现功能的增加。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,也提高了程序的原创 2021-02-02 11:54:59 · 1014 阅读 · 0 评论 -
Spring 使用注解开发
文章目录一、搭建环境二、使用JavaConfig实现配置三、使用注解开发四、测试一、搭建环境环境是:一人一狗狗类:package com.wzq.pojo;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Component;public cl原创 2021-02-02 10:27:13 · 96 阅读 · 0 评论 -
Spring 自动装配 bean
文章目录一、搭建环境二、byName三、byType四、使用注解自动装配1、@Autowired2、@Resource一、搭建环境环境就是:一人一猫一狗,人拥有一只猫和一只狗,狗和猫都会叫!狗类:package com.wzq.pojo;public class Dog { public void shout(){ System.out.println("汪汪汪~"); }}猫类:package com.wzq.pojo;public class C原创 2021-02-01 14:53:03 · 145 阅读 · 0 评论 -
Spring DI 以 Set 方式依赖注入
文章目录一、搭建环境二、使用Set方式注入1、实现依赖注入2、测试一、搭建环境打开IDEA创建不使用骨架的Maven工程,然后打开pim.xml,导入SpringFreamwork与Junit:<dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId>原创 2021-01-30 16:27:37 · 172 阅读 · 1 评论 -
Spring DI构造器注入
文章目录一、搭建环境二、使用构造器注入的三种方式1、通过数组下标创建【不建议使用】2、通过类型创建【不建议使用】3、通过参数名创建【建议使用】一、搭建环境打开IDEA,创建一个不使用骨架的Maven项目,打开pom.xml,导入springFreamwork和Junit依赖:<dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency>原创 2021-01-30 16:16:04 · 205 阅读 · 1 评论 -
Hello Spring
Hello Spring第一个Spring小Demo:第一步:在idea中新建一个Maven项目,打开pom.xml,注入SpringFreamwork与Junit依赖:<dependencies> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <ar原创 2021-01-29 21:04:19 · 215 阅读 · 0 评论 -
Spring 控制反转 Ioc 的理论推导
暂且不看Ioc按照以前开发的套路,先写一个小例子:新建一个项目,创建com.wzq.dao包,写一个UserDao接口:package com.wzq.dao;public interface UserDao { void getUser();}在此包下新建一个默认的实现类,输出一句话package com.wzq.dao;public class UserDaoImpl implements UserDao{ public void getUser() {原创 2021-01-29 20:40:06 · 138 阅读 · 1 评论 -
MyBatis 二级缓存
文章目录一、二级缓存简介二、准备工作1、表2、表对应的实体类3、dao层接口4、接口对应的xml三、二级缓存步骤1、开启全局缓存2、在要使用二级缓存的Mapper中开启四、测试MyBatis 缓存及原理MyBatis 一级缓存MyBatis 二级缓存一、二级缓存简介二级缓存也叫全局缓存,由于一级缓存的作用域太低了,所以就诞生了二级缓存它是基于mapper级别的缓存,一个***mapper.xml文件对应一个二级缓存工作机制:一个会话查询一条数据,这个数据就会被放在当前会话的一级缓存中原创 2021-01-28 19:27:53 · 179 阅读 · 0 评论 -
MyBatis 一级缓存
文章目录一、准备工作1、表2、表对应的实体类3、dao层接口4、接口对应的xml二、测试MyBatis 缓存简介与原理请点我~一、准备工作1、表2、表对应的实体类package com.wzq.pojo;public class User { private int id; private String name; private String pwd; public User() { } public User(int id, Stri原创 2021-01-28 17:59:50 · 179 阅读 · 2 评论 -
MyBatis 缓存简介与原理
文章目录一、缓存简介二、MyBatis 缓存三、MyBatis 缓存原理一、缓存简介什么是缓存?缓存就是存在内存中的临时数据将用户经常查询的数据放在缓存中,用户去查询数据就不需要再次访问数据库或者硬盘,这样就可以起到加速查询的作用,同时也减轻了数据库或硬盘的开销,从而达到提高查询效率,解决高并发的问题什么样的数据能使用缓存?答:用户经常查询且不经常改变的数据二、MyBatis 缓存MyBatis包含了一个非常强大的查询缓存特性,它可以非常方便的定制和配置缓存。MyBatis在系统中默原创 2021-01-28 17:05:22 · 440 阅读 · 1 评论 -
MyBatis 动态SQL
文章目录一、搭建环境二、if三、trim、where、set1、where2、set3、trim四、choose、when、otherwise五、foreach一、搭建环境创建数据库:create database MyBatis_DB;use MyBatis_DB;create table blog( id varchar(50) not null comment '博客id', title varchar(100) not null comm原创 2021-01-27 16:42:50 · 137 阅读 · 0 评论 -
MyBatis 高级结果映射 | 一对多查询
文章目录〇、需求一、搭建环境二、按照结果嵌套查询三、按照查询嵌套处理〇、需求需求:找到指定老师对应的学生一、搭建环境多对一就比如多个学生对应一个老师,多对一是基于多表查询的,首先搭建MySQL环境:CREATE DATABASE MyBatis_DB;USE MyBatis_DB;CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`))原创 2021-01-24 19:42:30 · 210 阅读 · 1 评论 -
MyBatis 高级结果映射 | 多对一查询
文章目录〇、需求一、搭建环境二、按照结果嵌套查询三、按照查询嵌套处理〇、需求需求:查询所有学生信息,以及对应老师的信息一、搭建环境多对一就比如多个学生对应一个老师,多对一是基于多表查询的,首先搭建MySQL环境:CREATE DATABASE MyBatis_DB;USE MyBatis_DB;CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (原创 2021-01-24 19:33:45 · 131 阅读 · 0 评论 -
MyBatis Limit 与 RowBounds 实现分页
文章目录〇、准备工作一、Limit 实现分页二、RowBounds 实现分页 | 不推荐使用〇、准备工作数据库:create database MyBatis_DB;use MyBatis_DB;create table user( id int primary key auto_increment, name varchar(32) not null, pwd varchar(32) not null);然后随随便便插入几条数据接下来创建一个Maven项目,注入MySql、My原创 2021-01-23 16:05:07 · 1109 阅读 · 7 评论 -
MyBatis 日志 | STDOUT_LOGGING | LOG4J
文章目录1、STDOUT_LOGGING2、LOG4J1、STDOUT_LOGGINGSTDOUT_LOGGING是标准日志输出,他写在mybatis-config.xml文件的<settings>标签内: <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings>他不需要再注入其他依赖,直接就能跑起来,现在写一个测试类,看一下他的输出原创 2021-01-22 22:37:23 · 4169 阅读 · 0 评论 -
MyBatis 中的配置文件详解
文章目录一、配置总览二、各个配置作用1、properties 属性2、settings 设置3、typeAliases 类型别名4、typeHandlers 类型处理器5、objectFactory 对象工厂6、plugins 插件7、environments 环境配置8、mappers 映射器一、配置总览MyBatis的配置会影响MyBatis行为的设置和属性信息,下图是配置文件中的各个属性:需要注意的是,在mybatis-config.xml中,这些属性必须按照上面的顺序编写!二、各个配置作原创 2021-01-22 16:34:15 · 279 阅读 · 0 评论 -
MyBatis 练习:实现CRUD操作
文章目录一、需求二、分析三、实现步骤1、在idea中创建项目过程2、编写实体类3、编写 MyBatis 工具类4、实现CRUD操作1)查询所有用户2)根据ID查询用户3)插入、修改、删除用户一、需求使用MyBatis实现在MySql数据库中的CRUD操作,使用Junit测试并在控制台输出操作结果二、分析技术选型:MySql+Java+Maven+Mybatis+Junit三、实现步骤1、在idea中创建项目过程打开mysql数据库,新建一个数据库,并添加一个表,增加两条数据:-- 如果不存原创 2021-01-22 14:08:24 · 668 阅读 · 0 评论 -
MyBatis 简介
文章目录一、MyBatis 简介二、什么是持久层三、如何获得 MyBatis1、Maven2、GitHub一、MyBatis 简介下面这种带”愤怒的小鸟“的图片就是MyBatis的LOGO:那什么是MyBatis呢?答:它是一款优秀的持久层框架它支持定制化sql、存储过程以及高级映射MyBatis几乎避免了几乎所有的JDBC代码和手动设置参数以及获取结果集MyBatis可以使用简单的XML或注解来配置和映射原生类型,接口和Java的JavaBean为数据库中的记录它具有以下的优点:原创 2021-01-19 21:57:08 · 273 阅读 · 0 评论 -
图解 Maven 安装与配置
文章目录一、下载二、配置环境变量三、配置阿里云镜像四、本地仓库一、下载Maven的下载是很简单的,直接到百度搜索Maven,进入Maven官网,如下图红色框子所示:点击进入官网或者直接点我,点击左侧的Downland:然后点击如下图所示的apache-maven-3.6.3-bin.zip,这是下载maven压缩包的下载完成之后,解压到D盘(路径必须全英文!),此时文件目录应该是这样子的:至此,Maven已经安装好了!二、配置环境变量现在配置环境变量,和配置Java的环境一样,首先原创 2021-01-18 19:53:04 · 936 阅读 · 5 评论 -
JavaWeb CRUD操作练习
文章目录〇、效果展示一、需求二、分析1、技术选型2、数据库设计3、查询所有用户信息4、添加用户5、删除与批量删除6、修改用户7、分页查询8、分页条件查询三、代码〇、效果展示 JavaWeb CRUD操作练习 一、需求练习CRUD操作,包括:添加、删除、批量删除、修改、查询、分页查询、分页条件查询二、分析1、技术选型Servlet+JSP+MySQL+JDBCTemplate+原创 2021-01-18 15:10:17 · 595 阅读 · 2 评论 -
Cookie 与 Session 综合练习
文章目录一、需求二、分析三、成品展示四、项目结构五、代码一、需求需求:访问带有验证码的登陆页面的login.jsp用户输入用户名,密码以及验证码如果用户名和密码输入有误,跳转到登陆页面,提示:用户名或密码错误如果验证码输入有误,跳转登陆页面,提示:验证码错误如果全部输入正确,则跳转到主页success.jsp,显示:用户名,欢迎您;如果是第一次登陆,提示:这是您首次登陆!如果不是第一次登陆,提示:您上次登陆的时间为:时间用户名和密码都从数据库读出二、分析如下图所示:原创 2021-01-16 16:17:09 · 390 阅读 · 5 评论 -
Session 的细节
文章目录一、当客户端关闭后,服务器不关闭,两次获取Session是否为同一个?二、客户端不关闭,服务器关闭后,两次获取的Session是同一个吗?三、Session什么时候被销毁?一、当客户端关闭后,服务器不关闭,两次获取Session是否为同一个?答:在默认情况下,不是同一个。如果需要两个Session相同,则可以创建一个Cookie对象,键位JSESSIONID,设置一下最大存活时间,让Cookie持久化保存Session的ID,就可以实现客户端关闭,两次获取Session是同一个了。下面演示一原创 2021-01-15 21:52:42 · 256 阅读 · 1 评论 -
Cookie 的细节
文章目录一、一次可不可以发送多个 cookie二、cookie 在浏览器中保存多长时间三、cookie 能不能存中文四、cookie 获取范围有多大一、一次可不可以发送多个 cookie答:可以!可以创建多个cookie对象,使用response调用多次addCookie方法发送cookie即可二、cookie 在浏览器中保存多长时间三、cookie 能不能存中文四、cookie 获取范围有多大...原创 2021-01-15 16:42:41 · 161 阅读 · 1 评论 -
Cookie 与 Session 的实现原理
文章目录一、会话技术二、Cookie三、Session一、会话技术因为Cookie属于一种会话技术,所以在解释Cookie与Session之前,先来看一下什么是会话技术。会话即说话,今天我在街上碰到了张三,我们两个是很多年没有见的老朋友,所以我们你一句我一句,直到我们两个其中一个走了,那么这一次说话结束。那么会话也是这样的,浏览器和服务器之间可能会产生多次的请求和响应,直到浏览器和服务器一方关闭,这次会话就结束了。这样的过程称为:一次会话那么,如何保存这一次会话中的数据信息,就是一个很大的问题。原创 2021-01-15 15:42:19 · 374 阅读 · 2 评论 -
ServletContext 对象
文章目录一、ServletContext 概述二、功能1、获取 MIME 类型2、域对象:共享数据3、获取文件真实(服务器)路径一、ServletContext 概述ServletContext概念:代表整个web应用,可以和程序的容器(服务器)来通信共有两种获取ServletContext对象的方式:通过request对象获取:request.getServletContext();通过HttpServlet对象获取:this.getServletContext();二、功能1、获取原创 2021-01-13 16:46:38 · 233 阅读 · 1 评论