- 博客(167)
- 资源 (1)
- 收藏
- 关注
原创 mapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.itcast.mapper.UserMapper" > <resultMap id="BaseResultMap" t
2020-11-13 21:20:18
212
原创 关于静态资源引入报错
无论引入js、还是前端框架资源路径,都是以当前目录(当前路径)开始 <!-- 引入本地js文件 --> <script src="js/jquery-3.4.1.min.js" type="text/javascript"></script> <!-- 引入前端框架js和css --> <link rel="stylesheet" href="layui/css/layui.css" media="all"> &.
2020-11-13 17:12:33
674
原创 请求转发和重定向
请求转发;浏览器地址栏不变,数据不丢失request.getRequestDispatcher(“success.html”).forward(request,response);重定向:浏览器地址栏改变,数据丢失response.sendRedirect(“success.html”);
2020-11-08 19:09:55
120
原创 存用户3种方式
方法1 HttpSession session = req.getSession(); session.setAttribute("user", u); 方法2 req.getSession().setAttribute("user",u); 方法3 model.addAttribute("user",u);
2020-11-08 18:51:25
155
原创 热部署快速启动
pom依赖 <!-- 热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>2.1.4.RELEASE</version> <!-- 启用 .
2020-10-30 16:11:44
213
原创 快速搭建springboot项目
创建project结构图application.yml#配置数据源spring: datasource: url: jdbc:mysql://localhost:3306/ssm?serverTimeZone=Shanghai?useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver username: root password: 123456
2020-10-30 15:58:27
127
原创 选择排序
选择排序:每一次从这堆“参与比较的数据中”找出最小值拿着这个最小值和“参与比较的这堆最前面的元素”交换位置选择排序比冒泡排序好在:每一次的交换位置都是有意义的选择排序要比冒泡排序的效率高import java.util.Arrays;/** * 冒泡排序算法 * 原始数据:3,2,7,6,8 * 第一次循环:2,3,7,6,8(2和3比较,大的放右边) * 第二:2,3,6,7,8(3和6比较,大的放右边) * 第三次:2,3,6,7,8(6和7比较,大的放右边) * 第四次:2
2020-10-26 18:22:16
100
原创 冒泡排序
import java.util.Arrays;/** *冒泡排序算法 * 原始数据:3,2,7,6,8 * 第一次循环:2,3,7,6,8(2和3比较,大的放右边) * 第二:2,3,6,7,8(3和6比较,大的放右边) * 第三次:2,3,6,7,8(6和7比较,大的放右边) * 第四次:2,3,6,7,8(7和8比较,大的放右边) * * */public class test { public static void main(String[] args) { .
2020-10-26 17:59:00
128
原创 Arrays类
java.utils.Arrays是一个工具类其中有一个sort()方法。可以排序。静态方法,直接使用类名调用import java.util.Arrays;public class test { public static void main(String[] args) { int [] a={1,23,54,76,21,13}; //Arrays类中方法大部分是静态的 Arrays.sort(a); //遍历
2020-10-26 17:58:13
92
原创 application.yml
#数据库spring: datasource: url: jdbc:mysql///ssm?serverTimeZone=Shanghai?useUnicode=true&characterEncoding=utf-8 driverClassName: com.mysql.jdbc.Driver username: root password: 123456 thymeleaf: prefix: classpath: /templates
2020-10-26 16:48:04
143
原创 application.properties
#portserver.port=8080#datasourcesspring.datasource.url=jdbc:mysql://localhost:3306/ssm?serverTimeZone=Shanghai?useUnicode=true&characterEncoding=utf-8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-
2020-10-26 16:12:18
94
原创 springmvc代码
返回页面 @RequestMapping("/test") public String test() { //跳转页面 return "test"; }显示页面内容(json字符串数据) @RequestMapping("/test") @ResponseBody public String run() { return "HelloWOrld"; } @RequestMapping("/find")
2020-10-26 15:01:44
120
原创 Thymeleaf教程
1.Thymeleaf是一个Java模板引擎,支持html、xml、text、javascript、css、raw这几种模型。使用Thymeleaf首先需要引入命名空间<html xmlns:th="http://www.thymeleaf.org">基本使用方法引用web静态资源Thymeleaf通过”@{}”来引用web静态资源,例如:<script th:src="@{bootstrap/js/boostrap.min.js}"></script>
2020-10-26 14:42:53
242
原创 获取Class3种方法
获取Class3种方法 1、Class c=Class.forName(“完整类名带包名”);2、Class c=对象.getClass();3、Class c=任何类型.class;import java.util.Date;/** * 要操作一个类的字节码,首先获取这个类的字节码,怎么获取java.lang.Class实例? * 3种方式 */import java.util.Date;/** * 要操作一个类的字节码,首先获取这个类的字节码,怎么获取java.lang.Cl
2020-10-26 00:19:20
476
原创 添加webapp怎么配置
第一步手动添加在main下创建webapp,webapp下创建WEB-INF,WEB-INF下创建web.xml第二步有web可以不需要点击添加web
2020-10-25 22:11:33
1025
原创 对jsp、html的支持
springboot对引擎模板html的支持:ymlspring: thymeleaf: prefix: classpath: /templates # 访问template下的html文件需要配置模板,映射 cache: false # 开发时关闭缓存,不然没法看到实时页面pom依赖 <!-- 引入thymeleaf的依赖包 --> <dependency> <groupId&
2020-10-25 21:32:13
115
原创 反射机制
反射机制作用:1、通过java语言中的反射机制可以操作字节码文件。优点:类似于黑客(可以读和修改字节码文件)通过反射机制可以操作代码片段(class文件)2、反射机制的相关类的在哪个包下?java.lang.reflect.*3、反射机制相关的类有哪些?java.lang.Class:代表字节码文件------>代表整个类java.lang.reflect.Method:代表字节码中的方法字节码------->代表类中的方法java.lang.reflect.Construc
2020-10-24 22:27:59
82
原创 wait和notify概念
wait和notify是Object自带的,不是线程中的方法wait()作用Object o=new Object();o.wait();让该对象上的线程进入等待的状态notify()作用Object o=new Object();o.notify();唤醒该对象上的等待的所有线程
2020-10-24 17:30:09
155
原创 定时器作用
定时器Timer作用间隔特定时候,执行特定的程序。每周要进行银行的账户的总帐操作。每天要进行数据的备份操作。在实际的开发中,每隔多久就执行一段特定的程序。这种需求很常见,那么在java中其实可以采用多种的方式实现:1.可以采用睡眠,sleep(),比较low2.在java类库中已经写好了定时器,java.util.Timer.可以拿来用,用的少,很多高级框架都是支持定时任务的。如:spring框架中提供了SpringTask框架/** * 使用定时器Timer指定定时任务 */publ
2020-10-24 17:00:56
1206
原创 守护线程
java语言中,线程分为:用户线程和守护线程(后台线程)具有代表性是:垃圾回收线程(守护线程)守护线程特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束注意:主线程main方法是一个用户线程守护线程用在什么地方?每天0点系统数据自动备份。这个时候需要定时器,并且我们可以将定时器设置为守护线程。/** * 守护线程 */public class test { public static void main(String[] args) { T
2020-10-24 16:40:38
90
原创 开发中怎么解决线程安全问题
是一上来就选择线程同步机制吗?syncharonized不是,syncharonied会让程序执行效率低,用户体验不好。系统的用户吞吐量降低。用户的体验差,在不得已情况,再选择线程同步机制。第一种方案:尽量使用局部变量,代替实例变量和静态变量。第二种方案:如果必须是实例变量,那么可以考虑创建多个对象,这样实例变量的内存就不共享了(一个线程对应一个对象,100个对象对应100个对象,对象不共享,就没有数据安全问题了)第三种方案:如果不使用局部变量。对象也不能创建多个。这个时候,就只能选择synchar
2020-10-24 16:17:57
218
原创 死锁
/** * 死锁代码一定会写 */public class test { public static void main(String[] args) { Object o1 = new Object(); Object o2 = new Object(); //t1和t22个线程共享o1,o2 Thread t1 = new MyThread1(o1, o2); Thread t2 = new MyThread2
2020-10-24 16:08:41
81
原创 maven项目移植问题
1、Tomcat启动不了发现的原因的是resouces文件夹图标掉了2、maven的jar爆红了maven的路径idea路径不一样
2020-10-23 22:53:38
143
原创 curd
删除接口 int deleteById(int id);xml <!--按条件删除--> <delete id="deleteById" parameterType="Integer" > delete from user where id =#{id} </delete> @RequestMapping("/del") @ResponseBody public int del(Integer id){
2020-10-23 20:04:07
88
原创 ssh详解
SSH框架:1、是Struts2,Spring和Hibernate框架的整合2、Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层。hibernate:是一个全自动orm框架,对jdbc访问数据库代码进行封装。
2020-10-23 17:04:36
142
原创 ssm详解
ssm:实体类bean:java对象表现层:controller对应的是springmvc:实现页面跳转业务层:service:写业务逻辑持久层:dao对应的是mybatis:对数据库的操作curd
2020-10-23 16:49:44
232
原创 xml配置文件
xml配置文件resultType:返回类型:基本数据类型或者实体类parameterType:参数类型resultMap:返回是对象parameterMap:入参类型是map。多个参数#{}:预编译处理,防止sql注入
2020-10-23 15:47:09
137
原创 synchronized面试题
1、doSome方法执行需要等待dother方法执行吗不需要package com;class test { public static void main(String[] args) thorows InterruptedExcption { //创建对象 MyClass mc = new MyClass(); //创建线程对象 MyThread m = new MyThread(mc); MyThread
2020-10-23 13:08:38
379
原创 synchronized3种写法
方法1 //取款的方法 public synchronized void withdraw(double money) { //这几行代码线程排队,不能并发 //取款之前的余额 /** *缺点:效率低,只能是this,不能是其他对象。不灵活 优点:代码少,节俭 */ //这里共享对象是Account------>this double before = this.getBal
2020-10-23 12:27:47
424
原创 哪些变量存在安全问题
哪些变量存在安全问题java3大变量:1、实例变量:堆内存 2、静态变量:在方法区3、局部变量:在栈内存以上3大变量中:局部变量永远都不会存在线程安全问题因为局部变量不共享。(一个线程一个栈)局部变量在栈中。所以局部变量永远都不会共享实例变量在堆中,堆只有一个静态变量在方法区,方法区只有一个堆和方法区都是线程共享的,所以可能存在线程的安全问题。...
2020-10-23 11:58:19
252
原创 常用注解@含义
@ResponseBody:java对象转为json格式的数据。@RequestBody:注解实现接收http请求的json数据,将json数据转换为java对象@RestController:@Controller和@ResponseBody的组合,Restful风格@Param:1、xml里面sql使用了if标签test要加@Param2、在方法里给参数起别名@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作
2020-10-22 22:16:35
388
原创 模拟取款
编写程序模拟2个线程同时对同一个账户进行取款操作package com;/** * 银行账户 * 不使用线程同步机制,多线程对同一个账户进行取款,出现线程安全的问题。 */class Account { //账户 private String actno; //余额 private double balance; public String getActno() { return actno; } public voi
2020-10-22 14:50:40
312
原创 线程安全是重点
线程安全是重点为什么是重点?以后开发中,我们项目是运行在服务器中,而服务器已经将线程的定义,线程的创建,线程启动等,dd偶已经实现了,我们不需要编写。我们关注的是在多线程并发的环境下,是否安全的(重点)多线程并发对同一个账户进行取款...
2020-10-22 11:11:47
188
原创 js点击事件
js点击事件<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="jquery-3.4.1.min.js"></script> <script> function test(){ alert("js事件")
2020-10-22 10:46:27
553
原创 JQuery
jq点击事件<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="jquery-3.4.1.min.js"></script> <script> $(function() { $("#test").click(fu
2020-10-22 10:46:09
181
原创 线程的sleep方法
关于sleep();static void sleep (long millis)1、静态方法:Thread.sleep(1000);2、参数是毫秒3、作用是:让当前的线程进入休眠,进入”阻塞状态“,放弃占用cpu时间片,让其线程使用。这行代码出现A线程中,A线程就会进入休眠这行代码出现B线程中,B线程就会进入休眠。*4、Thread.sleep方法的效果:*间隔特定时间,去执行一段特定的代码,每隔多久去执行一次。package com;/** * 关于sleep(); * s
2020-10-21 20:12:00
1766
原创 实现线程(3种方法)
实现线程1.第一种方式:编写一个类,直接继承java.lang.Thread,重写run方法package com;import java.io.*;public class Test { public static void main(String[] args) throws IOException { //这里是main方法。这里代码是属于主线程,在主栈中运行。 //新建一个分支线程对象 MyThread myThread = ne
2020-10-21 19:14:20
444
javascript.html实现表单验证
2020-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人