02 2025 档案
摘要:一、封装:将类中的方法和属性定义为private,不允许外部程序访问,只能通过提供的公共的getter/setter方法进行访问。面向对象的三大特性之一。 封装的好处: 1.提高了代码的复用性:使用getter和setter公开方法访问私有属性,方法可以重复使用 2.隐藏了代码的实现细节和逻辑 3.
阅读全文
摘要:一、构造器与封装 用法:构造器+setxxx() 维护限制条件,避免在使用构造器的时候跳过该限制条件 public Person(){} //有三个属性的构造器 public Person(String name, int age, double salary) { setName(name);//
阅读全文
摘要:面向对象的三个重点:封装、继承和多态 概念:把抽象出的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(方法),才能对数据进行操作。 比如,对电视机的操作就是典型的封装 理解和好处: 1.隐藏实现细节:调用写好的方法就行 2.可以对数据进行验证,保证
阅读全文
摘要:自己目前的进度: 1.能够配置好javaweb所需要的环境 2.能够进行数据库的连接 3.能写对应的sql建表语句 面对的问题: 1.在新增数据的时候会出现中文乱码 2.在业务逻辑方面还不能理清楚 3.对servlet技术的掌握还不熟练 这学期的目标: 1.能做出完整的javaweb项目 2.能够实
阅读全文
摘要:一、Servlet 技术概述 核心定位与运行原理 Servlet 是 JavaEE 规范中处理 HTTP 请求的核心组件,通过 请求-响应模型 实现动态网页交互。其运行依赖 Web 容器(如 Tomcat),生命周期由容器管理,支持多线程处理并发请求。 ! // 典型 Servlet 类结构 @We
阅读全文
摘要:一、环境搭建(基于Tomcat 9+Eclipse) 推荐开发环境: <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <
阅读全文
摘要:一、Java 核心概念 跨平台原理 Java 程序通过 JVM(Java 虚拟机)实现跨平台特性,编译后的.class字节码文件可在任何安装 JVM 的设备运行。 // 编译命令:javac Main.java → 生成 Main.class // 执行命令:java Main public cla
阅读全文
摘要:开发环境配置 <!-- 创建Maven Web项目依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <sco
阅读全文
摘要:关键词:Filter、Listener、请求拦截、事件监听 学习目标:掌握过滤器和监听器的使用,理解它们在JavaWeb中的作用。 核心原理图解:过滤器链工作流程图,监听器事件处理流程图。 代码实现:使用过滤器实现请求日志记录,使用监听器实现在线人数统计。 问题排查:解决过滤器链中断问题,确保监听器
阅读全文
摘要:关键词:文件上传、文件下载、MultipartFile、ResponseEntity 学习目标:掌握文件上传和下载的基本原理和实现方法。 核心原理图解:文件上传和下载的流程图。 代码实现:使用Spring MVC实现文件上传和下载功能。 问题排查:解决大文件上传导致的内存溢出问题,防止文件下载过程中
阅读全文
摘要:关键词:异常处理、全局异常处理、AOP 学习目标:掌握JavaWeb中异常处理的基本原理和实现方法。 核心原理图解:异常处理的流程图,全局异常处理的架构图。 代码实现:使用Spring AOP实现全局异常处理。 问题排查:解决未捕获异常导致的程序崩溃问题,防止异常信息泄露。 扩展思考:异常处理的最佳
阅读全文
摘要:用Filter统一处理字符编码(解决中文乱码问题) 学习目标与前置知识 理解Filter的基本概念和生命周期。 掌握如何在Filter中设置字符编码。 了解常见的字符编码问题及其解决方案。 核心原理图解 Filter链的执行流程图。 字符编码设置的时序图。 分步骤代码实现 创建Filter类 首先,
阅读全文
摘要:关键词:事务管理、ACID、声明式事务、编程式事务 学习目标:掌握JavaWeb中事务管理的基本原理和实现方法。 核心原理图解:事务管理的流程图,声明式事务和编程式事务的对比图。 代码实现:使用Spring的声明式事务和编程式事务实现数据一致性。 问题排查:解决事务传播问题,防止事务回滚导致的数据不
阅读全文
摘要:一、Servlet基础概念与生命周期 1.1 Servlet的本质 Servlet是JavaEE规范中用于处理HTTP请求的核心组件,其本质是运行在Web服务器中的Java程序。与静态网页不同,Servlet通过动态生成内容实现个性化响应。 // 基础Servlet结构示例 public class
阅读全文
摘要:关键词:Tomcat配置、Maven依赖、Servlet生命周期 一、环境搭建 在开始我们的JavaWeb学习之旅之前,首先需要好搭建开发环境。这里我们使用Tomcat作为Web服务器,IDE作为开发A工具。 安装Tomcat 下载Tomcat:访问,下载最新版本的Tomcat。 解压Tomcat:
阅读全文
摘要:Servlet是Java Web开发的基础,它是一个运行在服务器端的小程序,用于处理客户端的请求并生成响应。 创建Servlet import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; im
阅读全文
摘要:用户需求为创新之本 书中以iOS系统为例,说明创新需直击用户痛点,而非技术炫技。通过“四象限方法”区分需求优先级(如杀手功能、必要需求),可避免资源浪费。例如,词典App的“屏幕取词”是杀手功能,而皮肤更换仅为辅助需求。 快速迭代验证创新可行性 邹欣提出“Build To Learn”到“Build
阅读全文
摘要:团队模式与角色平衡 书中归纳了10种软件团队模式,如“主治医师模式”(以核心成员主导)和“交响乐团模式”(严格分工协作)。成功的团队需根据项目需求灵活调整模式,例如初创项目适合“爵士乐模式”(即兴协作),而大型项目则需“官僚模式”确保流程规范。 结对编程的实践与争议 结对编程被描述为“驾驶员-观察员
阅读全文
摘要:《构建之法》开篇即颠覆了“软件即代码”的片面认知,提出“软件=程序+软件工程”,强调软件工程是系统化的开发流程,包括构建管理、源代码管理、设计、测试和项目管理等环节。 从“码农”到工程师的转变 书中指出,软件工程师需跳出单纯写代码的局限,关注架构设计、用户需求分析及团队协作。例如,初级工程师常陷入“
阅读全文
摘要:关键词:会话管理、状态保持、安全性 学习目标:理解Session和Cookie的工作原理,掌握它们在JavaWeb中的应用。 核心原理图解:Session和Cookie的工作流程图,安全性对比图。 代码实现:使用Session和Cookie实现简单的登录功能。 问题排查:解决Session超时问题,
阅读全文
摘要:/* 当进行计算时返回的结果没有想要的结果时, 就用包装类返回null 再在main中进行判断有没有结果 */ public class Homework06 { public static void main(String[] args) { Cale a1 = new Cale(2, 10);
阅读全文
摘要:题目: 刚开始没有想到用面向对象的方法对书这个类进行操作 /* 我在练习中出现的问题: 1.读题时,不确定方法有没有返回值,以为自己在方法中写了输出语句,但是没有 2.在main函数中,发先需要返回值,并误将double认为int类型 3.在方法中修改返回值之后忘记加return语句 其实两种方法都
阅读全文
摘要:三.this的用法: 1.在构造器中调用另一个构造器 (注意:该语句要在第一条,只能在构造器中使用) 2.调用成员方法: this.方法名(参数列表) 3.不能再类外部使用 4.用于访问类的属性,是有就近原则在的 总之,this可以用来访问属性、成员方法和构造器 5.this用来区分局部变量和属性
阅读全文
摘要:== 我的疑问:== 当形参名name和类中的名name一样时, name=name是什么意思 输出的又是哪个name 1.不用this锁出现的问题 指向它,就相当于是它的名字 public class Tis01 { public static void main(String[] args) {
阅读全文
摘要:public class Constructor { public static void main(String[] args) { Person3 p=new Person3("xiaoli",30); } } class Person3{ int age=90; String name; //
阅读全文
摘要:当类中,没有定义类的构造函数时,系统会有默认的无参构造函数 特别注意,当定义了构造函数时,默认的无参构造函数就不存在了,要用的话,就需要显示的定义,例如,Dog(){} public class ConstructorDetail { public static void main(String[]
阅读全文
摘要:public class ConstructorDetail { public static void main(String[] args) { person1 p1=new person1("xiaoming",18);//第一个构造器 person1 p2= new person1("xiao
阅读全文
摘要:/* 构造器没有返回值 方法名和类名一样 修饰符 方法名 (形参列表){ } */ public class constructor01 { //先写一个main方法 public static void main(String[] args) { Person p1 = new Person("l
阅读全文