自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaWeb(跳转)

请求转发是服务器内部的跳转,由服务器将请求从当前资源(如 Servlet)转发到另一个资源(如 JSP、Servlet),整个过程共享同一个 HTTP 请求对象(重定向是客户端的跳转,由服务器向客户端返回一个 302 状态码和目标资源的 URL,客户端收到后自动向新 URL 发送第二次请求。请求转发和重定向是 JavaWeb 中实现资源跳转的核心技术,关键区别在于跳转主体和请求次数。

2025-10-17 09:37:32 921

原创 javaweb(BeanUtils )

使用BeanUtils.describe(bean)方法,将 JavaBean 的属性名作为 Map 的 key,属性值作为 Map 的 value,转换为 Map<String, String>(注意:所有属性值都会被转为 String 类型)。使用BeanUtils.copyProperties(dest, src)方法,将源对象(src)的属性值拷贝到目标对象(dest)中,要求两个对象的属性名相同、数据类型兼容(如 int 与 Integer 可自动转换)。

2025-10-17 09:19:26 579

原创 JavaWeb(重点)

如果是servlet要访问的资源是相对于web的路径(web/file),普通java类的资源可以放在src。业务逻辑要聚焦完成业务逻辑,给客户的状态返回的信息,尽量放在显示层,在业务逻辑层以最简单的方法表示状态。分析问题从web层—〉dao层,实机开发代码从dao层—〉web层(因为上层需要依赖下层)写代码不光只考虑代码的功能实现,还要更多的考虑代码的安全性和健壮性,以及扩展性。在开发一个项目时:首先要建立原型(包含整个项目功能的页面(静态)1、可行性研究:法律问题,有没有市场,技术问题,运用的环境。

2025-09-26 08:45:09 222

原创 javaweb(servlet)

Servlet 规范的核心是javax.servlet.Servlet接口,所有 Servlet 类都需直接或间接实现该接口,接口包含 5 个核心方法:​。Servlet 的生命周期由 Servlet 容器(如 Tomcat)管理,分为 4 个阶段:​。初始化 Servlet(仅调用 1 次),用于加载配置、初始化资源(如连接数据库)​。销毁 Servlet(仅调用 1 次),用于释放资源(如关闭数据库连接)​。(2)编写登录 Servlet(LoginServlet.java)​。

2025-09-19 09:22:26 647

原创 JavaWeb(概述)

请求域(request)< 会话域(session)< 应用域(servletContext),作用范围依次增大。- 应用服务器:实现 Servlet 规范,可运行动态代码(Tomcat、Jetty、Undertow)。把 HTML 中嵌入 Java 代码,编译后本质就是一个 Servlet,用于“模板渲染”。认证(你是谁)+ 授权(你能干什么);Web 层(Servlet、JSP、WebSocket、JSF)← 本笔记聚焦区。现代主流:服务端只给数据(JSON),不再拼 HTML(前后端分离)。

2025-09-09 11:20:36 374

原创 编程常见单词

6. TCP/IP [ˌtiː siː ˈpiː ˌiː ˈpiː]:传输控制协议 / 互联网协议(Transmission Control Protocol / Internet Protocol)4. HTTP [ˌeɪtʃ tiːˈtiː piː]:超文本传输协议(Hypertext Transfer Protocol)5. HTTPS [ˌeɪtʃ tiːˈtiː piː ˈes]:超文本传输安全协议(HTTP Secure)

2025-06-27 14:38:24 624

原创 JAVA(JDBC)

这里的 `url` 是数据库的连接地址,`localhost` 表示数据库服务器运行在本地机器上,`3306` 是 MySQL 的默认端口号,`mydatabase` 是要连接的数据库名称。如果执行的是更新语句(如 `INSERT`、`UPDATE`、`DELETE`),可以使用 `executeUpdate()` 方法,它会返回一个整数,表示受影响的行数。通过 `PreparedStatement` 对象的 `setString()`、`setInt()` 等方法可以设置 SQL 语句中的参数。

2025-06-05 19:49:37 820

原创 JAVA(网络编程)

TCP(传输控制协议):面向连接的协议,提供可靠的数据传输服务,保证数据的顺序和完整性,但效率相对较低。适用于对可靠性要求较高的场景,如文件传输、邮件等。端口号用于标识设备上的应用程序,范围是 0 - 65535,其中 0 - 1023 是系统保留端口,1024 - 65535 是用户可用端口。ServerSocket 类:用于实现 TCP 服务器端,负责监听客户端的连接请求,并创建 Socket 对象与客户端通信。Socket 类:用于实现 TCP 客户端,负责建立与服务器的连接,并进行数据传输。

2025-05-29 18:27:49 726

原创 JAVA(序列化)

通过实现`Serializable`接口并使用`ObjectOutputStream`和`ObjectInputStream`类,可以轻松地实现序列化和反序列化操作。如果一个类实现了`Serializable`接口,但没有显式地定义`serialVersionUID`,Java会根据类的结构(如字段、方法等)自动生成一个版本号。`serialVersionUID`是一个序列化版本号,用于在反序列化时验证序列化对象的版本是否与当前类的版本一致。因此,在反序列化时需要谨慎处理,避免反序列化不可信的数据。

2025-05-22 17:45:37 1103

原创 JAVA(IO流)

BufferedInputStream`:带有缓冲功能的输入流,提高读取效率。`BufferedReader`:带有缓冲功能的字符输入流,支持按行读取。`BufferedWriter`:带有缓冲功能的字符输出流,支持按行写入。输出流:`OutputStream`及其子类,用于向目标写入字节数据。输入流:`InputStream`及其子类,用于从源读取字节数据。输出流:`Writer`及其子类,用于向目标写入字符数据。输入流:`Reader`及其子类,用于从源读取字符数据。

2025-05-08 18:55:01 554 3

原创 JAVA(类集)

类集框架(Collection Framework)是Java提供的一套用于存储和操作对象组的接口和类,位于java.util包中。boolean remove(Object o) // 删除元素。Iterator<E> iterator() // 获取迭代器。boolean add(E e) // 添加元素。ArrayList:基于动态数组,查询快,增删慢。LinkedList:基于链表,增删快,查询慢。Vector:线程安全的动态数组(已过时)int size() // 获取元素数量。

2025-04-17 18:59:04 535

原创 JAVA(泛型)

• Java 的集合框架(如`ArrayList`、`HashMap`等)广泛使用了泛型,可以指定集合中存储的元素类型,提高类型安全性和代码可读性。• 由于类型擦除,运行时无法获取泛型的具体类型信息,因此不能使用`instanceof`检查泛型类型,也不能创建泛型数组。// 错误:静态字段不能使用泛型参数。• 静态方法:静态方法不能直接使用类的泛型参数,因为静态方法属于类,而不是类的实例。

2025-04-16 21:18:39 797

原创 JAVA(定时调用)

• 资源释放:在使用完`ScheduledExecutorService`后,建议调用`executor.shutdown()`来关闭线程池,释放资。• 任务取消:可以通过调用`TimerTask.cancel()`或`Timer.cancel()`来取消任务或整个定时器。• 资源释放:在使用完`Timer`后,建议调用`timer.cancel()`来释放资源,避免线程泄漏。• `Timer`是一个简单的任务调度工具,可以用于在指定的时间后执行任务,或者周期性地执行任务。

2025-04-16 21:12:03 406

原创 JAVA笔记(常用类)

而 StringBuffer 是可变的,可以在原有对象的基础上进行修改,这在需要频繁修改字符串的场景下可以提高效率,避免频繁创建新对象带来的性能开销。这些类包括`LocalDate`(表示日期)、`LocalTime`(表示时间)、`LocalDateTime`(表示日期和时间)、`ZonedDateTime`(表示带时区的日期和时间)等。• `replace(int start, int end, String str)`:从指定的开始位置(start)到结束位置(end)替换为新的字符串(str)。

2025-04-10 18:46:03 475

原创 JAVA(多线程)

不要用stop函数强制停止线程,强制停止线程会让程序处于不可控的状态。什么是线程:进程(一个应用程序就对应一个进程,占用内存、资源)Java程序执行时至少有两个线程,分别为主线程和垃圾回收线程。为了完成一个进程中的多个对象的控制,一个进程分为了多个线程。run()所有要执行的(多线程代码要写在里面。第一种线程的创建方法使用更方便。实现Runnable接口。start()开始函数。

2025-04-02 13:19:23 431

原创 JAVA笔记(异常和包)

printStackTrace() :获取异常类名和异常信息,以及异常出现在程序中的位置。如果父类抛出多个异常,那么覆写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常。//如果这个函数将来有异常处理,有两种策略,1.立即用try处理,2.不处理,抛给调用。toString() :获取异常类名和异常信息,返回字符串。例: System.out --- (e.getMessage());例: System.out --- (e);一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。

2025-03-27 19:29:32 155

原创 JAVA笔记(类的设计)

适配器设计模式:在继承接口时,要全部实现接口中的方法,这样很多用不到的也要实现很麻烦,所以就有适配器的出现,即创建一个抽象类并用抽象类里的空方法体来实现接口中的所有方法,然后其他类从这个抽象类中继承,就可以有选择地实现相关方法。类的设计主要是父类的设计,子类最好不要去继承一个已经完全实现好了的类,因为一旦发生向上转型,所调用的方法一定是被子类覆盖过的方法,所以只会返回子类重写的结果。内部类:也会生成自己独立的class文件,命名的规则是 outname$inname。接口里边可以定义内部接口和抽象类。

2025-03-20 19:10:26 243

原创 JAVA笔记(面向对象)

态,其实就是用父类来接受子类的实例,而子类覆盖父类方法。如果既可以用抽象类又可以用接口,优先使用接口,因为接口可以多实现。子类重写了父类的方法后,子类创建的实例就会以就近原则调用重写后。子类调用父类用 super 如:super.eat();java中只能有一个父类(单继承),但是可以多层继承。注意:Java中子类可以实现新接口(单继承,多实现)方法的重写,注意重写(父子)和重载(同一个类中)子类在创建实例会调用所有超多层的父类,都会调用。子类不能继承父类的私有的成员变量。

2025-03-13 19:17:21 201

原创 JAVA笔记(面向过程)

面向过程和面向编程的最大的区别 面向过程首先考虑的是怎么做,而面向对象先考虑的是让谁(类)做然后再考虑怎么做。 形象比喻:面向过程就是杠者思维,面向对象是老板思维,面向对象更适合做大项目。 内存四大分区:栈 stack 堆 heap 静态存储区 代码区 Java中地址比较:Java中的==比较地址 if(name0 == name1) 内容比较:Java比较字符串内容用equals函数例:if(name0.equals(name1)) Java针对String name2 = "huairen" ;这种最

2025-03-06 19:28:44 372

原创 JAVA笔记(多条件和面向对象)

set和get方法,可以给私有的成员变量赋值和取值,成员变量只有加上set和get方法后,对象才拥有属性。二维数组的定义:int[][] arr = new int[3][4];Java中的二维数组每一行的列数可以不一样,C语言的二维数组列数必须一样。在实际开发中,只要定义有参数的构造函数,就必须写上无参数的构造函数。方法的重载:只有方法的参数的个数和类型不同,其他都相同就是方法的重载。如果自定义了有参数的构造函数,系统将不再自动创建无参数的构造函数。二维数组中arr.length得到的是二维数组的行数。

2025-03-05 15:34:31 160

原创 JAVA笔记(JAVA基础语法)

1)定义变量:程序在执行过程中有些数据需要临时存放,所以在内存中临时开辟空间来存,并且会跟程序的执行而发生变化。转义字符:java程序中,有些符号被系统征用,例如“\”,如果想要表达它需要转义,这转义的前导符为\。变量的命名规则是第一个单词的首字母不大写,其他单词的首字母都要大写studentScore。2)数据类型是为解决定义变量时内存开辟空间的大小问题,实现对内存的高效管理的问题。计算机的字符本质都是二进制数,这就是计算机加密技术的理论基础。

2025-02-27 19:33:59 143

原创 JAVA笔记(JAVA的来源)

设置环境变量:path(路径)C : Program Files\Java \ jdk1.8.0 74 \ bin。是一门开发语言高级语言:c语言VB Python C++ C# php Java。软件版本的选择:不要选最新的,选最稳定版本(次新版次次新版,考虑硬件的性能)java:执行java的字节码文件Iclass文件:字节码文件。开发第一个java程序:HelloWorld . java。javac:将java源程序编译成字节码文件。2、面向对象:java。java的特性:跨平台。

2025-02-20 16:29:34 197

空空如也

空空如也

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

TA关注的人

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