自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 web文件的上传和下载

文件的上传和下载上传通常情况下,我们需要在浏览器上上传或者下载文件,接下来看看具体的步骤和注意点由于get请求是把请求参数拼接在后面,所以对传输的数据大小是有限制的,一般情况下,文件都是比较大的,所以我们通常使用post请求。我们在接受文件的时候,可能不只收到文件,也可能接受到其他的请求信息,所以这里就是用阿帕奇的第三方jar包接受和解析请求信息。文件在传送到服务端的时候,可能由于在同一个文件夹下存在名字相同,文件内容不同的文件,如果我们以名字为依据保存,那就会覆盖这个文件,所以我

2020-08-26 19:54:52 498

原创 重定向和请求转发

重定向和请求转发这个两个都是服务器对请求的处理,但是这两种处理方式不同。先说大概的区别,重定向是两次请求两次响应,可以定向到外部资源或者内部资源,地址栏发生改变。请求转发是一此请求,一次响应。只能转发到内部资源,地址栏不发生改变。还是有点懵?所以深入查询一下吧重定向重定向是某次请求,服务器接收到了这次请求,但是自己又没有这个资源,所以要告诉客户端,去请求其他资源。但是不能只告诉自己没有,还要告诉客户端哪里有资源。这个资源包括自己服务器内部的资源和其他服务器的资源。respo

2020-08-21 17:32:12 612

原创 Servlet四大域对象

Servlet域对象全局域对象ServletContext全局域对象,生命周期是服务器停止后结束创建方式//设置全局域数据ServletContext context = this.getServletContext();context.setAttribute("username","zhangsan");context.setAttribute("password","123456");//获取全局域数据ServletConfig config = this.getServle

2020-08-21 17:30:16 872

原创 20200817-servlet

servletservlet简介称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。功能:接受请求,处理请求,做出响应。快速入门定义一个web工程,然后定义一个类,这个类实现servlet这个接口。重写里面的方法。package org.westos.demo0817.demo1; /*Author:LHCreatTime:2020.08.17.11:11*/import javax.s

2020-08-17 17:19:41 109

原创 java Web应用程序和发布步骤

java Web什么是web应用,其实就是浏览器应用程序,我们通常使用的例如,京东,淘宝等网页版就是web应用程序Java web就是用Java语言开发的web应用。应用架构web应用程序使用的是B/S架构,就是浏览器和服务器。这个中架构的特点是:浏览器不用自己开发维护,自己只需要开发服务器的的程序。C/S架构,这是客户端和服务器的。这个需要我们自己开发客户端,但是由于客户端是自己开发的,所以我们就可以对客户端的安全和个性化控制。但是开发和维护成本就高服务器我们在web应用程序开发

2020-08-14 20:27:06 2857

原创 IDEA配置服务器

IDEA配置服务器IDEA软件配置服务器先是给IDEA添加上服务器这样IDEA的服务器就配置好了web工程的服务器配置先创建web项目,创建完成之后,便于我们对页面的测试与发布,我们使用IDEA发布会比较方便步骤注意,我们在web项目中,可以创建文件夹,但是WEB-INF这个目录下浏览器是不能访问到的,此目录下放置的是一些配置文件...

2020-08-14 20:24:15 6349

原创 找出最长无重复字串

算法找出最长无重复字串/*3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

2020-08-12 21:00:01 175

原创 JDBC基础使用方法

JDBC基础语法简介什么是JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,我们通常说的JDBC是面向关系型数据库的通俗的说就是java公司编写的一套规范,和Java连接的数据库,都要遵守这个规范来编写驱动程序。使用步骤以mySQL为例,展示数据库与ieda的连接由于Java只是给出了规范没有具体的连接数据的类,所以我们需要导入第三方编写好的类来连接在官网上下载jar包,将包导入到程序中,通常在程序中创建li

2020-08-12 20:50:06 168

原创 mySQL数据库 约束/联合查询

mySQL数据库约束在实际应用中,表格之间会有关联,每张表也会有一些字段是有格式要求(比如:非空且唯一,不能为负数等等)。所以每张表都会有一些约束主键:特点,非空且唯一,一张表只能有一个主键外键:通过外键关联两一个表的主键,两张表产生关系非空约束:not null,字段值不能为空自增长约束:increment,自增字段的数据类型一般是整数型的,通常配合主键来使用,自动增加。唯一约束:nuique ,字段值不能重复,但是这个约束对于字段值为null,没有约束,也就是说,被约束的列可以

2020-08-07 17:01:40 289

原创 mySQL数据库操作语句

mySQL数据库DDL语法数据的定义语言:用来定义表,数据库,列等操作数据库1.-- 创建数据库CREATE DATABASE COMPANY2.-- 创建表,创建表要给表的字段和属性。CREATE TABLE DEPARTMENT(dept_no VARCHAR(10),dept_name VARCHAR(20),location VARCHAR(20),memo VARCHAR (20));3.-- 删除数据库DROP DATABASE t_tacher4.-- 修改字符集

2020-08-05 15:51:27 108

原创 Json字符串和java对象的互转

Json字符串和java对象的互转为什么要转换json字符串是{…}中包裹的键值对,我们在前台与Java后台交互时,前台需要json数据,而后台需要字符串给对象属性设值。因此我们需要前后端交互时,将数据转换。前端传输过来的数据,肯定对应后端的一个对象的属性,因此我们需要将数据解析,赋值给这个属性,并通过这个成员属性去数据库查找。解析json字符串赋值给对象的成员变量通过观察字符串,分析json字符串中都包含哪些类和成员变量1.{ "data": { "yesterda

2020-07-31 13:40:26 173

原创 同源策略和跨域请求

同源策略和跨域请求同源策略我们与服务器之间通信的三要素:ip, 通讯协议,端口。即域名,协议,端口如果我们和服务器之间通信,这三个要素都相同,那就是同源,如果其中一个不相同,那就是非同源。这是浏览器的一种安全协议,是为了保护本地数据不被JavaScript代码获取回来的数据污染跨域请求什么是跨域请求:即域名,协议,端口其中有一个不相同就是跨域请求只有在同源的情况下,发送AJax请求才能获得请求的数据,非同源的请求都会受到同源策略影响。这里说的跨域请求是XMLhttpreques

2020-07-31 13:34:41 269

原创 JSON格式,Ajax异步请求

JSON与Ajaxjsonjson概念: json是一款轻量级的数据交换格式,特点是易于阅读和编写。json语法格式: 数据以键值对的形式存储,键都是字符串形式。值的类型可以是:数组,数字,字符串,逻辑值,null {"key1":"value1","key2":"value2"} {"key1":"value1",[{"key2":"value2","key3":13}]}. 注意点:前端只能读取json格式的数据,Java后端没有json这个规则,所以后端是

2020-07-29 16:45:19 176

原创 javascript内置对象/js事件/DOM/BOM简介

文章目录javascript内置对象简介String/正则表达式(RegExp)Math对象Number对象Array对象BOM(Browser Object Model)概念window对象Location对象history对象DOM(Document Object Model)Document对象事件事件对象事件冒泡javascript内置对象简介JavaScript 对象是拥有属性和方法的数据。可以说 "JavaScript 对象是变量的容器"。但是,我们通常认为 "JavaScript 对

2020-07-27 16:57:43 219

原创 mysql语句

mysql数据库常用语句1.说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname**3、说明:备份sql server— 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backup\MyNwind_1.dat’— 开始 备份BACKUP DATABASE pubs TO testBack4、说明:创建新表cre

2020-07-23 14:45:20 140

原创 JS语法基础

JS语法基础数据类型:原始数据类型:字符串(String),包含字符或者字符串。字符出使用单引号或者双引号都可以。数字:Number 包含小数或者正数,Nan不是数字的数字布尔:Boolean对空;Null未定义:Undefined引用数据类型对象:Object数组:Array函数:FunctionJs数据类型的特点:js是一门弱类型语言,在定义数据时不用明确指出数据类型,只需要使用var定义就可以了。在Java中定义常量使用final关键字修饰,

2020-07-11 15:18:57 114

原创 css常用标签及页面布局

JAVA Web基础css标签在css标签中,我们要对一个标签或者多个标签的属性进行改变,那么我们要通过选择器来过滤出自己需要的标签,对标签进行样式修改。css中的选择器:ID选择器:使用div时,定义id号,并且通过id过滤出自己想要改变的元素类选择器:使用div时,定义类名,并且通过类名过滤出自己想要改变的元素标签名选择器,通过标签名,来过滤出自己想要改变的标签,改变样式。属性选择器:通过一些特定的属性来改变样式。伪类选择器伪元素选择器选择器的优先级:当一个内容被多个选择

2020-07-10 00:29:44 1088

原创 java web基础知识--HTML标签/INPUT标签/表单的基础知识

java web基础知识HTML基础什么是HTML:它被称为超文本标记语言,用它编写可以被浏览器解释的文件,文件格式是.html/.htm。组成:它由主要的三部分组成:< html >用来表示HTML文件的最前端, < /html >表示HTML文件的结束,必须成对出现,一对的大小写可以不一样。< head > < /head>,这对构成的是HTML文件的头部部分,他俩之间的内容不会出现在浏览器的内容部分。一般在 < head &gt

2020-07-02 16:36:00 796

原创 IDEA Java打jar包流程图解,以及创建.bat文件

java 打jar包流程使用IDEA打自己用的jar包流程步骤一:步骤二:然后在接下来出现的窗口中,重命名jar包名称。最重要的是要构建jar包,不然jar包就出不来。构建完成,就要指定的文件中,将jar包复制到指定地方,可以在DOS命令窗口运行了这样打jar包就完成。如果你想使用.bat运行jar包,那就创建一个txt文本,里面写入dos命令和jar包的名称,最后将文件后缀改为.bat。这样就可以直接运行称,最后将文件后缀改为.ba

2020-07-02 16:33:39 966

原创 Stream流

JDK1.8新特性Stream流操作的是集合或者数组(容器中的元素)。它的出现为了我们更方便的对集合的元素操作。使用步骤获取stream流创建集合,通过集合中的方法获取stream流。创建数组,通过数组来获取流通过Steram流中的静态方法of()获取.中间环节操作不会对原有集合改变,会得到新的流。对集合操作的方法过滤方法:Filter(),去掉重复:distinck()方法。此类需要重写hashcode()和equals()方法.截取部分元素:

2020-06-25 16:51:03 177

原创 JDK1.8新的日期类,Lambda表达式

JDK1.8新特性时间日期类新增一套新的时间日期APIDate,Calender的时间日期可能出现线程不安全,因此就出现了新的日期类LocalDate:表示年月日的类LocalTime:时分秒的类LocalDateTmie:年月日,时分秒的类Instant类:获取从1970.1.1.零时到现在的美国时区的毫秒值得到的时间是美国时区,我们可以设置偏移量。时区编号类:ZoneId类,可以获取时区注意细节:如果用LocalDateTime 想按照我们的自定义的格式去解析,注

2020-06-24 22:47:29 284

原创 反射机制/动态代理/枚举/类的加载过程

类的加载概述概述:当一个程序要使用一个类的时候,如果这个类还没有被加载过,那就先加载这个类,类的加载过程,加载机理是使用双亲委派模型加载:双亲委托模型的工作过程是:如果一个类加载器(ClassLoader)收到了类加载的请求,它首先不 会自己去尝试加载这个类,而是把这个请求委托给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需要加载的类)时,子加载器才会尝试自己去加载。

2020-06-19 21:19:03 720

原创 网络编程基础,套接字编程

2020.6.8 课堂笔记网络编程网络编程三要素IP地址:网络中设备的唯一标识,可用主机名。端口号:用于标识进程的逻辑地址,区分不同应用程序之间的标识。(端口范围0-65535,0-1023被系统资源占用)。端口"是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。不管是浏览网页还是在线聊天,应用程序会随机选用一个端口,然后与服务器的相应端口联系。传输协议:通讯的规则TCP/UDP协议。UDP:特点:通信两端不需要建立

2020-06-17 20:14:34 171

原创 线程通信,CAS算法,Java内存模型,线程池的概念,定时器和定时任务,单例设计模式

2020.6.6课堂笔记多线程不同种类线程之间的通信问题(线程的一个等待唤醒机制)Object类的wait():线程等待wait(long l):设置时间notify():线程唤醒notifyall():唤醒所有线程wait()和sleep()的区别共同点:都使线程处于阻塞状态区别点:wait();可以设置时间,也可以不设置时间,sleep():必须设置时间。sleep一旦休眠不释放锁,wait一旦休眠就会释放锁案例package org.westos.de

2020-06-11 20:15:16 129

原创 多线程线程安全问题,死锁,Lock接口的基本知识

2020.6.6课堂笔记多线程线程安全几个窗口同时卖票,卖票时出现一些不合理的票数据。出现0票或负票原因:由于线程的随机性出现相同票:线程的原子性所导致(内存模型会讲解)例如[ piao- -就是多个语句,不是原子性操作]。出现线程安全的问题的要符合三个条件(不满足这几个条件的不会出现线程安全)多线程环境多个线程共享数据多条语句操作共享变量(实际代码中,我们可以改变的位置,来保证线程安全)解决方式:把有可能出现数据安全的代码,使用同步代码块包裹同步代码块语法:synchro

2020-06-11 14:56:35 180

原创 多线程--开启线程的三种方法,线程/进程概念,

2020.5.31多线程什么是单线程,代码的执行路径只有一条路径。缺点:有可能某个代码耗时时间长需要等待,其他程序不能进行,用户感觉差。多线程:代码的执行路径有多条,这种执行环境称之为多线程环境。一般在支线程运行耗时代码。线程的概述线程依赖进程,没有进程也就谈不上线程。进程开启之后就会执行很多任务,每个任务就是一个线程。线程是CPU调度的基本单位。我们Java编程,就是线程编写,因为虚拟机就是进程,不能在虚拟机里面运行进程。只能在虚拟机里面运行线程。意义:多线程提高对CPU的使用率

2020-06-05 17:21:01 1574

原创 数据输出流/内存操作流/打印流/随机访问流/序列化和反序列化/属性集合(Properties)/SequenceInputStream

2020.5.30 课堂笔记数据输入输出流DateInputStream数据输入流: 构造方法:DataInputStream(InputStream in).DateOutputStream数据输出流:构造方法:DataOutputStream(OutputStream out).可以读写java的基本数据类型,是将基本类型的数据读取到字节数组中输出到文件里面的信息可能是乱码,可以通过读取在窗口显示。因此在读取数据时要保持顺序一致,即输出的是Boolean类型,输入也要布尔类型。代码p

2020-06-05 11:04:19 160

原创 字符流InputStreamReader/OutputStreamWriter,便捷字符流,高效字符流及特有方法

2020.5.25字符流为了方便操作中文字符,提供了字符流。字符流=字节流+码表注意:字符流只能操作文本文件。编码:以某种编码方式将字符串转换成字节数组。解码:将字节数组以某种编码转化成字符串。编码和解码都可以指定码表或者使用默认的码表。我们在编码和解码的时候使用同一个码表,就不会出现乱码。不一致可能出现乱码。字符流要刷新才能写入。如果在最终才close(),关闭并刷新。写的东西多了,最后再刷新可能会比较慢。字符流的追加写入:在传入的字节流中给出追加写入

2020-05-28 19:06:35 372

原创 IO字节流,高效字节流BufferedInputStream/BufferedOutputStream,单级/多级文件夹的复制

2020.5.24 课堂笔记IO流用来处理设备之间的数据传输。分为:输入流和输出流字节流:可以操作任意类型的文件(图片,音频等等)字符流:只能操作文本文件。FileOutPutStream创建一个文件输出流,来关联一个文件,当关联的文件不存在,就会创建文件。往文件中写入数据:write(int b):一次写入一个字节,如果超过字节范围,就会丢弃掉部分数据。write(byte [] a):一次写入一个字节数组write((byte [] a,int

2020-05-28 18:56:54 261

原创 异常机制,File类,throw和throws的区别

2020.05.23课堂笔记异常机制什么是IO流(InputStream ,OutputStream,输入输出流 )在Java中IO流用于设备之间的数据传输。我们在下载或者上传途中出现问题,那就需要我们解决。Java中遇到问题有一个类来描述,Throwable类Throwable:问题或者错误的父类Exception:描述一般性问题异常编译期异常:发生在编译期间(非RuntimeException及其子类)处理方式一:使用关键字throws,向上抛出,抛给调用者处理,

2020-05-28 18:55:08 146

原创 Map接口(接口实现类HashMap/LinkedHashMap/TreeMap),Hashtable

2020.5.20 课堂笔记Map接口双列集合的接口,存放一个键映射到值的对象,键不能重复,每个键可以最多映射到一个值。Map接口和Collection接口的不同Map接口:是双列的,键映射值,键唯一。数据结构针对键有效。Collection接口:单列的,只有Set接口的子集合元素唯一,数据结构针对元素有效。Map接口和其子集合HashMap:键的唯一是靠重写hash方法和equals方法来保证。LinkedHashMap:底层数据结构是链表和哈希表,链表保证有序,哈

2020-05-21 12:23:22 508

原创 Set接口以及子集合(HashSet/LinkedHashSet/TreeSet)的用法和数据结构

2020.5.17Set接口特点:相对于list接口,set接口不能包含重复元素,并且可以有null元素常用的set子集合HashSet集合特点:底层用的是哈希表存放元素,在1.7之前哈希表是用链表和数组存放,1.8之后优化成链表,数组和二叉树。哈希表原理:一个数据储存过程,先根据元素通过hash函数,计算出元素的哈希值,由于哈希值比较大,然后用该数字对数组长度取余,得到的数据就是数组对应的下标,由于数组长度是有限的,所以在存储过程中可能会出现碰撞,多个元素计算的结果对应

2020-05-19 21:57:52 357

原创 集合,数据结构,ArrayList,LinkedList,Vector,泛型概述,增强for循环

2020.5.10(集合,数据结构,ArrayList,LinkedList,Vector,泛型概述,增强for循环)集合集合和数组的特点:共同点:都作为容器,存储元素。不同点:数组:数组只能存同一种类型的数据,可以存储基本类型和引用类型,创建完成之后长度固定,不可以临时增加或者删除集合:只能存储引用类型的数据,集合的长度是可以变的。一个集合可以存储各种类型的数据。集合会将所用的共性向上抽取形成接口子类对象实现父类接口,子类会有自己独特的方法Collect

2020-05-14 19:25:10 300

原创 pattern类和matcher类,math类,Random类,Date类,SimpleDateFormat类,calender类

课堂笔记2020.05.03 day14pattern类和matcher类模式器:正则表达式的编译(也就是将正则表达是封装起来)。Pattern p = Pattern.compile(“a*b”);对正则表达式编译为此类的实例,就是模式器Matcher m = p.matcher(“aaaaab”);通过调用模式的matcher方法,从模式创建匹配器。(也称为利用模式器创建...

2020-05-07 12:28:47 207

原创 Arrays类,自动拆装箱,正则表达式

2020.5.2课堂笔记Arrays类Arrays是针对数组操作的类,可以对数组快速的排序和搜索。分类方法:sort(形参):形参是基本类型的数组。按照升序排序数组元素。可以指定排序的起始索引和终止索引。binarySearch(形参):利用二分法查找指定定元素的索引,形参是基本类型的数组,可以指定查找的范围。copyOf(源数组[],指定数组长度):复制数组到副本数组中,指定长度...

2020-05-07 12:24:55 146

原创 StringBuffer类和数组的排序算法

2020.05.01课堂笔记StringBuffer 类StringBuffer可以看作是一个字符容器,它的容量默认是16,但是可以根据具体情况,自动扩容。我们在String类中要想拼接字符串,没拼接一次,就会创建一个新的空间,这样耗时又浪费空间。StringBuffer就解决了这个问题构造方法new StringBuffer():默认创建一个容量为16 字符串缓冲区对象。一般就...

2020-05-07 12:20:04 232

原创 java基础知识(String类的常用方法)

String类的常用方法获取方法charAt(int index):返回指定索引处的char值。indexOf(String str) :返回指指定字符第一次出现在字符串中的索引,返回int类型的值。indexOf(String str,int fromIndex) :返回指定字符第一次出现在字符串中的索引,从指定索引处开始查找。返回int类型的值。lastIndexOf(String...

2020-04-29 16:42:57 210

原创 Scanner类和String类的基础知识

常用类的学习Scanner类一个简单的文本扫描器,可以用正则表达式解析原始类型和字符串数据Java.until包,所以在使用时需要导包。scanner有既可以录入信息,也可以对录入的信息判断是否合理。录入:next xx()方法nextInt();录入int类型nextByte();录入byte类型nextFloat();录入float类型nextDouble()...

2020-04-27 15:48:26 235

原创 匿名内部类,Object类的基础知识

局部内部类概念:一个类的方法体中定义一个类,这个类就是局部内部类。特点:可以直接访问外部类的成员(包括私有成员)。不能直接被外界访问,需要外界创建外部类的对象,外部类对象调方法,在方法中创建内部类的对象,再使用局部内部类的对象访问其成员。局部内部类访问局部变量,这个局部变量默认加(1.8之后)final修饰,因为局部变量随着方法调用完毕而消失,而局部对象并没有立刻消失,还要使用局...

2020-04-27 15:38:35 160

原创 java中接口、参数传递,链式变成,内部类,面向对象的权限修饰符

接口概念:当有一些扩展功能(不是所有类的共同功能)时,需要部分子类调用,这样就出现接口,提供子类实现一些扩展方法。接口不实现具体的功能,由实现它的子类来实现具体功能。关键字:Interface关键字,接口和类是同级别的,类用class定义,接口用Interface定义。接口的特点:接口中只能定义常量,默认是public static final修饰变量【就变成公共静态常量】...

2020-04-23 17:28:17 187

空空如也

空空如也

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

TA关注的人

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