自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 C++ map常用函数

初始化:map<char, int> a = {{'a', 1}, {'c', 2}};增:a.insert(pair<char, int>('d', 5));删:a.erase('d');改:a['c'] = 10;查:// 返回迭代器指向当前查找元素的位置否则返回end()位置auto iter = a.find('a');// map中存在key值‘a’则返回1,否则返回0a.count('a');// 返回map元素个数a.size()

2022-03-04 23:02:37 873

原创 springmvc中配置了前端控制器时,静态资源访问不到的问题

如果springmvc工程的web.xml中配置了前端控制器,其路径为’/’ 如下 <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>那么,有可能在你访问工程中的静态资源时,会访问失败。原因是:如果你访问的地址在web.xml中没有做单

2021-06-27 19:15:38 513

原创 springMVC获取请求参数

服务器获取请求参数的类型有以下四种:1、基本类型2、POJO(没有业务逻辑的简单对象)类型3、数组类型4、集合类型一、基本类型业务方法的参数名与请求参数的name一致,参数值会自动匹配。业务方法如下: @RequestMapping("/testControll9") @ResponseBody /* 告诉springmvc函数要返回的是一个普通数据,而非要跳转的页面名,这里无返回值, 即不做处理,如果不添加该注解,服务器会找不到要返回的页面 */ public v

2021-06-07 22:15:31 142

原创 springmvc数据响应

前置准备工作:1、写对应跳转视图controllTest.jsp这里注意添加isELIgnored=“false”,其意义为是否忽略代码中的表达式(默认值true,忽略)如:${username},如果值true,最终网页上会直接显示字符“${username}”,如果值false,这里的username会根据业务处理函数中的模型设置的实际值进行显示。<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnore

2021-04-19 21:59:52 248

原创 springMVC开发流程

1、导入springmvc坐标2、配置springmvc核心控制器DispatcherServlet3、创建Controller类和视图页面4、配置Controller类中业务方法映射地址5、配置springmvc核心配置文件spring-mvc.xml6、测试一、导入springmvc坐标参见上篇“spring集成web环境”中的第一节2、配置springmvc核心控制器DispatcherServlet在web.xml中配置,DispatcherServlet负责分发请求<!-

2021-04-17 17:35:46 361

原创 spring集成web环境

1、maven工程导入依赖除了导入常规依赖外,web项目还需要导入如下依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.5</version> </dependency> <dependen

2021-04-05 18:50:01 262 1

原创 org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败

启动tomcat10.0.2时遇到如下错误Connected to server[2021-04-05 05:24:00,038] Artifact springWeb:war exploded: Artifact is being deployed, please wait…05-Apr-2021 17:24:02.208 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个

2021-04-05 18:02:53 15447 3

原创 Spring声明式事务控制

一、基于xml的声明式事务控制1、

2021-04-04 11:18:41 78

原创 JdbcTemplate基于XML的连接池获取

1、创建c3p0.properties连接池配置文件用于配置连接池属性driverClassName = com.mysql.cj.jdbc.DriverjdbcUrl=jdbc:mysql://localhost:3306/syx1user=rootpassword=123456initialSize = 5maxActive = 10maxWait = 30002、创建名为applicationContext.xml的spring配置文件加载c3p0.properties连接池配置

2021-03-28 22:37:24 161

原创 AOP基于XML配置详解

1、切点表达式写法execution([修饰符] 返回值类型 包名.类名.方法名(参数))访问修饰符可以省略返回值类型、包名、方法名可以使用星号(*)代表任意包名与类名之间一个点.代表当前包下的类,两个点..表示当前包及其子包下的类参数列表可以使用两个点..表示任意参数个数及类型的参数示例:execution(* *..*.*(..)) 表示任意返回值类型的任意包及其子包下的任意类的任意参数的任意方法2、(通知/增强)的类型<aop:通知类型 method="切面类中的方法名" po

2021-03-27 13:12:07 2277 2

原创 spring-AOP简介

aop:(Aspect Oriented Programming)面向切面编程aop底层实现:基于jdk的动态代理和cglib的动态代理,aop根据目标对象是否有接口自动选择是否使用jdk代理aop的几个概念:    pointcut(切入点):被增强的方法(被代理的目标对象的方法)    advice(通知/增强):封装增强业务逻辑的方法    aspect(切面):切点+通知    weaving(织入):将切点与通知结合的过程...

2021-03-24 21:16:15 72

原创 反射的使用

反射简而言之就是通过class对象,获取对象的各种信息,可以在运行时动态地创建对象并调用其属性反射获取Class的方法对于包com.syx.service下的Hello类有三种途径获取其类Hello antimal = new Hello();1、Hello.class2、animal.getClass()3、Class.forName(“com.syx.service.Hello”)使用演示如下:反射机制的使用示例1、new一个接口实现类对象2、使用Method method = XX

2021-03-18 22:10:11 103 1

原创 静态代理与动态代理比较

静态代理:需自己创建代理源码,且代理目标对象是固定的动态代理:使用反射机制,在程序运行时,创建代理类对象,代理的目标对象是可变的。

2021-03-17 22:24:08 117 1

原创 Spring集成Junit

Spring集成Junit步骤1、导入spring集成Junit坐标2、使用@Runwith注解替换原来的运行期3、使用@ContextConfiguration指定配置文件或配置类4、使用@Autowired注入要测试的对象5、创建测试方法1、导入spring集成Junit坐标需要在工程pom中导入三个坐标:Junit坐标,Spring坐标,Spring-Junit坐标 <dependencies> <!--Junit坐标--> &l

2021-03-16 22:47:20 396

原创 Spring加载配置文件api和getBean介绍

1、ClassPathXmlApplicationContext此接口从类的根路径下加载配置文件,比较常用ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");2、FileSystemXmlApplicationContext此方法根据配置文件绝对路径去加载ApplicationContext app = new FileSystemXmlApplicationContext("

2021-03-14 16:26:01 250

原创 spring依赖注入使用方法和注解的使用

依赖注入1、使用set方法注入如下图中UseService文件依赖Userdao对象,可以通过setUserDao11函数设置注入配置文件使用property标签配置注入内容注意:配置文件中name参数的值取至set方法后跟的内容同时首字母小写例如:set方法名是setUserDao111,那么name的值就是userDao111。2、使用有参构造函数注入有参构造函数注入使用constructor-arg标签name是要注入的构造函数的参数名如果注入的内容是引用类型,就使用‘ref

2021-03-14 16:00:35 386 2

原创 spring配置文件参数学习

1、scope参数singleton: scope默认参数,程序加载配置文件时(即执行ClassPathXmlApplicationContext())会创建 bean对象,且仅创建一个。prototype 程序执行getBean()时创建对象,每执行一次getBean,都会创建一个bean对象...

2021-03-13 14:46:37 118

原创 Spring入门开发步骤

使用Spring通过配置文件获取接口,实现解耦,开发流程图不使用Spring,源码存在比较大的耦合性,开发流程图Spring开发流程详解:1、工程导入Spring <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <versi

2021-03-13 12:20:51 117

原创 idea启动时打印CATALINA_BASE与设置的系统环境变量不一致问题

问题如下:设置的系统变量CATALINA_BASE是F:\Apache\Tomcat10但是使用idea启动tomcat时显示的CATALINA_BASE是其他值,如下:这是idea针对当前工程创建的tomcat工作目录,如果不想使用此目录,可以自定义tomacat工作目录,方法如下:1、点击Edit Configurations…2、按照如下步骤添加此工程的环境变量CATALINA_BASE为你需要设置的工作目录即可,依次点击apply->OK就完成设置了3、重新启动tomcat,

2021-03-09 22:34:00 3530 1

原创 maven下载配置安装

1、maven下载maven下载地址https://maven.apache.org/download.cgi2、maven安装将下载的zip文件解压缩至需要安装的目录,本文以 F:\Apache 为例然后配置环境变量MAVEN_HOME F:\Apache\apache-maven-3.6.3将%MAVEN_HOME%\bin 配置到path中打开cmd,执行mvn -v 返回如下图所示即为配置成功3、配置maven的config配置文件修改maven仓库的下载路径以及下载

2021-03-07 22:59:52 89

原创 JdbcTemplate使用

JdbcTemplate是Spring框架提供的用于简化JDBC开发的一个类JdbcTemplate使用步骤1、导入对应spring-jdbc jar包到工程jar包下载地址 https://jar-download.com/artifacts/org.springframework/spring-jdbc2、创建JdbcTemplate对象,需要给JdbcTemplate传入DataSource参数,即数据库连接池对象。JdbcTemplate template = new JdbcTempl

2021-03-07 18:36:31 502 1

原创 C3P0和Druid使用

一、C3P0C3P0工具包下载地址: https://sourceforge.net/projects/c3p0/files/latest/download?source=files以下载的c3p0-0.9.5.5.bin.zip为例1、工程导入C3P0 jar包 解压后将压缩包中c3p0-0.9.5.5.bin\c3p0-0.9.5.5\lib目录下的两个jar包添加到工程 c3p0-0.9.5.5.jar mchange-commons-java-0.2.19.jar2、定义配置文件

2021-03-06 21:40:09 199 3

原创 JDBC常用接口简易介绍

一、Connection:数据库连接对象1、获取执行sql的对象 Statement createStatement() PrepareStatement prepareStatement(String sql)2、事务管理 // 开启事务 void setAutoCommit(boolean autoCommit) // 提交事务 void commit() // 回滚事务 void rollback()二、Statement:执行sql的对象1、boolean execut

2021-03-06 09:32:29 166 1

原创 第一个JDBC程序

第一个JDBC程序编译执行该程序前需要准备好一个数据库(数据库的安装创建此处不再赘述,网上有很多教程)我自己安装的是mysql数据库,并创建了名为syx1的数据库,其中包含表student,表中有如下数据。package cn.itcast.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.Statement;public class JdbcDemo { public st

2021-03-06 09:00:05 73

转载 cscope使用

ubuntu下:cscope下载安装命令sudo apt-get install cscopecscope使用:1、在当前源文件目录下执行cscope –Rbq生成用于查询的数据库。其中-R :递归处理子层目录-b :生成数据库后自动退出-q :生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度2、使用vim打开源文件,增加cscope数据...

2018-11-29 20:44:50 210

转载 linux 调试入门

1.自定义输出&nbsp; 想必大家都有利用输出函数如printf来帮助我们调试程序的经历,这是一种比较原始的程序调试辅助方法,在Linux下也可以为我们所用。不过这种方法有一个明显的缺点,就是在调试完后我们必须注释或删除掉这些辅助代码。Linux C提供了-DDEBUG这个编译标记来定义DEBUG这个符号,借助于该符号,我们可以在应用程序中添加额外代码并根据需要决定执行与否。&nbsp; 如:&...

2018-11-28 21:33:40 108

转载 进程间通信的方式——信号、管道、消息队列、共享内存

&amp;lt;div class=&quot;forFlow&quot;&amp;gt; 进程间通信的方式——信号、管道、消息队列、共享内存 多进程:首先,先来讲一下fork之后,发生了什么事情。由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子...

2018-10-09 10:30:36 99

原创 gdb调试常用命令

1.gdb安装首先检查一下电脑中是否已经安装gdb:gdb --version如果已经安装gdb会显示gdb版本号。如果没有,ubuntu安装gdb命令:sudo apt-get install gdb。2.gcc\g++编译基础当需要使用gdb调试代码时,需要在gcc\g++编译选项中添加-g选项,如:gcc -g test.c -o testgdb+程序名,进入gdb调试:g...

2018-09-26 18:00:44 771

转载 Makefile

&nbsp;Makefile值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。&nbsp; &nbsp; &nbsp; 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为...

2018-09-25 10:14:13 332

转载 linux 5种IO模型

&amp;lt;div class=&quot;article-copyright&quot;&amp;gt; 版权声明:本文为博主原创文章,若转载,请注明出处,谢谢! https://blog.csdn.net/baiye_xing/article/details/74331041 &amp;lt;/div&amp;gt; &amp;lt;div class=&qu

2018-09-18 11:02:32 139

转载 五大内存分区

&amp;nbsp; &amp;nbsp; &amp;nbsp; 在c/c++中,内存分成五个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。&amp;nbsp; &amp;nbsp; &amp;nbsp; 堆,就是那些由new分配的内存块,它们的释放编译器不管,由我们的应用程序控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。&amp;nbsp; &amp;nbs

2018-09-17 17:05:56 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除