- 博客(48)
- 收藏
- 关注
原创 SSM常用pom.xml文件
支付宝-ssm(dbcp)-json-lombok等<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2021-03-28 12:14:52
389
1
原创 java项目构建系统:maven
为什么要使用 Maven?它能帮助我们解决什么问题?①添加第三方 jar 包在今天的 JavaEE 开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些 jar 包最简单的方法就是复制粘贴到 WEB-INF/lib 目录下。但是这会导致每次创建一个新的工程就需要将 jar 包重复复 到 lib 目录下,从而造成工作区中存在大量重复的文件,让我们的工程显得很臃肿。而使用 Maven 后每个 jar 包本身只在本地仓库中保存一份,需要 jar 包的工程只需要以坐标的方式②jar 包之间的依赖关系.
2021-03-28 11:52:24
719
原创 SpringMVC
Spring 包结构Spring Web MVC 框架Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活、松散耦合的 web 应用程序的组件。MVC 模式导致了应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)的分离,同时提供了在这些元素之间的松散耦合。1)模型封装了应用程序数据,并且通常它们由 POJO 组成2)视图主要用于呈现模型数据,并且通常它生成客户端的浏览器可以解释的 HTML 输出。3)控制器主要用于处理用户请求,并且构建合适的模型并..
2021-03-28 11:38:04
234
原创 Mybatis框架
第一章:Mybatis入门1、前身背景前身是iBatis,是轻量级的数据持久化框架,为Apache的一个开源项目。2010年迁移到了Google Code,改名为MyBatis.2013年迁移到Github。MyBatis框架以及ORM MyBatis是一个开源的数据持久层框架,内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射。作为持久层框架,主要思想是将程序中的大量的SQL语句分离出来,配置在相应的配置文件中,这样可以在不修改代码的情况下,直接在配置文件中的
2021-01-12 11:50:01
420
原创 JDBC-数据库连接
数据的持久化概念持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:1)JDBC直接访问数据库2)JDO (Java Data Object )技术3)第三方O/R工具,如Hibernate, Mybatis 等JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。JDBC介绍JDBC(Java Database ..
2021-01-12 10:36:07
197
原创 Dao模式和单例模式
JDBC_DAO模式设计什么是DAO?DAO:data access Object,表示数据访问对象,访问数据信息的类,其中包含着对这一个对象在数据库中存储的时候的CRUD的操作。而不包含任何业务逻辑相关的信息。Dao可以被子类继承或者是使用。使用Dao模式的好处在编写了dao模式以后,就使得代码变得模块化,更有利于代码的维护和升级。如何编写dao模式的代码(即编写dao模式的可能存在方法)//insert,update,delete操作都可以包含在其中void update(St
2021-01-12 10:19:16
214
原创 EL 表达式 & JSTL 标签库
1.EL 表达式什么是 EL 表达式,EL 表达式的作用?EL 表达式的全称是:Expression Language。是表达式语言。EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。<body> <% request.setAttribute("key","值"); %>表达式脚本输出 key 的值是: <%=reques
2021-01-12 10:14:56
163
原创 jsp:Ajax
Ajax$.ajax({ "url" : "list", //提交的url地址 "type" : "POST", //传输地址 "data" : "title=" + title, //传输信息,传输多个可以用json格式 "dataType" : "json", //区分大小写,小写t传输json,大写T传输对象。 "success" : function(data) { //返回成功时,从后台传输的值data
2020-12-25 12:23:07
134
原创 Spring分层开发
DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。Service层:Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类,接着再Spring的配置文件中配置其..
2020-12-23 16:44:22
453
转载 Service的作用
在通用的J2EE应用分层结构中,经常发现有一个叫Service的分层,那么这个Service层到底是用来做什么的呢 ?简单地就字面理解来说, Service,即服务,那我们可以叫它为服务层。既然作为服务层,那么它的职责理应是为其他层提供服务。Service层应该提供一些什么样的服务呢 ?事实上,在MVC架构中,Service层是处于比较尴尬的一层。因为你不能说它是属于Model层,也不能说它是属于Controller层,严格来说,它包含了Model层和Controller层这两者的部分职能。为此,我们在开
2020-12-23 16:31:30
4142
原创 Filter过滤器
标题Filter什么是过滤器1、Filter 过滤器它是 JavaEE 的规范。也就是接口2、Filter 过滤器它的作用是:拦截请求,过滤响应。拦截请求常见的应用场景有: 权限检查Filter 的初体验要求:在你的 web 工程下,有一个 admin 目录。这个 admin 目录下的所有资源(html 页面、jpg 图片、jsp 文件、等等)都必须是用户登录之后才允许访问。思考:根据之前我们学过内容。我们知道,用户登录之后都会把用户登录的信息保存到 Session 域中。所以要检查
2020-12-22 16:26:39
240
1
原创 Servlet
Servlet创建servlet 两种方式a)继承类 HttpServletb)实现接口 ServletServlet 生命周期a)构造方法b)初始化init 方法c)业务 serviced)销毁 - destroyServlet 技术什么是 Servlet?Servlet 是 JavaEE 规范之一。规范就是接口Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。手动实现 Servlet 程序编写一个类
2020-12-22 15:58:38
121
原创 JAVA WEB常见问题码
1、1xx-信息提示:这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。100-继续。101-切换协议。2、2xx-成功:这类状态代码表明服务器成功地接受了客户端请求。200-确定。客户端请求已成功。201-已创建。202-已接受。203-非权威性信息。204-无内容。205-重置内容。206-部分内容。3、3xx-重定向:客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。301-对
2020-12-18 12:31:35
188
转载 request和response总结
一、request和response当服务器接收到请求后,服务器会创建request和response对象,把请求数据封装到request对象中;然后调用Servlet的service()方法时把这两个对象传递给service()方法;在service()方法中可以通过request对象获取请求数据,可以使用response对象向客户端完成响应;每次请求服务器都会创建新的request和response对象,即每个请求有自己独自的request和response对象。二、requestre
2020-12-14 15:10:11
380
原创 JAVA常见异常信息(保存)
一、 java基础编程中常见的错误(基本类型)包装类型参与运算时,要做null值校验,否则可能出现空指针异常。包装类型比较大小,不能使用compare(i,j)直接比较,因为该方法是用来比较基本类型的,我们需使用CompareTo()方法比较。判断对象是否相等的时候使用equals方法,避免使用“==”产生非预期结果。使用New 生成的两个包装类必然不同,通过包装类的ValueOf生成的包装类实例可以显著提高空间和时间性能。无特殊要求,优先使用基本类型。在java中,随机数的产生取决于种子,随
2020-12-14 12:13:06
2823
原创 50道基础Mysql查询语句
数据库创建:-- 建表create DATABASES lianxi50;use lianxi50;-- 学生表CREATE TABLE `Student`(`s_id` VARCHAR(20),`s_name` VARCHAR(20) NOT NULL DEFAULT '',`s_birth` VARCHAR(20) NOT NULL DEFAULT '',`s_sex` VARCHAR(10) NOT NULL DEFAULT '',PRIMARY KEY(`s_id`));-
2020-12-14 10:42:09
194
原创 动态java web的创建(elipse)
安装apache-tomcat服务器下载地址:https://tomcat.apache.org/找到下载地址,打开bin文件夹B/S – 浏览器服务器架构 – 淘宝(2)C/S – 客户端服务器架构 – QQURL - 统一资源定位符URL:Uniform Resource Locator的缩写唯一能识别Internet上具体的计算机、目录或文件夹位置的命名约定jsp 9大内置对象(1)out 输出使用 - javax.servlet.jsp.JspWriter out = null;①Print()②Println()(2)request 请.
2020-12-13 17:28:32
273
1
原创 数据库的备份和权限控制及视图
退出mysql exit命令行登录mysql root 用户(1)mysql -u root -p(2)关键词 用户 具体的用户名 密码备份-直接在命令行使用,不需要登录 – mysqldump(1)mysqldump -u root - p 数据库名 > 路径名(最好写绝对)(2)mysqldump -u root -p myschool > d:/自定义文件名.sql恢复数据- 登录mysql(1)use 数据库.
2020-12-13 17:26:34
241
转载 数据库设计的一般步骤
数据库设计的基本步骤按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下6个阶段1.需求分析2.概念结构设计3.逻辑结构设计4.物理结构设计5.数据库实施6.数据库的运行和维护数据库设计通常分为6个阶段1分析用户的需求,包括数据、功能和性能需求;2概念结构设计:主要采用E-R模型进行设计,包括画E-R图;3逻辑结构设计:通过将转换成表,实现从E-R模型到关系模型的转换;4:主要是为所设计的数据库选择合适的和存取路径;5数据库的实施:包括编程、测试和试运行;6数据库运行与
2020-12-13 17:23:35
938
原创 MySql的查询、约束、事务、索引
自连接同一个进行关联 (笛卡尔积,内连接,外连接)省市区 – https://blog.youkuaiyun.com/black1499/article/details/84571885SELECTguo.Name ‘国家’,sheng.Name ‘省’,shi.Name ‘市’,qu.Name ‘区’from china guoLEFT JOIN china sheng on sheng.pid= guo.idLEFT JOIN china shi on shi.pid = shen..
2020-12-13 17:20:11
110
原创 MySql-DQL(查询语句)
查询表中所有字段所有数据select * from 表名;查询表中指定数列字段select 字段1,字段2,。。。 from 表名;as 字段,表名Select 字段1 [as] 别名1,字段2。。。 from 表名 [as] 别名Select * from 表1,表2 ;— 笛卡尔积连接 ,结果集是两个数据表的乘积DISTINCT | ALL(1)DISTINCT 给结果集去重- 不是针对某个字段(2)ALL 所有的结果集 (默认省略)SELEC..
2020-12-13 17:14:52
172
原创 MySql-DML(操作语句)
insert 语句语法:insert into 表名 [(字段1,字段2,字段3.。。。)]values(值1,值2,值3.。。。);注意事项:1)类型要匹配,顺序要一致2)中括号可以省略,默认插入全部字段update语句语法:update 表名 set 字段名=值 [,字段名=值] [where 条件]删除语句(1)delete from 表名 [where 条件](2)truncate [table] 表名;(3)区别①相同: 都可以清空数据表②不同点:..
2020-12-13 17:12:06
143
原创 Mysql基础+DDL(定义语句)
数据库的分类(1)关系型数据库①Mysql Oracle sqlserver DB2(2)非关系型数据库①redis MangoDB术语(1)DB - database - 数据库(2)DBS - database system - 数据库系统(3)DBMS -database management system - 数据库管理系统(4)DBA - database administrator - 数据库管理员结构化查询语句【SQL】分类(1)..
2020-12-13 17:10:25
115
原创 Jquery事件和特效
事件(1)鼠标事件①$ (selector).click(function(){}); - 鼠标的点击事件②$ (selector).mouseover(function(){}) ;- 鼠标移上事件③$ (selector).mouseleave(function(){}); – 鼠标离开事件④$ (selector).mouseenter(function(){}); – 鼠标进入事件⑤$(selector).mouseout(function(){}); – 鼠标移出事件(2..
2020-12-13 17:04:23
162
原创 Jquery基础(语法、选择器)
1.jQuery$(document).ready();//当页面加载完成知后仔调用$(document).ready(function(){});简写:$();$(function(){});2.选择器1)id 选择器 $ (“#xx”)2)标签选择 $ (“p”)3)类选择器 $ (“.xxx”)4)过滤选择器a)$ (“xxx:first”)b)$ (“xxx:last”)c)$ (“xxx:odd”)d)$ (“xxx:even”)e)$ (“xxx:eq
2020-12-13 17:02:20
116
原创 Jquery基本操作(样式修改、元素、节点)
操作样式css(1) 添加单个样式①(selector).css(“样式类型”,”样式值”);(2)添加多个样式①(selector).css(“样式类型”,”样式值”);(2) 添加多个样式①(selector).css(“样式类型”,”样式值”);(2)添加多个样式①(selector).css({“样式类型”:”样式值”,“样式类型”:”样式值”…});操作class $(selector).addClass() 添加class$(selector).removeClass()..
2020-12-13 17:00:47
325
原创 JavaScript-文档对象模型(DOM)
获取节点(1)getElementById(“XXX”) 根据id 获取第一个叫XXX名称的标签(2)getElementByName(“xxx”); 根据name属性值获取标签的集合(3)GetElementByTagName(“”);根据标签名获取标签的集合获取第一个子节点 –var parent = document.getElementById(“me”);获取第一个节点var first = parent.firstElementChild;获取最后一个节点..
2020-12-01 12:19:23
193
原创 JavaScript-浏览器对象模型(BOM)
BOM 包含的对象:(1) 属性:①history - 对象包含用户(在浏览器窗口中)访问过的 URL。②document- 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问③location- 对象包含有关当前 URL 的信息(2) 方法:①close() 关闭当前窗口History(1) go()go(-1)返回上一页go(1)去往下一页 (2) back()返回上一页 ==go(-1)(3) forward()去往下一页 ==go(1)docum.
2020-12-01 12:14:07
154
原创 JavaScript基础—语法规则(ECMAScript)
java 和javaScript – 雷锋和雷峰塔的关系JavaScript 组成 – JS(1) ECMAscriptJS 一套标准,语法规则(2) BOM浏览器对象模型(3) DOM文档对象模型JavaScript 引入方式(1) script 标签 – 可以贴在任何位置<script type="text/javascript"> document.write("hello javaScript !!"); document.write("<h1..
2020-12-01 11:51:09
255
原创 HTML初识(二)—标签
标签特殊符号 ©版权© <小于号< > 大于号> " 引号" 空格 ©<>" 水平线<hr /> 字体加粗<strong>123456</strong>123456字体倾斜<em>123456</em>123456换行标签123 <br/>456
2020-12-01 11:37:54
222
原创 HTML初识(标签、路径)
什么是HTMLHyper Text Markup Language 超 文本 标记 语言通过给文字添加标签的方式增加原文字在网页中的语义HTML 编辑工具01、DreamWeaver 、02、Sublime 占内存小 方便操作03、记事本04、webStorm05、HbuilderHTML的基本骨架<!--文档类型生声明 h5--><!DOCTYPE html><!--html的文档开始--><html>..
2020-12-01 11:21:50
166
原创 Java数据存储:集合框架和泛型拓展(二)TreeSet
TreeSet提供了Set有序的集合,继承于AbstractSet抽象类,实现了NavigableSet, Cloneable, java.io.Serializable接口。继承了NavigableSet,Cloneable,java.io.Serializable接口,是基于TreeMap实现的。提供了自然排序或根据创建Comparator进行排序1. TreeSet是有序的Set集合,因此支持add、remove、get等方法。2. 和NavigableSet一样,TreeSet的导航方法大
2020-10-22 19:59:48
155
原创 Java数据存储:集合框架与泛型拓展(一)Map
MapHashMap和TreeMap实现TreeMap:SortMap接口,基于红黑树HashMap:基于哈希散列表实现存储TreeMap:默认按键的升序排序HashMap:随机存储遍历TreeMap:Iterator遍历是排序的HashMap:Iterator遍历是随机的性能损耗TreeMap:插入、删除HashMap:基本无键值对TreeMap:键、值都不能为nullHashMap:只允许键、值均为null安全TreeMap:非并发安全MapHashMap:非并发
2020-10-22 19:45:10
162
原创 Java数据存储:集合框架和泛型
集合接口Collection (List ,Set),Map面试题:java 三大集合接口有哪些??①List Set MapCollection存放一组 无序,不唯一的对象集合List存在一组有序(插入的顺序),不唯一的对象集合Set存放一组无序,唯一的对象集合Map存放一组键值对集合(key ,value)Key 唯一 value 不唯一集合实现类List①面试题:ArrayList /LinkedList 异同存储结构:ArrayList 是基.
2020-10-22 17:24:12
156
原创 Java异常结构
异常关键字:try{可能出现异常的代码}catch(异常的类型 异常){}finally{不管是否有异常,都会执行的代码}throw 抛出异常 主要用于创建自定义的异常throws 声明异常 提示虚拟机会产生哪些异常,可以声明多个。放在类(参数)后面,多个异常用“,”逗号隔开常见异常:java.util.ArithmeticException 算数异常java.lang.ClassCastException 类型转化异常java.lang.Ar
2020-10-16 12:18:29
118
原创 面向对象:抽象类与接口特征
1.抽象类 & 普通类抽象类不可以被实例化普通类可以被实例化2.抽象方法 & 普通方法抽象方法没有方法体普通方法有方法体3. 抽象类的特征抽象类中可以没有抽象方法,但是包含抽象方法的类一定是抽象类如果子类没有实现父类所有的抽象方法,子类必然是抽象类没有抽象的构造方法,也没有抽象的静态方法可以有非抽象的构造方法4.方法有哪些:普通方法静态方法/类方法 – static 修饰构造方法 – 没有返回值抽象方法 – 没有方法体5.接
2020-10-15 08:52:21
170
原创 面向对象:方法重写与多态规范
1.方法重写创建一个子类对象,子类对象调用方法XXX,①如果子类没有XXX方法就调用父类的方法XXX 方法②如果子类重写了XXX 方法就调用子类的XXX方法重写规则:①访问修饰符不能严于父类②返回值相同或者是其子类③方法名相同④参数相同⑤父类的静态方法不能被重写为非静态方法(静态方法不能被重写),非静态方法不能重写为静态方法⑥子类可以定义和父类同名的静态方法,用来覆盖父类的静态方法⑦父类私有方法不能被重写⑧不能抛出比父类更多的异常3. @Override 注解①会校验父类是否
2020-10-15 08:44:22
164
原创 面向对象特征:封装与继承
1.封装:两个大致原则:把属性藏起来对外提供接口,来访问或者操作属性2.封装的步骤3. 把属性设置为private4. 提供getter /setter 方法5. 操作属性(设置属性的合法性)3.包关键字:package作用:① 以较小的单元存放类,方便使用和查找②解决命名冲突③访问权限控制注意事项①package 开头②是小写字母组成,不能以圆点开头或结尾③命名最好以组织倒置的网络域名④必须写在第一行(注释除外)创建包的两种方式①分别创建包和类-右击src
2020-10-13 20:05:13
107
原创 面向对象:方法和方法重载规范
1.带参方法的语法<访问修饰符> 返回类型 方法名(形式参数列表){方法体;}调用有参方法:类 对象名 = new 类();对象名.方法名(实参1,实参2.。。);形参实参调用方法的时候,实参不能指定数据类型形参和实参 数据类型要一致,数量也要一致2.值传递,引用传递基本数据类型传递的是 值,一个变量的值改变,不会影响另一个引用数据类型传递的是地址,一个对象的属性改变,另一个也会改变3.构造方法-(构造器 Contructor)语法访问修饰符 构
2020-10-13 19:56:23
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅