- 博客(68)
- 资源 (21)
- 收藏
- 关注
原创 SpringMVC专题
SpringMVC专题域的使用request域的使用传统方式向request域中写入数据/**向request域写入数据方式一:直接通过request对象写入*/@RequestMapping("/test01.action")public String test01(HttpServletRequest request) {request.setAttribute(“attr1”,System.currentTimeMillis());return “my02test01
2020-09-15 09:30:11
194
原创 SpringMVC细节(下)
SpringMVC细节@RequestMapping的使用基本使用通过注解方式实现路径到处理器方法的映射。可以用在类或方法上。用在方法上表示将该方法变为一个处理器,且和指定路径做映射。用在类上则配置的路径会作为这个类中所有处理器的路径的父路径使用。@RequestMapping("/test01.action")public ModelAndView test01() {ModelAndView mav = new ModelAndView();mav.addObject(“attr1”
2020-09-15 09:29:28
289
原创 SpringMVC细节(上)
SpringMVC细节@RequestMapping基本使用通过注解方式实现路径到处理器方法的映射。可以用在类或方法上。用在方法上表示将该方法变为一个处理器,且和指定路径做映射。用在类上则配置的路径会作为这个类中所有处理器的路径的父路径使用。@RequestMapping("/test01.action")public ModelAndView test01() {ModelAndView mav = new ModelAndView();mav.addObject(“attr1”, “
2020-09-15 09:28:32
249
原创 SpringMVC
SpringMVC概述SpringMVC概述SpringMVC是一个WEB层、控制层框架,主要用来负责与客户端交互,业务逻辑的调用.SpringMVC是Spring家族的一大组件.Spring整合SpringMVC可以做到无缝集成.特点 简单易用性能佳。为了么有了Servlet还要学SpringMVCServlet的开发配置相对麻烦,servlet特别多的时候web.xml文件将会非常臃肿每个Servlet都只能处理一个功能,如果需要多个功能就需要开发多个Servlet,项目中存在大量Serv
2020-09-15 09:26:58
136
原创 Spring整合JDBC
回顾JDBCjava操作关系型数据的API。导入相关数据库的驱动包后可以通过JDBC提供的接口来操作数据库。实现JDBC的六个步骤注册数据库驱动获取数据库连接获取传输器对象传输sql执行获取结果集对象遍历结果集获取信息关闭资源package cn.tedu.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.R
2020-09-10 17:52:33
169
原创 SpringAOP案例
异常信息收集在业务方法执行时,如果有异常抛出,则根据异常信息记录日志package cn.tedu.aspect;import org.apache.log4j.Logger;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.AfterThrowing;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.reflect.Meth
2020-09-10 17:51:54
232
原创 SpringAOP详解
Spring aop中的基本概念连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。在Spring AOP中,一个连接点总是表示一个方法的执行。通俗讲:层于层之间方法的调用过程称之为连接点。切入点(Pointcut):匹配连接点的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行(例如,当执行某个特定名称的方法时)。切入点表达式如何和连接点匹配是AOP的核心:Spring缺省使用AspectJ切入点语法。通俗讲:在连接点的基础上 增
2020-09-10 17:51:17
305
原创 SpringAOP基础 - 代理设计模式
改造过后的EasyMall的问题改造过后的EasyMall成功解决了耦合的问题,但是在很多地方仍然存在非该层应该实现的功能,造成了 无法“高内聚”的现象,同时存在大量存在重复代码,开发效率低下。此时可以通过代理设计模式,将这部分代码提取到代理者中,简化层中的代码。@Servicepublic class UserServiceImpl implements UserService { @Autowired private UserDao userDao; @Ov
2020-09-10 17:50:41
142
原创 利用Spring IOC DI 实现软件分层解耦
软件分层思想回顾在软件领域有MVC软件设计思想,指导着软件开发过程。在javaee开发领域,javaee的经典三层架构MVC设计思想的经典应用。而在软件设计思想中,追求的是"高内聚 低耦合"的目标,利用Spring的IOC 和 DI 可以非常方便的实现这个需求。Spring IOC DI 改造EasyMall在层与层之间设计接口,面向接口编程:计算机生成了可选文字:SpringDem002 E M cn.tedu.em.dao > 国 MySqllJserDaojava 国 UserDao.J
2020-09-10 17:50:01
243
原创 Spring注解方式实现IOC和DI
Spring注解Spring除了默认的使用xml配置文件的方式实现配置之外,也支持使用注解方式实现配置,这种方式效率更高,配置信息清晰,代码在哪对应的配置就在哪,方便开发阶段修改,推荐使用。所谓注解就是给程序看的提示信息,很多时候都用来作为轻量级配置的方式。关于注解的知识点,参看java基础课程中java基础加强部分的内容。Spring注解方式实现IOC导入开发包计算机生成了可选文字:V Referenced Libraries 》 0 》 0 》 0 》 0 》 0 》 0commons-l
2020-09-10 17:49:33
221
原创 注解回顾
注解概念注释:给人看的提示信息,人看了提示信息了解程序的内容java中注释的格式:// // / */注解:sun在jdk5.0开始提供的新特性给程序看的提示信息,程序看后可以根据有无注解及注解上属性的不同配置执行不同的逻辑。java中的注解的格式:@AnnoName(key=value,…)**注解在开发中,可以作为轻量化配置来使用,比起使用xml作为配置文件,更加的轻便易用,在java开发中大量的使用。jdk内置注解@Override声明重写父类方法的注解,要求编译器帮我们检查
2020-09-10 17:47:31
76
原创 Spring DI
IOC(DI) - 控制反转(依赖注入)所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周期的管理,而是在需要时由Spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转。而在 创建对象的过程中Spring可以依据配置对对象的属性进行设置,这个过称之为依赖注入,也即DI。基于set方法注入通常的javabean属性都会私有化,而对外暴露setXxx()getXxx(
2020-09-10 17:45:28
118
原创 Spring IOC
IOC(DI) - 控制反转(依赖注入)所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周期的管理,而是在需要时由Spring框架提供,这个由spring框架管理对象创建和生命周期的机制称之为控制反转。而在 创建对象的过程中Spring可以依据配置对对象的属性进行设置,这个过称之为依赖注入,也即DI。IOC的入门案例创建一个java项目spring并不是非要在javaweb环境下才可以使用,一
2020-09-10 17:43:36
140
原创 Spring框架概述
Spring框架概述Spring是一个Service层的框架,可以整合许多其它框架进行工作。Spring的主要技术是 IOC(DI) AOPIOC(DI) - 控制反转(依赖注入)AOP - 面向切面编程**下载使用Spring提示spring推荐使用maven方式使用spring包,因此虽然官方提供了spring离线包的下载方式,但下载过程较为繁琐。在后续课程学习maven后我们将会使用maven加载Spring相关包,此节仅供参考。打开Spring官网:https://spring.i
2020-09-10 17:42:30
208
原创 码云
使用码云 使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况。 可以使用国内的Git托管服务——码云(gitee.com),和GitHub相比,码云也提供免费的Git仓库。 此外,还集成了代码质量检测、项目演示等功能。对于团队协作开发,码云还提供了项目管理、代码托管、文档管理的服务,5人以下小团队免费。...
2020-09-01 10:58:02
464
原创 定制git
定制Git 1.忽略特定文件 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等等 此时,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/git...
2020-09-01 10:57:32
109
原创 分支管理
分支管理 1.分支概念 可以从当前的开发线中分割出一个新的开发线,从而在不影响原来开发线的过程中,开发并提交代码,等到新的开发线开发完成,可以一次性加入原开发线,即进行分支合并操作。 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。 现在有了分支,就不用怕了。你创建了一个属于你...
2020-09-01 10:56:59
186
原创 远程仓库
六、远程仓库 1.远程仓库概念 为了方便版本的交换,通常会使用一个中心服务器,24小时连续运行,提供版本控制服务 这就有两种做法: 自己搭建中心服务器 使用GitHub仓库托管网站 目前我们更多使用代码托管的方式工作 2.GitHub远程仓库连接 注册GitHub账号 由于git和github的通信需要加密,需要设置SSH 创建SS...
2020-09-01 10:56:17
248
原创 版本管理
五、版本管理 1.提交新文件 注意,所有版本控制系统只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但无法跟踪文件内容的变化,只能查看文件信息变化,如大小、更新时间等。 将需要管理的文件放置到仓库目录下 test.txt Git is a version control system. ...
2020-09-01 10:55:40
207
原创 版本库工作区暂存区分支
三、创建版本库 1.版本库的概念 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 2.创建版本库 在任意位置创建一个文件夹,位置可以任意,但是强烈建议目录路径中不要包含中文。 $cd e: $pwd $mkdir g...
2020-09-01 10:55:07
129
原创 git配置
二、git安装配置 1.下载Git Git最早只支持Linux,目前已经能够支持Linux、Unix、Windows、OS系统之上。 下载地址: https://git-scm.com/ 2.安装Git Linux上安装Git 解压Linux版源码包 依次执行 ./config make ...
2020-09-01 10:54:17
86
原创 git概述
一、git概述 目前最流行的版本控制工具 1.版本控制概念 在代码开发过程中,往往需要对源码进行多次的修改操作,这样一来同一份代码就产生了多个版本,在开发过程中通常需要对这些多个版本代码进行管理,以便于在需要时进行 代码回滚、多版本间比较、多人协作开发、代码分支、分支合并 等操作。 这样的需求大量的存在,而随着软件越来越复杂、代码越来越多、参与开发者越来越多,版本管理也变的越来越有难度,此时就需要专业的软件来对版本进行管理,这个过程就称之为版本控制,实现版本...
2020-09-01 10:53:46
91
原创 数组应用
遍历—依次输出数组元素最值—数组元素的最大值/最小值查找—给定查找数返回在数组中第一次出现下标值二分查找缺点(有序,查找数比较靠前)排序—数组元素进行排列顺序(冒泡,选择)...
2020-08-26 01:07:23
68
原创 java内存
栈:存储变量(暂且),当存储内容使用完毕时立即清除,不会给存储内容赋予系统默认初始值堆:存储对象,当对象不再使用时会等到某个时刻系统来进行回收,会对存储的内容赋予系统默认初始值方法区(面向对象讲)本地方法栈(不讲)寄存器(PC计算器)(不讲)系统默认初始值-(byte、short、int—o)、(char—"u0000’\u代表以山16进行编(double—0.0)、(float—0.0F)(Iong—0L)、码)、(boolean—false)、(引用数据类型—null)i
2020-08-26 01:04:58
96
原创 数组
1概念存储多个相同数据类型元素的容器2.定义格式1.数据类型门数组名-new数据类型|元素个数/数组长度intlarr=newintl3l://给定数组长度数据类型标识符-初始值://定义变量变量可以分为声明和初始化两个过程数组定义也可以分为声明和初始化两个过程数组名存放的是数组地址值可以找到内存数组位置,java会自动给数组元素进行编号(从0开始,下标),根据数组名和下标共同作用唯一确定数组元素-数组名(下标)数指内存地址值2.数据类型数组名-new数据类型(元素值1,元素值2,…
2020-08-26 01:02:05
78
原创 跳转控制语句
break----break在switch语句种出现用于结束语句 在循环中用于结束当前循环continue—在循环中跳过当次循环return(方法讲)/*跳转控制语句break—结束当前循环continue—跳过当次循环标号 名称:循环*/class JavaDemo{public static void main(String[] args) {//打印5行7列星星wc:for(int i=1;i<=5;i++){//外层循环—控制行数nc:for(int j=
2020-08-26 00:56:22
141
原创 流程控制语句(1)
循环结构重要 1.for循环、while循环、dowhile循环计算机生成了可选文字:SeSe控制条下功/faISe其他语句/*for循环(使用循环范围确定)格式for(初始值;判断条件;控制语句){循环体;}执行流程先计算出初始值,拿着初始值和判断条件进行比较,如果比较的结果值是true执行循环体,执行控制语句改变初始值接着和判断条件进行比较如果还是true接着重复上述操作直到比较的结果值是false结束循环语句*/class ForDemo{public stati
2020-08-26 00:53:31
146
原创 控制结构
控制程序执行的语句分类:顺序结构:最基本最常用的结构 从上到下 从左到右分支结构:if判断语句 switch case 选择语句循环结构:while do.while for分支结构if判断语句格式一:if(判断条件){当判断条件为true时要执行的代码块;}判断条件:结果一定要是boolean类型 true false案例:判断num是否大于0,如果大于则输出num格式二: if elseif(判断条件){当判断条件为t...
2020-08-25 11:07:10
244
原创 运算符补充知识点
1、+ 求和字符串拼接符字符串和其他数据类型字符串和基本数据类型拼接当+号左边或者右边有字符串类型时,当前+就是字符串拼接功能注意:区分+到底是求和的功能还是拼接的功能2、Scanner--获取用户键盘输入的数据 Scanner类--面向对象要求:掌握如何使用Scanner;步骤:1、导包import java.util.Scanner;import关键字--导包位置:类定义的上边2、创建Scanner对象--面向对象 sc对象名...
2020-08-25 11:06:39
133
原创 Java运算符
概述:Java中内置的表示特定运算规则的符号分类:算术运算符赋值运算符关系运算符逻辑运算符三目运算符位运算符--实际开发中用的不多,了解即可算术运算符+ - * / %++ --+(求和) -(求差) *(求积)/(求商)注意:1、结果的数据类型两个元素的数据类型一致,结果的数据类型和元素的保持一致;两个元素的数据类型不一致,结果的数据类型和其中大的类型保持一致;其中byte short char类型参与运算时会自动提...
2020-08-25 11:05:50
146
原创 小结
1、数据类型基本数据类型引用数据类型:数组 类 接口等2、八大基本数据类型四类八种整型:byte short int long浮点型:float double字符型:char布尔型:booleanbyte类型的范围:-128~1273、数据类型转换自动数据类型byte->short->int->long->float->doublechar->int->long->float->double强制数据
2020-08-25 11:03:56
77
原创 Java运算符
概述:Java中内置的表示特定运算规则的符号分类:算术运算符赋值运算符关系运算符逻辑运算符三目运算符位运算符--实际开发中用的不多,了解即可算术运算符+ - * / %++ --+(求和) -(求差) *(求积)/(求商)注意:1、结果的数据类型两个元素的数据类型一致,结果的数据类型和元素的保持一致;两个元素的数据类型不一致,结果的数据类型和其中大的类型保持一致;其中byte short char类型参与运算时会自动提...
2020-08-25 11:03:26
123
原创 Java内存
内存:当程序关闭或者计算机重启之后数据会丢失;内存效率高硬盘:无论重启计算机等只要存储数据的硬盘没有损坏 数据依然存在数据安全性执行Java程序:程序运行起来实际是在内存中作为运算从内存的角度来说,可以将变量称为存储数据的最小的容器;当程序开始运行,会分配相应的内存空间用于执行程序,当程序执行完成,所占用的内存空间会立马释放;...
2020-08-25 11:02:49
182
原创 数据类型的转换问题
自动数据类型转换数值型:从小到大整型:byte->short ->int -> long浮点型:float-->doublefloat自动转为double类型可能存在精度损失整型->浮点型直接在整数后边补个.0可能存在精度损失问题byte->short->int->long--->float--->double字符型:char->int->long->float->doublech
2020-08-25 11:02:18
425
原创 java数据类型
基本数据类型引用(复杂)数据类型:数组 类 接口等基本数据类型(八大基本数据类型)四类八种整型(4种)根据占用的字节数不同分为四种byte 字节型 1字节 -128~127或 -2^7~2^7-1short 短整型 2字节 -2^15~2^15-1 -32768~32767int 整 型 4字节 -2^31~...
2020-08-25 11:01:44
111
原创 引用
概述:可以通过一个名字来指向一个具体的数据值格式:数据类型 引用名 = 初始化值;例如:整型数字–intint x = 12;分类:变量:引用可以发生变化的量格式:数据类型 变量名 = 初始化值;格式二:先声明再赋值数据类型 变量名; //声明一个变量变量名 = 初始化值;//给变量赋值注意:1、变量如果只声明没有初始化则该变量能使用2、同一作用域中变量名不能重复3、变量先定义再使用常量引用不可以发生变化的量格式:fin
2020-08-25 10:53:06
114
原创 字面值(直接量)
概述:在程序可以直接使用的数据值分类:数值型字面值整数100 +88 -66直接写的整数默认为十进制二进制 0b10八进制 010十六进制 0x10浮点数3.14 +0.05 -2.22字符型字面值使用一对单引号引起来一个字符‘a’注意:单引号中不能有多个字符也不能为空字符转义字符:格式:\字符‘’’->’‘\’->\‘\t’ 制表符 缩进对齐‘\r’ 回车 ‘\n’ 换行补充:System.out.println(“
2020-08-24 00:27:20
172
原创 计算机中数据的表现形式
计算机中存储数据和计算数据都是基于二进制来做的;目前计算机中字符文件、图片、音频、视频等这些数据,最终都要转成二进制存储在计算机上;码表:存储字符和对应的数字的映射关系ASCII码表/ISO8859-1码表: 一个字符占用一个字节A-65 a-97GB2312码表:国标 一个字符占用两个字节兼容ASCII码表新增常用的中文汉字GBK码表:一个字符占用两个字节兼容GB2312码表新增更多的中文汉字Unicode编码规则:涵盖了世界范围内所有国家常用的字符只是规定了字符和数字之间
2020-08-24 00:26:48
4691
原创 进制
概念:计数时进位的机制十进制满十进一0-9 10 11 12 … 19 20 ….二进制满二进一0 110(2) 11 (3) 100 (4) 101(5) 110(6)八进制满八进一0-710(8) 11(9) 12(10) ….十六进制满十六进一0-9 a-f(A-F)a(10) b(11) … f(15) 10(16) 11 (17) 12(18) …进制转换:二进制<->十进制十进制->二进制
2020-08-24 00:25:57
308
由sun公司提供的动态web资源开发技术
2020-08-17
Session.docx
2020-08-16
Session.docx
2020-08-16
Session.docx
2020-08-16
EasyMall.docx
2020-08-15
EasyMall.docx
2020-08-15
Easymall.docx
2020-08-12
Servlet.docx
2020-08-12
Tomcat.docx
2020-08-11
Tomcat.docx
2020-08-11
数据库驱动:数据库厂商提供的用来操作数据库的jar包
2020-08-10
数据库驱动:数据库厂商提供的用来操作数据库的jar包
2020-08-10
MySQL.docx
2020-08-08
MySQL.docx
2020-08-07
MySQL中.docx
2020-08-07
MySQL上.docx
2020-08-07
jQuery.docx
2020-08-06
JavaScript(上).docx
2020-08-03
CSS基础知识总结-新手入门篇
2020-08-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人