自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaWeb JSTL核心库 简化JavaWeb代码语法

JSTL核心库 set标签 向域中设置数据 <c:set> </c:set> 举例 <body> ${requestScope.key}<br/> <c:set scope="request" var="key" value="通过set标签设置的值"/> ${requestScope.key}<br/> </body> 使用注意: 使用set标签时 scope属性代表域对象 var属性代表k

2022-01-14 16:38:39 471

原创 JavaWeb 文件下载 解决乱码问题 图文详解

文件下载 步骤 获取要下载的文件名 获取要下载的文件类型 将需要下载的文件类型告知服务器 告知服务器该文件用于下载 读取文件 使用IOutils将文件传给浏览器用于下载 实现文件下载 jsp <body> <form action="http://localhost:8080/WebTest06_upload_download/downloadServlet" method="post"> 需要下载的文件名:<input type="text" name="file

2022-01-14 16:34:38 643 2

原创 JavaWeb 文件上传

文件上传 不论是文件的上传还是下载都是网页中很常见的功能。 步骤 必须要有 form 标签,发送方式必须为 post form 标签的 encType 属性值必须为 multipart/form-data from标签中须使用 input type=file 需要编写服务器来接收文件 请求说明: 实现文件上传 jsp <body> <form action="http://localhost:8080/WebTest06_upload_download/uploadServlet

2022-01-14 16:31:55 356

原创 jsp的page命令

jsp的page命令 jsp的头部page命令 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k4qS1YMH-1642149022771)(C:/Users/MengN/AppData/Roaming/Typora/typora-user-images/image-20220107161106826.png)] contentType:jsp返回的数据类型,一般返回的是一个网页,所以默认为text/html,并默认其字符集为UTF-8 language:编写语言,默认为ja

2022-01-14 16:30:44 488

原创 jsp九大内存对象

jsp九大内置对象 request 请求对象 response 响应对象 pageContext jsp上下文对象 session 会话对象 application ServletContext对象 config ServletConfig对象 out jsp输出对象 page 指向当前jsp对象 exception 异常对象 jsp的四个域对象 pageContext 使用pageContext.setAttribute(key,value)设置数据 同一

2022-01-14 16:30:11 264

原创 jsp概念

jsp概念 java server pages java服务器页面 jsp看上去类似于html,但是其实际上是servlet程序,第一次访问jsp文件,会在jsp的包下生成对应的.class字节码文件和java文件,这是其与html的差别,所以jsp实际上就是一个类似于网页的servlet 为什么要使用jsp 在javaweb中,需要用servlet实现一些回传页面,但是直接在servlet中写html网页,虽然可以实现,但是十分麻烦而且没有提示,写起来花时间,维护起来也不方便,所以一般的servlet

2022-01-14 16:29:49 109

原创 JavaWeb jsp脚本

jsp脚本 声名脚本(用的不多) 作用:声名 <%! 声名 %> 声名类属性 <%-- 声名类属性 --%> <%! public int a = 5; public String name = "mn"; %> 声名静态代码块 <%-- 声名静态代码块 --%> <%! static { int b = 10; } %> 声名类方法 <%-- 声名类方法 --%>

2022-01-14 16:29:00 236

原创 JavaWeb jsp常用标签

jsp实现网页包含 在编写网页代码时,经常会出现一种需求,不同网页都会出现一个固定的内容,例如:导航栏,页面foot等。如果一个个复制粘贴,编写时可能不是很麻烦,但是需要修改时,网页每个都需要重新修改,网页代码也很复杂很冗余。所以,在jsp中会使用标签引入的方法来实现该效果。 静态包含 <%@include file="xxx.jsp"%> 例: <body> <%@include file="navigation.jsp"%> 网页内容<br/&

2022-01-14 16:28:20 398

原创 JavaWeb EL表达式概念

EL表达式 概念 expression language (表达式语言) jsp使用表达式脚本输出数据 <%= request.getAttribute(key) %> 使用EL表达式 ${key} 对比 <body> <% request.setAttribute("key","value"); %> <%= request.getAttribute("key") %></br> ${key}

2022-01-14 16:24:57 181

原创 EL表达式11个隐藏对象

EL表达式11个隐藏对象 变量 作用 类型 pageContext 可以获取jsp九大内置对象 PageContextImpl pageScope 获取pageContext域中数据 Map<String,Object> requestScope 获取request域中数据 Map<String,Object> sessionScope 获取session域中数据 Map<String,Object> applicationScope 获取

2022-01-14 16:24:26 353

原创 利用JDBC实现数据库的CRUD 实现最通用的操作!!!

利用JDBC实现数据库的CRUD 使用Statement 使用statement不是常用的数据库操作方式,其对数据库的操作是由拼接sql语句来实现的,因为拼接,所以可以使用很多方式造成数据库的漏洞,例如select语句,完全可以在where中拼接一个永真的语句,这就造成了漏洞的产生,所以一般使用的都是PrepareStatement(预编译的Statement) 使用PrepareStatement PrepareState使用预编译的形式,将值单独拉出来,语句预先编译好,这样减少了漏洞的产生 例: @Te

2021-10-23 22:30:19 620 2

原创 Java获取数据库连接 JDBC

获取数据库连接 不同的数据库在其内部的插入,删除,查询等方式是不同的,为了更好的使用,java将其统一起来,使用统一接口,不同的数据库在接口中实现这些统一接口的方法即可;这套统一的接口用来连接数据库,这套统一接口,称之为JDBC。 使用这样的规范,对于不同的数据库使用起来就比较方便,适用性也强了很多,不同的数据库使用不同的驱动即可。 连接流程 定义Driver(驱动) 定义url及info(数据库用户名及密码) url: jdbc:mysql(协议名)????/localhost(ip地址):330

2021-10-13 12:29:23 527

原创 android 多个类用接口传递数据(接口实例化方式)

接口实例化(匿名内部类): 定义三个类,A,B,C 以及一个接口 I 首先在 I 中随便定义一个方法 interface Itest{ void getNumber(int number); } 用来演示 之后在UserPutInNumber中定义这个接口,定义这个接口 定义就是把他变成UserPutInNumber这个类中的一个属性,并用setItest的方式设置接口 规定,想要使用接口,就必须完成里面的getNumber方法,方法参数可以自己设定。 class UserP..

2021-10-01 20:59:38 1136

原创 Java 内部类解析!

内部类 概念: Java中允许把一个类定义在另一个类中,被定义在内部的类,叫做内部类,另一个在外部的类,叫做外部类 分类: 内部类 成员内部类(静态内部类,非静态内部类)和 局部内部类(定义在方法,构造器,代码块中) 成员内部类: 作为类:可以被修饰(abstract,final)继承。类中定义方法、属性、构造器等 作为成员:可以被static修饰作为静态属性,可以调用外部类的结构,可以被权限修饰符修饰 四种权限修饰符.md 重点: 1.如何实例化内部类对象 public class InnerClass

2021-09-26 14:18:46 132

原创 Java新特性 Lambda表达式 详解!

Lambda表达式 在Java中使用Lambda表达式可以使得代码更加简洁,Lambda表达式适用于只有一个函数的接口(函数式接口) Lambda表达式结构 -> : Lambda操作符或箭头操作符 ->右侧的 () :Lambda形参列表(接口形参列表) ->右侧的 {} :Lambda体(接口具体实现的抽象方法的方法体) Lambda表达式本质 Lambda表达式用来作为实现接口的实例 Lambda结构 无参数 无返回值 情况一:没有参数 没有返回值 将函数替换为() ->

2021-09-26 14:15:45 260

原创 JavaWeb Servlet请求转发与请求重定向 图 + 文 + 代码 详解!!!

Servlet请求转发与请求重定向 请求转发 请求转发是指,服务器获取请求后,通过多个Servlet程序来处理请求的过程 代码实现 Servlet1 public class Servlet1 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

2021-09-26 14:14:25 2175 2

原创 JavaWeb Servlet是如何通过url定位的 一图详解!

2021-09-25 10:43:55 172

原创 JavaWeb Servlet请求分发 详解!

Servlet请求分发 在网页的表单请求中,经常会遇到不同的请求方式(get,post),对于不同的请求,需要不同的请求处理方式 方法一: 直接调用servletRequest没有选择获取请求方式的方法,但是其子类HttpServletRequest是有getMethod方法来获取请求方式的,所以先将其转化为HttpServletRequest,再判断,分别书写不同请求的不同逻辑 //service方法专门用来处理请求与响应 @Override public void service(ServletRequ

2021-09-22 22:46:08 860

原创 Java 多线程 在哪里使用 基本创建方式 图片+文字+代码 详解!!!

多线程 概念 程序: 是为了完成特定任务,用某种语言编写的一组静态代码,静态对象 进程: 是一个程序的一次执行过程,或是正在运行的程序,是一个动态的过程,存在生命周期。一个进程可以有一个或多个线程,进程作为内存资源分配的单元,系统在运行时会为每个进程分配不同的内存空间。 线程: 线程是进程细化的概念,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,那么其称之为 — 多线程 线程作为执行和调度的单位,每一个线程,拥有独立的运行栈和程序计数器(PC),线程切换的开销小 一个进程内的多个线程共

2021-09-20 11:16:07 189

原创 Tomcat介绍 IDEA使用 图文详解!!!

Tomcat 概念 Tomcat是最常见的JavaWeb容器,也称之为服务器,与其相类似的常见的服务器还有GlassFish,Resin,Weblogic,jboss 对应版本 不同的Tomcat对应着不同的Servlet以及JDK版本 Tomcat Servlet/JSP版本 JDK版本 4.1 2.3/1.2 1.3 5.0 2.4/2.0 1.4 5.5/6.0 2.5/2.1 1.5 7.0 3.0/2.2 1.6 8.0 3.1/2.3 1.7 常用的Tomc

2021-09-20 11:11:16 1759

原创 Java 代码块

代码块 代码块只能用static修饰,分为静态代码块和非静态代码块,代码块中可以有输出语句 形式 static{ System.out.print("hello"); } 作用:初始化各属性 静态代码块 随着类的加载而执行,如果有多个静态代码块,依照其书写顺序来判断其执行先后。 初始化类的信息,并且静态代码块会早于非静态代码块执行 — 整个静态代码块只会执行一次 可以调用静态变量和静态方法 非静态代码块 随着对象的创建而执行,如果有多个非静态代码块,也依照其书写顺序来判断其执行先后顺序 对象创建一

2021-09-16 19:07:04 135

原创 Java Wrapper包装类 类型转换 详解!!!

Wrapper包装类 什么是包装类? 基本数据类型 包装类 byte Byte int Integer long Long short Short double Double float Float boolean Boolean char Character 为什么需要有包装类? 包装类让java中的基本数据类型拥有像类一样的属性,可以使用方法,完善Java面向对象的概念 基本数据类型 包装类 String类型 三者的相互转化 基本数据类型→包装类 1.使用

2021-09-15 12:59:08 698

原创 Maven安装与配置

Maven安装与配置 为什么需要Maven 编写项目时需要导入很多jar包,Maven可以对项目jar包进行一个统一管理 下载 解压 Maven https://maven.apache.org/download.cgi 配置环境变量 M2_HOME:Maven目录下的bin文件夹 MAVEN_HOME:Maven目录 Path:Maven目录下的bin文件夹 此时cmd 修改配置文件 打开maven目录下的conf(配置)目录的settings文件 配置镜像:阿里云镜像 阿里云是Maven中国代

2021-09-11 21:35:52 150 1

原创 Java 什么是反射?Class类的理解!!!

反射概述与Class类的理解 反射的概述与理解 一般编写Java语言的代码都是静态的,也就是说代码运行的结果,在运行之前,已经被确定了;但也有少部分特例,如Random产生的随机数,在运行时才能被确定,对于这种编译时未确定,使用或称之为运行时确定的性质,称之为动态性,而反射是Java动态性的关键,反射可以让Java在运行时得到并修改任何类的属性,调用任何类方法。 一般的写代码习惯,都是知道了这个类有什么属性,什么方法,再去调用,去修改;每一个类在运行时,都是先通过javac命令都会被编译生成一个自解码文件,

2021-09-04 15:25:37 179 1

原创 Java中的IP --- InetAdress类 概述!

IP及InetAdress类 IP可以唯一的标识互联网上的计算机(通信实体) 本地回环地址:127.0.0.1 主机名:localhost IP地址分类一:IPV4和IPV6 IP地址分类二:公用网络(万维网)和私有地址(局域网),192.168.开头的就是私有地址,范围为192.168.0.0 — 192.168.255.255,专门为组织机构内部使用 在Java中使用InetAdress来代表IP InetAdress 构造器没有对外暴露,使用方法来创建其对象 **getByName(域名或IP地址)

2021-09-04 15:22:54 413 1

原创 Java TCP UDP网络传输协议 图片+代码 超详细解答!!

网络协议及编程示例 网络协议这边列举两个较为常用传输层的协议 TCP UDP TCP 特点 点对点的通信方式,一般应用于客户端和服务端 传输前需要建立TCP连接,形成数据传输通道 连接时需要先进行三次握手,确保连接双方存在,连接可靠性高 传输的数据量大 传输完毕需要释放已建立的连接,进行四次挥手,效率较低 例如:打电话 三次握手 为什么采取三次握手,不是一次两次,不是四次五次呢? 因为第一次和第二次握手之后,连接保证两者存在的可靠性相对较低,第三次握手之后可靠性提升很大,可达到99%,第四次第五次之后虽说

2021-09-04 15:21:57 514

原创 Java URL概述及编程示例!

URL概述及编程示例 URL — 统一资源定位符 表示网络上某一资源的地址,指明这个资源位置,还可以附带相应信息 格式 编程示例 使用URL资源统一定位符下载,并保存到本地 public class URLTest { public static void main(String[] args) { HttpURLConnection urlConnection = null; InputStream is = null; FileOutputStr

2021-09-04 15:18:58 234

原创 Java 网络编程概述

网络编程概述 Java实现了一个跨平台的网络库,所以编程时面对的都是同意的编程环境 目的 直接或间接的通过网络进行数据交换与通信 遇到的问题 一:如何准确的定位一台主机,定位主机上的应用程序 二:找到主机后如何进行可靠的数据交换,传输 问题一 通过IP定位特定的主机,通过端口号定位主机上的应用程序 IP和端口号组成串的叫做socket 问题二 通过一定的规则进行传输数据 — 网络通信协议 OSI参考模型(7层):太过理想化太过复杂,未在网络上推广 TCP/IP参考模型(4层):国际标准,广泛使用 ​ 应用层

2021-09-04 15:17:33 225

原创 Java IO流 使用异或进行文件的简单加密解密

文件的简单加密解密 文件的简单加密解密一般使用异或操作即相同为0不同为1;两次异或同一个值后,结果还原 1101 异或 1001 — 0100 0100 异或 1001 — 1101 还原 代码实现: public class SecurityTest { public static void main(String[] args) { File srcFile = new File("test3.jpg"); File destFile = new File("te

2021-09-01 11:20:58 601

原创 Java 序列化机制简单介绍!

序列化机制 概念 序列化机制就是把Java中的文件存储到本地文件或通过网络存储到另一个网络节点中 使用 对象的序列化需要与对象流结合使用 对象流(ObjectInputStream,ObjectOutputStream).md 实现序列化需要继承Serializable接口,Serializable接口是一个标识接口,接口中没有方法,但是在类中需要提供 static final long serialVersionUID = 42L; serialVersionUID — 序列化版本号,序列化时为了标识其内

2021-09-01 11:20:43 190

原创 Java IO流 任意存取流(RandomAccessFile)可以任意作为输出或输入流 使用介绍!插入操作详解!

任意存取文件流(RandomAccessFile) 概述 RandomAccessFile既可以作为输入流,也可以作为输出流 异同 相较其他输入输出流的异同 同 如果RandomAccessFile作为输出流出现,如果文件不存在,则会自动创建 异 1.RadomAccessFile不像其他流继承于四个流的抽象基类,其直接继承于Object类 2.RandomAccessFile既可以作为输入流,也可以作为输出流 3.如果RandomAccessFile作为输出流出现,若文件存在,覆盖不是全部覆盖,而是一个个

2021-08-31 17:24:26 454

原创 Java 标准输入输出流(System.in,System.out)使用

标准输入输出流 概述 System.in:标准的输入流,默认从键盘输入 System.out:标准的输出流,默认从控制台输出 可以使用System类的setIn(InputStream is)改变其输入对象 可以使用System类的setOut(PrintStream ps)改变其输出对象 使用 从键盘输入字符,之后在控制台输出其大写字符,输入e或exit时退出输入 public static void main(String[] args) { //先创建节点流对象(System.in是字节流)

2021-08-31 17:23:14 5502

原创 Java 数据流(DataInputStream,DataOutputStream)使用

数据流数据流(DataInputStream,DataOutputStream) 概述 DataInputStream,DataOutputStream可以 读取或写入Java中的基本数据类型的变量或字符串 使用 将基本数据类型的变量写出到文件中,再从文件中读取出来 public static void main(String[] args) { DataOutputStream dos = null; DataInputStream dis = null; try {

2021-08-31 17:22:47 3076

原创 Java 对象流(ObjectInputStream,ObjectOutputStream)详细解析!!!

对象流(ObjectInputStream,ObjectOutputStream) 概述 ObjectInputStream,ObjectOutputStream可以对基本数据类型数据和对象进行存取操作,它的强大之处在于可以将Java中的对象进行存储即序列化与反序列化 序列化:将Java对象存储到与平台无关的二进制文件或通过网络传输到另一个网络节点 使用ObjectOutputStream 反序列化:将Java对象从文件读取到内存中,使用ObjectInputStream Java对象的存取条件 1.对象所

2021-08-31 17:09:01 2285

原创 Java 最基础的IO流 节点流(文件流FileXxx)

节点流(文件流) 节点流(文件流)FileInputStream,FileOutputStream,FileReader,FileWriter FileReader 对于文件的节点字符流,读取时文件必须存在,否则会报异常 1.基本读取操作 调用read()方法,一次读取一个字符 public class FileReaderTest { //以下操作省略try-catch-finally,正常情况使用try-catch-finally处理异常 public static void main(

2021-08-31 17:07:14 137

原创 Java 打印流(PrintStream,PrintWriter)详细解析!

打印流(PrintStream,PrintWriter) 概述 PrintStream,Printwriter提供了一系列重载的print()方法和println()方法用于输出,可以在System.out时设置其对象,使得其不输出在控制台上,输出到文件中 使用 使用打印流对sout重定向 public static void main(String[] args) { PrintStream ps = null; FileOutputStream fos = null; try {

2021-08-31 17:05:17 534

原创 Java IO缓冲流详解!

缓冲流 概述 缓冲流,处理流的一种,套在节点流之外,可以大大提高节点流的文件读取速度 节点流使用的是数组,来批量传递字符或字节,缓冲流中则开辟了一个缓冲区, private static int defaultCharBufferSize = 8192; 查看源码可知,缓冲区大小为8192(2的10次)即读取字符或字节的个数为8192时,数据被传输一次 使用 先创建流对象,之后再放入BufferedXxx的构造器中,创建缓冲流对象注意关闭资源时关闭缓冲流对象之后即可自动关闭其内部的节点流,不需要重复关闭

2021-08-31 17:03:29 334

原创 Java IO流概述及结构

IO流概述及结构 概述 I/O是Input/Output的缩写,用于设备间数据的传输,读写文件;java中数据的读取和写入以流的方式(Stream) 分类 按照传输方向分:输入流,输出流 按照传输单位分:字符流(16bit),字节流(8bit) 按照流的角色分:节点流,处理流,转换流 结构 分类 字节输出流 字节输入流 字符输出流 字符输入流 抽象基类 InputStream OutputStream Reader Writer 文件(最基础的节点流) FileInputStream

2021-08-31 16:58:20 168

原创 Java File类详解!

File类概述 File类是一个描述文件或文件夹的类,常见构造器有 构造器一: File file1 = new File("test.txt"); File file2 = new File("E:\\ideaworkplace\\test\\FileIO\\test.txt"); 通过相对路径或绝对路径来构造File对象 注意: 在main方法中,相对路径代表的是在本工程之后 而在Test方法中,相对路径代表当前module下 构造器二: File file3 = new File("E:\\idea

2021-08-31 16:55:48 557

原创 Java File类常用方法

File类的常用方法 只能重命名,创建,修改,删除,获取各个属性,并不能修改文件内容,修改文件内容需要IO流 String getAbsolutePath() 获取文件的绝对路径 String getPath() 获取文件创建的路径,构造器中的路径 String getName() 获取文件名称 String getParent() 获取文件路径的父路径,是通过构造器中的路径往前找的,如果写的是相对路径则返回null long length() 获取文件长度,不能获取文件夹长度 long lastModif

2021-08-31 16:54:11 172

空空如也

空空如也

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

TA关注的人

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