自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVAweb文件和上传(15)

一、文件上传要实现Web开发的上传功能,通常需要完成两步操作:一是在Web页面中添加上传输入项;二是在Servlet中读取上传文件的数据,并保存到本地硬盘中。上传大多数情况是通过表单的形式提交给服务器,使用标签。使用标签需要注意以下两点:1.必须设置name属性,不然浏览器不会发送上传文件的数据。2.必须将method属性设置为post,ectype属性设置为“multipart/form-data”类型。由于在Servlet直接读取上传数据,并且解析出相应文件数据是一项非常麻烦的工作。为了方便

2022-01-06 16:24:30 153

原创 JSP开发模型(14)

1.1 JSP Model1JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。JSP Model1的优化(Model1第二代)JSP Model1优化后有所改进,把业务逻辑和数据访问的内容放到了JavaBean(狭义JavaBean:实体类,广义JavaBean:实体类,dao,servic

2022-01-06 16:18:04 278

原创 数据库连接池与DBUtils工具

前言:使用JDBC的基本用法和操作来与数据库交互,由于每操作一次数据库,都会执行一次创建和断开Connection对象的操作,这种频繁的操作Connection对象十分影响数据库的访问效率,并且增加了代码量,所以在实际开发中,开发人员通常会使用数据库连接池来解决这些问题。Apache组织还提供了一个DBUtils工具类库,该类库实现了对JDBC的简单封装,能在不影响性能的情况下极大地简化JDBC的编码工作。数据库连接池:在JDBC编程中,每次创建和断开Connection对象都会消耗一定的时间和IO资

2022-01-06 16:09:21 123

原创 JDBC(12)

JDBC的全称是:Java Database Connectivity,即Java数据库连接。JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。那么,在数据库连接的时候,我使用的是MySQL,Java集成开发环境是Eclipse。要使用JDBC来访问MySQL数据库,首先需要添加MySQL数据库驱动程序。s/106442449Step 1:www.mysql.com我们先进入MySQL的官网!!!Step 2:在这里,大家按照下面截图的顺序,一步一步的来就可以了!!!

2021-12-29 19:09:47 805

原创 Servlet高级(11)

Filter过滤器什么是Filter在开发中,通过浏览器访问服务器端的目标资源时,过滤器实现拦截功能。如果过滤器判断是合理的请求,就方形,允许访问目标资源。Filter在web应用中拦截的过程如下:Filter过滤器就是一个实现了javax.servlet.Filter接口的类,在接口中定义了三个方法:init方法:在过滤器对象被创建后,执行初始化方法doFilter方法:在这个方法里面实现拦截和放行destroy方法:在过滤器销毁后,执行实现第一个Filter程序步骤:创建MyS

2021-12-29 19:00:18 355

原创 JSTL、技术(10)

简介JSTLJavaserver page standard tag library , 中文名称是Java服务器页面标准标签库,即JSP标准标签库。2.JSTL的分类① 核心标签库:重点② I18N国际化标签库:了解③ SLQ标签库:基本不用④ XML标签库:基本不用⑤ 函数标签库:基本不用需要注意的是:这些JSTL的标签库支持EL表达式语言,即可以在其标签的value属性中使用EL来在JSP页面上输出域对象中的值。一般JSTL也要结合EL表达式来完成JSP页面的开发。需要注意的是:.

2021-11-25 17:15:56 138

原创 EL表达式(9)

EL表达式1.初识JavaBean1.1 什么是javaBean:它是java开发中常用的组件,其实就是一个java类,它的作用就是封装数据。书写JavaBean需要满足五个规范:>>>1.这个java类,被public修饰>>>2.这个java类要提供公共的无参数的构造方法>>>3.要提供私有的属性>>>4.要给私有的属性提供公共的set或者get方法>>>5.要实现Serializable接口比

2021-11-19 12:32:39 571

原创 jsp动作元素(8)

JSP 动作元素1.1 jsp:include 动作元素:动态包含动态包含:把其它资源页面的内容,合并到当前要包含的页面,最后一块输出。基本语法格式:<jsp:include page=“被包含页面的url” flush=“true或者false”>jsp:include动态包含特点:多个页面的内容合并输出,多个jsp页面生成多个java文件,编译成多个class文件静态包含特点:多个页面的内容合并输出,多个jsp页面最终生成一个java文件,编译一个class文件。1.2 <

2021-11-19 12:19:23 88

原创 eclipse配置环境tomcat(1)

1.eclpse集成tomcat2.2.新建web项目,并访问静态页面(html)3.新建servlet

2021-11-16 16:38:57 354

原创 javaweb:认识JSP(7)

1.JSP概述:1.1 什么是jsp:它的英文全称 java server pages ,java服务端页面,它是建立在servlet规范基础上的动态网页开发技术。* java 服务端 页面: 在jsp上可以写java代码,也可以写html标记,它运行在服务器端。* jsp = java + html + jsp自身的一些东西。为什么会产生jsp技术:因为在早期没有jsp时,需要servlet向页面写数据,比较麻烦,所以就产生了jsp技术,jsp最大的特点:可以非常简单的书写页面html。

2021-11-16 12:40:31 118

原创 javaweb:会话以及会话管理技术(6)

第五章:会话以及会话管理技术1.会话概述:什么是会话:从登录淘宝,多次刷新网页,到最终退出淘宝,整个过程就是一次会话。会话的特点:包含多个请求,一次完整的会话针对一个用户。会话管理技术:第一种:cookie技术,客户端技术。第二种:session技术,服务端技术。购物车案列:买完商品后,加入购入车,买的商品存到什么对象比较合适?1.使用request域对象保存商品信息:结论:使用request保存商品信息不可以,因为每次发送请求,都会产生一个新的请求对象。2.使用ServletConte

2021-11-16 12:35:25 209

原创 javaweb:request请求对象(5)

1.请求和响应的概述:什么请求:在浏览器地址栏输入地址,点击回车请求服务器,这个过程就是一个请求过程。什么响应:服务器根据浏览器发送的请求,返回数据到浏览器在网页上进行显示,这个过程就称之为响应。2.HttpServletResponse对象HttpServletResponse是一个接口,它的父接口是ServletResponse,在开发中通常使用HttpServletResponse响应信息分为三部分:响应行、响应头、响应正文(响应体)1.1 发送状态码的相关方法:>>>

2021-11-16 12:34:11 380

原创 javaweb:servletconfig、context(4)

2.ServletConfig接口什么是ServletConfig: 它是servlet的配置对象,作用就是获取与servlet的初始化参数。它的子类是GenericServlet和HttpServlet.它被实列化是通过web服务器实现的。得到servletConfig对象:getServletConfig()ServletConfig常用的方法:>>>> 1. 获取servlet的初始化参数的值:getInitParameter(String name):根据enco

2021-11-16 12:31:48 611

原创 javaweb:servlet(3)

第三章:Servlet、ServletConfig、ServletContext1.Servlet技术1.1 Servlet概述:什么是servlet:它是运行在web服务器端的一个java小程序,简单来说,它就是一个java类在使用servlet时,需要导入javax.servlet下的jar包。比如:tomcat服务器提供了servlet的servlet-api.jar包,所以在开发时用tomcat服务器就不需要再导入servlet的jar包。Servlet它是一个资源,是用来被用户访问的资

2021-11-16 12:30:13 126

原创 第二章:认识XML和tomcat(2)

1.XML1.1 XML概述1.什么是xml:英文Extensible MarkUp Language,可扩展的标记语言。* 可扩展的标记语言:在xml里面的标记是可以扩展的。* xml版本号1.0 ,1.1xml用途:它用来存储数据* 1.作为系统与系统之间传输数据的格式* 2.作为项目的配置文件* 3.保存有结构关系型的数据。比如:衡水保定--------- 2.XML 和 html的比较: 1.xml文档的标记可以随意扩展,html的标记是预定

2021-11-16 12:19:54 177

原创 day28

GUI——组件界面常用组件1.按钮 JButtonJButton anniu =new JButton(“按钮”);import javax.swing.JButton;import javax.swing.JFrame;public class TestGUI { public static void main(String[] args) { JFrame f = new JFrame("LoL"); f.setSize(400, 300);

2021-06-17 23:02:58 64

原创 day27

流式布局在java中,组件放置在窗体上的方式可能与你使用过的任何GUI系统都不相同。首先,它完全基于代码;没有用来控制组件布置的“资源”。第二,组件放置在窗体上的方式不是通过绝对坐标控制,而是由“布局管理器”根据组件加入的顺序决定其位置。使用不同的布局管理器,组件的大小、形状和位置将大不相同。此外,布局管理器还可以适应applet或应用程序窗口的大小,所以如果窗口的尺寸改变了,组件的大小、形状和位置也能够做相应的改变。JApplet、JFrame、JDialog、JPanel等都可以包含和显示组件。Co

2021-06-17 22:53:35 76

原创 day26

GUI 与CLI GUI •Graphical User Interface(图形用户接口)。 •用图形的方式,来显示计算机操作的界面,这样更方便更直观。CLI •Command line User Interface (命令行用户接口) •就是常见的Dos命令行操作。 •需要记忆一些常用的命令,操作不直观。1、AWT简介组件/容器/布局管理器2、容器组件FramePanel3、布局管理器FlowLayout/Gri

2021-06-17 22:46:24 59

原创 day25

一、单线程实现(1) 客户端实现:Socket 套接字连接服务器通过 Socket 获取字节输出流,进行写图片使用自己的流对象读取图片流资源读取图片,使用字节输出流将图片写到服务器,采用字节数组进行缓冲通过 Socket 套接字获取字节输入流获取服务器端的反馈回来的信息关闭流资源//实现图片上传的客户端 Socket socket = new Socket(InetAddress.getByName("10.0.185.144"),44444); //读

2021-06-17 22:32:36 88

原创 day24

网络协议1、IP协议(Internet Protocol):又称互联网协议,IP协议主要是告诉数据链路层,数据中转的方向。数据链路层只管把数据送到特定的目标地址。IP协议提供网间连接的完善功能,包括IP地址格式, IP地址不因数据链路层的改变而发生改变。一个IP包除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口和目标端口2、TCP协议(Transmission Control Protocol,传输控制协议):是面向连接的协议,即在收发数据前,必须要和对方建立可靠的连接。一个TCP连接必须

2021-06-15 22:35:53 100 1

原创 day23

线程同步要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现。拿上篇博文中的例子来说明,在多个线程之间共享了Count类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工作内存存储了主内存Count对象的一个副本,当线程操作Count对象时,首先从主内存复制Count对象到工作内存中,然后执行代码count.increment(),改变了num值,最后用工作内存Count刷新主

2021-06-14 23:05:24 1079 1

原创 day22

一、进程与线程 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,即进程空间或(虚空间)。进程不依赖于线程而独立存在,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,线程没有自己的虚拟地址空间,与进程内的其他线程一起共享分配给该进程的所有资源。 “同时”执行是人的感觉,在线程之间实际上轮换执行。

2021-06-14 22:46:13 98

原创 day21

今天学习的是字节的输入流,和输出流。1、Bits 工具类Bits 是一个工具类,一般是供 java io 包下的类使用的,用于处理字节,因为输入输出流分为 字节流 和 字符流。接下来看看有哪些方法:1、static boolean getBoolean(byte[] b, int off):判断字节数组 b 的第 off 位置是否不为0,true表示不为0。2、static char getChar(byte[] b, int off):从 off 开始,获取字节数组 b 的一个字符,因为 java

2021-06-02 22:42:30 41

原创 day20

File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。1.2 构造方法public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。public File(File parent, String child) :从父抽象路径名

2021-05-30 00:10:21 39

原创 day19

finally类与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。 如果没有 finally,您的代码就会很费解。例如,下面的代码说明,在不使用 finally 的情况下您必须如何编写代码来释放非内存资源finally类的特点:(1)被finally控制的语句体一定会执行。(2)特殊情况:在执行到finally之前jvm退出了(比如System

2021-05-30 00:02:01 35

原创 day18

1.Collection集合集合是java中提供的一种容器,可以用来储存多个数据。Collection是所有单列集合的父接口,因Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合3.异常异常就是程序在编译时发生的意想不到的情况,一般而言分为两类:错误(Error)和异常(Exception)java异常处理五个关键字:trycatchfiallythrowthrows抛出异常throw:在编写程序时,我们必须要考虑程序出现问题的情

2021-05-29 23:56:53 48

原创 day17

字符串是由多个字符组成的一串数据String的特点:字符串是常量,一旦被创建就不能改变,这是因为字符串的值是存放在方法区的常量池里面,但是引用可以改变。字符串字面值"ab"也可以看成是一个字符串对象。1.常见String类的获取功能public int length(): 获取字符串的长度。public char charAt(int index): 获取指定索引位置的字符public int indexOf(int ch): 返回指定字符在此字符串中第一次出现处的索引。public i

2021-05-28 15:23:16 42

原创 day16

ArrayList:1.概念在java中集合集合就是一种容器,可以用来存储有同属性的对象。存储数据的数据容量可以改变。数组长度不可变 ArrayList 长度可变2.用法:ArrayList 有一个尖括号表示泛型 * 泛型:也就是集合中所有的元素都是统一的类型。3.注意:泛型 只能是引用数据类型,不能是基本类型。特点: 有序的:按照添加的顺序 不唯一:同一个元素可以装多次1:如何创建泛型对象ArrayList<泛型> list=new ArrayList<

2021-05-28 15:17:38 38

原创 day15

导包导包的作用:package包将类分离开来import导包则将类聚集起来,让其他包的类可见,使编译器能够识别。使用同一包下的类,不需要导包;使用不同包下的类,需要导包(即使是父子包的关系)所以只需要插入import就OK了package demo02;import java.util.Scanner;public class Demo02ScannerSum { public static void main(String[] args) { Scanner sc=new Sca

2021-05-28 15:14:20 36

原创 数组

数组的理解:数组对于所有编程语言来说都是重要的数据结构之一,Java 语言中提供的数组是用来 存储固定大小的同类型元素,通俗的理解,就是一组数的集合, 目的是用来一次存储多个数据。数组是程序中实现很多算法的基础,可以在一定程度上简化代码的书写。相关:1、 数组的好处:数组里的每个元素都有编号,编号从0开始,并且一次递增,方便操作其中的元素。2、 要在程序中使用数组,就必须要声明数组,再给数组分配内存。3、 数组对应在内存中一段连续空间。4、 数组元素必须是相同数据类型,可以是引用数据类型,但是同

2021-04-27 12:10:50 1030

原创 接口与包

接口接口在语法上与类相似,是一些常量和抽象方法的集合。需要注意的是:接口中的成员变量都是常量,成员方法都是没有方法体的抽象方法。注意:接口的特点:(1) 可以定义多继承;(2) 接口允许没有父接口;(3) 接口中的变量只能用pulbic、static和final来定义,方法只能被声明为public和abstract。接口与类的区别:接口不能用于实例化对象,没有构造方法。接口中所有的方法必须是抽象方法。接口不能包含成员变量,除了 static 和 final 变量。接口不是被类继承了,而是

2021-04-27 11:38:38 356

原创 day12

概念抽象类和具体类是相对的概念。“抽象”是一种存在思想逻辑中的概念,而“具体”是一种可见可触摸的现实对象。简单说,比如“人”比“男人”抽象一点,“动物”又比“人”更抽象一点,而“生物”又比“动物”更抽象。抽象的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排出,集中描述其共性,就会产生一个抽象性的概念。抽象思维,是人类思维达到高级阶段产生的一种能力,例如,当小孩子思维尚未成熟时,他们只能掌握具体概念,他们在学习代词“你、我、他”时往往遇到困难,因为代词具有较高的抽象性。一、抽象类与普通类

2021-04-10 21:52:33 51

原创 day11

一、基本概念接口接口类似于类,但接口的成员没有执行体,它只是方法、属性、事件和索引符的组合而已。接口没有构造方法,没有字段,不能被实例化。在应用程序中,接口就是一种规范,它封装了可以被多个类继承的公共部分一个类只有一个直接父类,但可以是实现多个接口。Java接口本身没有任何实现,只描述public行为,因此Java接口比Java抽象类更抽象化。Java接口的方法只能是抽象的和公开的,Java接口不能有构造方法,Java接口可以有public、static和final属性。特征:a. 具有publi

2021-04-10 21:46:45 38

原创 类的继承和多态(2)

多态:可以理解为事物存在的多种体现形态。简单举个例子:猫 x=new 猫();动物 y=new 猫();1.多态的体现父类的引用指向自己的子类对象;父类的引用也可以接收自己的子类对象。2 .多态的前提必须是类与类之间的关系,要么是继承(extends),要么是实现(implements),通常还有一个前提,就是存在覆盖(重写)。3.多态的好处多态的出现大大的提高了程序的可扩展性。但是只能使用父类的引用,访问父类的成员。4.类型转换(向上转型,向下转型)Anmial a=new Cat

2021-04-10 13:55:36 112

原创 类的继承和多态(1)

一、继承与重写1继承简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。继承是面向对象的三个基本特征–封装、继承、多态的其中之一,我们在使用JAVA时编写的每一个类都是在继承,因为在JAVA语言中,java.lang.Object类是所有类最根本的基类(或者叫父类、超类),如果我们新定义的一个类没有明确地指定继承自哪个基类,那么JAVA 就会默认为它是继承自Object类的。我们可以把JAVA中的类分为以下三种:类:使用

2021-04-06 10:23:22 105

原创 类和对象(3)

构造方法Java 构造方法有以下特点:(1)方法名必须与类名相同(2)可以有 0 个、1 个或多个参数(3)没有任何返回值,包括 void(4)默认返回类型就是对象类型本身(5)只能与 new 运算符结合使用值得注意的是,如果为构造方法定义了返回值类型或使用 void 声明构造方法没有返回值,编译时不会出错,但 Java 会把这个所谓的构造方法当成普通方法来处理。这时候大家可能会产生疑问,构造方法不是没有返回值吗?为什么不能用 void 声明呢?简单的说,这是 Java 的语法规定。实际上

2021-03-29 19:54:49 75

原创 类和对象(2)

一、成员变量和局部变量的区别:1.定义的位置不一样【重点】(1)局部变量:在方法的内部(2)成员变量:在方法的外部,直接写在类当中2.作用范围不一样【重点】(1)局部变量:只有方法当中才可以使用,出了方法就不能再用了(2)成员变量:整个类都可以通用3.默认值不一样【重点】(1)局部变量:没有默认值,如果要想使用,必须手动进行赋值(2)成员变量:如果没有赋值,会有默认值,规则和数组一样4.内存的位置不一样(了解)(1)局部变量:位于栈内存(2)成员变量:位于堆内存5.生命周期不一样(

2021-03-29 19:48:17 56

原创 类和对象

一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并

2021-03-28 18:33:46 57

原创 语句的方法

1.单if语句if (关系表达式1) {语句体1;} else if (关系表达式2){语句体2;}…else {语句体n+ 1;}int age = 10; //if语句 if (age >= 5){ System.out.println("这挺爽的"); System.out.println("这挺爽"); System.out.println("这挺"); }2.if-else语句if (关系表达式) {语句体1;} else

2021-03-22 22:38:29 109

原创 数据类型转换(2)

运算符Java的运算符可分为4类:算术运算符、关系运算符、逻辑运算符和位运算符。1.算术运算符Java的算术运算符分为一元运算符和二元运算符。一元运算符只有一个操作数;二元运算符有两个操作数,运算符位于两个操作数之间。算术运算符的操作数必须是数值类型。(1)一元运算符: 一元运算符有:正(+)、负(-)、加1(++)和减1(--)4个。加1、减1运算符只允许用于数值类型的变量,不允许用于表达式中。加1、减1运算符既可放在变量之前(如++i),也可放在变量之后(如i++),两者的差别是:如果放在变

2021-03-14 16:32:29 127

空空如也

空空如也

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

TA关注的人

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