标签: 编程语言

陈将 | 2024-11-30 | java编程语言

使用jsp+servlet+mybatis搭建三层项目结构

1.什么是三层结构? 三层架构‌是一种软件设计模式,它将整个业务应用划分为三个层次:表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。 这种架构的设计目的是为了降低系统各部分之间的耦合度,提高系统的可维护性和可扩展性。 ‌表示层(UI)‌: 负责与用户进行交互,接收用户的输入并显示处理结果。它通常包括前端界面和相关的控制器。使用HTML、CSS、Javascript,Jsp页面(Java Server Page)编写用户视图,在本例中使用Servlet程序充当视图层的控制器,完成请求的处理和响应。 ‌业务逻辑层(BLL)‌: 处理具体的业务逻辑,包括数据处理和业务规则的实现。它依赖于数据访问层获取数据,但不直接与用户交互。在本例中使用Java语言编写业务逻辑处理程序。 ‌数据访问层(DAL)‌: 负责与数据库进行交互,执行数据的增删改查操作。它为业务逻辑层提供数据服务,确保数据的持久化。在本例中使用ORM框架mybatis,编写数据库操作的程序,实现对数据库包括但不限于表的增、删、查、改操作。 2.实...

 1035 |  5 |  0 java编程语言

资深RenMin教师 | 2天前 | 编程语言

2025/4/13(哈哈哈哈哈)

IP地址表示 机器中存放的IP地址是 32位 的二进制代码( IPv4 ),每隔8位插入一个空格,可提高可读性,为了便于理解和设置,一般会采用 点分十进制方法 来表示:将32位二进制代码每8位二进制转换成十进制,就变成了4个十进制数,而后在每个十进制数间隔中插入,如下所示,最终为128.11.3.31: 因为每个十进制数都是由8个二进制数转换而来因此 每个十进制数的取值范围为0-255 。 分类IP地址:IP地址分四段,每段八位,共32位二进制数组成。在逻辑上,这32位IP地址分为 网络号 和 主机号 ,依据网络号位数的不同,可以将 下地址分为以下 5类 : 上图有下划线的为网络号,比如 A...

 8 |  0 |  0 编程语言

资深RenMin教师 | 2天前 | 编程语言

2025/4/14(哈哈哈哈哈)

通信方式和交换方式 通信方向:数据通信是指发送方发送数据到接收方,这个传输过程可以分类如下: 单工 :只能由设备A发给设备B,即数据流只能单向流动。 半双工 :设备A和设备B可以互相通信,但是同一时刻数据流只能单向流动。 全双工 :设备A和设备B在任意时刻都能互相通信。 同步方式 异步传输 :发送方每发送一个字符,需要约定一个起始位和停止位插入到字符的起始和结尾处,这样当接收方接收到该字符时能够识别,但是这样会造成资源浪费,传输效率降低。 同步传输 :以数据块为单位进行传输,当发送方要发送数据时, 先发送一个同步帧 ,接收方收到后做好接收准备,开始接收数据块, 结束后又会有结束帧确认 ,这样一次传输一个数据块,效率高。 串行传输 : 只有一根数据线 ,数据只能1bit挨个排队传送,适合低速设备、远距离的传送,...

 8 |  0 |  0 编程语言

资深RenMin教师 | 2天前 | 编程语言

2025/4/15(哈哈哈哈哈)

传输介质 双绞线 :将多根铜线按规则缠绕在一起,能够减少干扰;分为无屏蔽双绞线UTP和屏蔽双绞线STP,都是由一对铜线簇组成。也即我们常说的 网线 ,双绞线的传输距离在100m以内。 无屏蔽双绞线 UTP:价格低,安装简单,但可靠性相对较低,分为CAT3(3类UTP,速率为10Mbps)、CAT4(4类UTP,与3类差不多,无应用)、CAT5(5类UTP,速率为100Mbps,用于快速以太网)、CAT5E(超5类UTP,速率为1000Mbps)、CAT6(6类UTP,用来替代CAT5E,速率也是1000Mbps); 屏蔽双绞线 STP:比之UTP增加了一层屏蔽层,可以有效的提高可靠性,但对应的价格高,安装麻烦,一般用于对传输可靠性要求很高的场合。 网线 (八根,水晶头): T546A:绿白 绿 橙白 蓝 蓝白 橙 棕白 棕 T568B:橙白 橙 绿白 蓝 蓝白 绿 棕白 棕 光纤 :由纤芯和包层组成,传输的光信务在纤芯中传输,从PC端出来的信号都是电信号,要经过光纤传输的话,就必须将电信号转换为光信号。 多模光纤 ...

 6 |  0 |  0 编程语言

资深RenMin教师 | 2天前 | 编程语言

2025/4/26

程序设计语言基础知识 关于调用函数时的三种参数传递方式(传值、传引用、传地址)的区别 🖕🤡🖕传值调用(形参为普通变量类型): 函数的形参的值是实参的一份拷贝,函数体内修改形参时修改的只是“拷贝”而已,并不会对实参产生影响,即实参本身是没有改变的。如果想要在调用的函数中修改实参的值,使用值传递不能达到修改的目的,所以这时只能使用传引用或传指针的方式实现,代码实现如下 在下面的代码中,对形参中的a,b变量的修改不会影响到主函数中a,b的值(是两个不同作用域中的不同变量,a与a(b与b)是两个不同的地址空间。 #include<iostr

 10 |  2 |  0 编程语言

究极管理员 | 2天前 | 编程语言

每日总结4.29

子网划分 子网掩码用来区分那些是广播号,那些是主机号 为1的部分代表广播号,为0的部分代表主机号 案例1: 解析:B类网址,所以前16位为网络号;划分为27个子网,所以子网号为2^5=32位(包含27的最小数),将前16+5=21位全为1,后32-21=11位全为0,就能得到子网掩码。 案例2: ![](https://static...

 5 |  1 |  0 编程语言

究极管理员 | 2天前 | 编程语言

每日总结4.25

IP地址表示 机器中存放的IP地址是 32位 的二进制代码( IPv4 ),每隔8位插入一个空格,可提高可读性,为了便于理解和设置,一般会采用 点分十进制方法 来表示:将32位二进制代码每8位二进制转换成十进制,就变成了4个十进制数,而后在每个十进制数间隔中插入,如下所示,最终为128.11.3.31: 因为每个十进制数都是由8个二进制数转换而来因此 每个十进制数的取值范围为0-255 。 分类IP地址:IP地址分四段,每段八位,共32位二进制数组成。在逻辑上,这32位IP地址分为 网络号 和 主机号 ,依据网络号位数的不同,可以将 下地址分为以下 5类 : 上图有下划线的为网络号,比如 A类地址的网络号是8...

 21 |  1 |  0 编程语言

资深RenMin教师 | 2天前 | 编程语言

2025/4/25

算法分析设计 字符串匹配朴素算法Brute-Force(布鲁特-福斯) 💩💩💩算法思想 从主串S的第pos个字符开始,和模式串T的第一个字符开始比较,如果相等就继续比较后续字符,如果不等,则从(回溯到)主串S的第pos+1个字符开始重新和模式串T进行比较,直到模式串T中的每一个字符和主串的每一个连续字符子序列全部相等,则称匹配成功,返回和T第一个字符相等的字符在主串S中的位置;或者主串中没有和模式串相等的字符序列,则称匹配不成功。 主串S:a b a b c a b c a c b a b 子串T:a b c a c

 9 |  0 |  0 编程语言

究极管理员 | 1周前 | 编程语言

每日总结4.24

通信方式和交换方式 通信方向:数据通信是指发送方发送数据到接收方,这个传输过程可以分类如下: 单工 :只能由设备A发给设备B,即数据流只能单向流动。 半双工 :设备A和设备B可以互相通信,但是同一时刻数据流只能单向流动。 全双工 :设备A和设备B在任意时刻都能互相通信。 同步方式 异步传输 :发送方每发送一个字符,需要约定一个起始位和停止位插入到字符的起始和结尾处,这样当接收方接收到该字符时能够识别,但是这样会造成资源浪费,传输效率降低。 同步传输 :以数据块为单位进行传输,当发送方要发送数据时, 先发送一个同步帧 ,接收方收到后做好接收准备,开始接收数据块, 结束后又会有结束帧确认 ,这样一次传输一个数据块,效率高。 串行传输 : 只有一根数据线 ,数据只能1bit挨个排队传送,适合低速设备、远距离的传送,般用于广域网中。 并...

 14 |  0 |  0 编程语言

资深RenMin教师 | 1周前 | 编程语言

2025/4/24

算法分析设计 字符串匹配KMP算法及求next值算法

 27 |  2 |  1 编程语言

究极管理员 | 1周前 | 编程语言

每日总结4.22

传输介质 双绞线 :将多根铜线按规则缠绕在一起,能够减少干扰;分为无屏蔽双绞线UTP和屏蔽双绞线STP,都是由一对铜线簇组成。也即我们常说的 网线 ,双绞线的传输距离在100m以内。 无屏蔽双绞线 UTP:价格低,安装简单,但可靠性相对较低,分为CAT3(3类UTP,速率为10Mbps)、CAT4(4类UTP,与3类差不多,无应用)、CAT5(5类UTP,速率为100Mbps,用于快速以太网)、CAT5E(超5类UTP,速率为1000Mbps)、CAT6(6类UTP,用来替代CAT5E,速率也是1000Mbps); 屏蔽双绞线 STP:比之UTP增加了一层屏蔽层,可以有效的提高可靠性,但对应的价格高,安装麻烦,一般用于对传输可靠性要求很高的场合。 网线 (八根,水晶头): T546A:绿白 绿 橙白 蓝 蓝白 橙 棕白 棕 T568B:橙白 橙 绿白 蓝 蓝白 绿 棕白 棕 光纤 :由纤芯和包层组成,传输的光信务在纤芯中传输,从PC端出来的信号都是电信号,要经过光纤传输的话,就必须将电信号转换为光信号。 多模光纤 MMF:纤...

 11 |  0 |  0 编程语言

酱料女皇 | 1周前 | 编程语言

4.22总结

1.原码 以14(D)和-21(D)为例 ,用二进制计算 14(D)= 00001110 , -21(D)=10010101 第一位是符号位 0表示正数 1表示复数 ,不够8位要补齐,在前面加0 2.反码 标志位不变,其他取反 ,如果是正数 原码=反码=补码 14(D)= 00001110 -21(D)= 11101010 3.补码 反码+1 -21(D)=11101010+1=11101011 4.计算机内的计算方法 加法:补码+补码 14(D)+(-21(D))= 00001110 + 11101011 = 11111001 补码- 反码- 原码:11111001- 11111000- 10000111 (转化为十进制)=-7 减法:14(D)-(-21(D))=14(D)+ 21(D) 由于是正数 所以符号位要变为0 所以21(D)= 00010101 14(D)-(-21(D))=14(D)+ 21(D)= 00001110 + 00010101 = 00100011 (转化为十进制)=35 总结: 1. 8位二进制数能表示十进

 35 |  3 |  4 编程语言

资深RenMin教师 | 1周前 | 编程语言

2025/4/23

软件工程基础知识 白盒测试 逻辑覆盖法 根据覆盖目标的不同,逻辑覆盖又可以分为语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖、组合覆盖和路径覆盖。 语句覆盖:选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。 判定覆盖:通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值,也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次,也称为“分支覆盖”。 条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。 判定/条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。----满足判定/条件覆盖的测试用例一定同事满足判定覆盖和条件覆盖。 组合覆盖:通过执行足够的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。----满足组合覆盖的测试用例一定满足判定覆盖、条件

 18 |  2 |  0 编程语言

资深RenMin教师 | 1周前 | 编程语言

2025/4/22

软件工程基础知识 McCabe度量法 可以用下述3种方法中的任何一种来计算环形复杂度。 😆(1)流图中的区域数等于环形复杂度。 😆(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 😆(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 【错题1】(C) 流图G的环形复杂度V(G)=E-N+2 👉10-8+2=4

 17 |  1 |  0 编程语言

资深RenMin教师 | 1周前 | 编程语言

2025/4/21

软件工程基础知识 敏捷开发 【定义】敏捷开发的总体目标是通过“尽可能早的,持续的对有价值的软件进行交付”使客户满意,通过在软件开发过程中加入灵活性,敏捷方法使用户能够在开发周期的后期增加或者改变需求。 5种敏捷开发方法 【极限编程(XP)】 XP是🚀️ 一种轻量级(敏捷)高效、低风险、柔性、可预测的、科学的软件开发方式🚀️ 。它由价值观、原则、实践和行为4个部分组成,彼此相互依赖、关联,并通过行为贯穿整个生存周期。 4大价值观:沟通、简单性、反馈和勇气。 5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。 12个最贱实践:计划游戏(快速制定计划、随着细节的不断变化而完善)、小型发布(系统的设计要能够尽可能的早地发布)、隐喻(找到合适的比喻传达信息)、简单设计(只处理当前的需求,使设计尽量的保持简单)、测试先行(先编写测试代码,然后再编写程序)、重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)、结对编程、集体代码所有制、持续集成(可以按日甚至按小时为客户提供可运行的版本)、每周工作40个小时、现场客户和编码标准...

 18 |  0 |  0 编程语言