MVC架构设计模式
不使用mvc架构的缺陷在不使用MVC架构模式的前提下,完成银行账户转账。分析这个程序存在哪些问题? 缺点1>代码的复用性太差。(代码的重用性太差) 导致缺点1的原因? 因为没有进行”职能分工”,没有独立组件的概念,所以没有办法进行代码复用。代码和代码之间的耦合度太高,扩展力太差。 缺点2>耦合度高,导致了代码很难护展。 缺点3>操作数据库的代码和业务逻辑混杂在一起,很容易出错。编写代码的时候很容易出错,无法专注业务逻辑的编写。 分析以下AccountTransferServlet他都负责了什么? 负责了数据接收 负责了核心的业务处理 负责了数据库表中数据的CRUD操作 (Create【增】 Retrieve【査】 Update【改】 Delete【删】) 负责了页面的数据展示 公司中一般都有很多员工,每个员工都各司其职,为什么要这样? 保洁阿姨负责打扫卫生 杜老师负责教学大纲的指定 郭老师负责上课 王老师负责学习就业*我们公司只有一个员工。这个员工负责所有的事情。生病了。–>公司倒闭了。 理论基础 javaEE设计模式...
黑马程序员SSM
spring核心概念 目标:充分解耦 使用IoC容器管理bean(IoC) 在IoC容器内将有依赖关系的bean进行关系绑定(DI) 最终效果 使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系 IoC入门案例思路分析 管理什么?(Service与Dao) 如何将被管理的对象告知IoC容器?(配置) 被管理的对象交给IoC容器,如何获取到IoC容器?(接口) IoC容器得到后,如何从容器中获取bean?(接口方法) 使用Spring导入哪些坐标?(pom.xm1) 先导入spring依赖,然后新建 这个就是spring的配置文件,取名applicationContext.xml 123456<!--1.导入spring的坐标spring-context,对应版本是5.2.10.RELEASE--><!--2.配置bean,id随便写,class对应要管理的对象--><bean id="bookDao" class="com.itheima.dao.impl.BookD...
博客笔记
live2d对于live2d,ai告诉我一个比原版更聪明的看板娘,安装方法是: 方案二:利用 Butterfly 的 inject 功能(最优雅) Butterfly 专门提供了一个 inject 配置项,允许你把代码插入到页面的特定位置,而不用去翻找复杂的 HTML 文件。 打开 _config.butterfly.yml。 找到 inject: 部分,在 bottom: 下面添加那行脚本: 12345inject: head: # 可以在这里加 CSS bottom: - <script src="https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script> 看板娘看板娘的这个我应该怎么变成右下角固定 如果你使用的是这个 autoload.js 脚本,它默认通常会出现在左下角。要将其固定到右下角,最直接的方法是通过 CSS 覆盖。 由于这个脚本在运行时会自动往页面注入一个 ID 为 wa...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
老杜MyBatis
一、MyBatis概述1.1 框架 在文献中看到的framework被翻译为框架 Java常用框架: SSM三大框架:Spring + SpringMVC + MyBatis SpringBoot SpringCloud 等。。 框架其实就是对通用代码的封装,提前写好了一堆接口和类,我们可以在做项目的时候直接引入这些接口和类(引入框架),基于这些现有的接口和类进行开发,可以大大提高开发效率。 框架一般都以jar包的形式存在。(jar包中有class文件以及各种配置文件等。) SSM三大框架的学习顺序:MyBatis、Spring、SpringMVC(仅仅是建议) 1.2 三层架构 表现层(UI):直接跟前端打交互(一是接收前端ajax请求,二是返回json数据给前端) 业务逻辑层(BLL):一是处理表现层转发过来的前端请求(也就是具体业务),二是将从持久层获取的数据返回到表现层。 数据访问层(DAL):直接操作数据库完成CRUD,并将获得的数据返回到上一层(也就是业务逻辑层)。 Java持久层框架: MyBatis Hibernate(实现了JPA规范) jOOQ Guz...
Servlet-JSP-课堂笔记
关于直播 什么时间直播? 晚上8:00到10:00 每周直播几天? 3天(周一、周三、周五) 本周比较特殊:周四周五周六三天直播,从下周开始就是一三五直播。 直播什么内容? 从JavaWEB开始。(Servlet为核心,从Servlet开始学习。) JSP(JSP使用较少了,但是还有用,所以时间上少一些。快速地学习一下JSP。) AJAX(异步通信技术。) jQuery(JavaScript库。) MyBatis Spring SpringMVC SpringBoot SpringCloud …. 需要提前准备了哪些技术,接下来的课才能听懂? JavaSE(Java语言的标准版,Java提供的最基本的类库) Java的开发环境搭建 Java的基础语法 Java的面向对象 数组 常用类 异常 集合 多线程 IO流 反射机制 注解Annotation ….. MySQL(数据库) 最基本的要求是:能够编写增删改查等简单的SQL语句即可。 JDBC(Java语言链接数据库) 这是一套Java语言链接数据库的接口。 WEB前端(会一些) HTML(网页) CSS...
一小时k8s
kubernetes组件一个节点就是一个物理机或者虚拟机,在这个节点上我们可以运行一个或者多个Pod,Pod是Kubernetes的最小调度单元,一个Pod就是一个或者多个应用容器的组合。它创建了一个容器的运行环境,在这个环境容器可以共享一些资源,假设我们的系统包括一个应用程序和一个数据库,就可以将应用程序和数据库分别放到两个不同的Pod中,一般我们建议一个Pod中只运行一个容器,但是并不是只能运行一个容器,这样可以更好地实现应用程序的解耦和扩展,其实一个Pod中是可以运行多个容器的,但是一般也仅限于这些容器是高度耦合的情况,它们之间为了实现某种功能或者共享资源而不得不放到同一个Pod中,比如大家经常听到的Sidecar也就是边车模式,就是将一个应用容器和一个辅助容器放到同一个Pod中,这个辅助容器就是Sidecar,通常用来实现一些辅助的功能。 现在我们已经将应用程序和数据库分别放到了两个Pod中,应用程序要访问数据库的话就需要知道数据库的IP地址,这个IP地址是在Pod创建的时候自动分配的,它是一个集群内部的IP地址,Pod之间可以通过这个IP地址来进行通信,这样我们的应用程...
快速Nginx
1234567891011#启动nginx#检查进程ps -ef | grep nginx#查看端口占用情况lsof -i:80#控制nginx的停止或重启nginx -s signal(signal是下图中的任意一个) <img src=”./images/快速nginx/image-20251101231003548.png” 静态站点部署输入下面的命令,然后找到nginx.conf,安装方式不同会导致这个配置文件的位置不同 12345#查看Nginx的安装目录 编译参数以及配置文件和日志文件的位置各种信息nginx -V使用vscode打开这个配置文件连接shelter@192.168.23.128 <img src=”./images/快速nginx/image-20251101231500956.png” 往下翻找到一个server的部分,然后在 server 里面还有一个location,这个location就是匹配我们在浏览器中输入的URL的,比如这里的斜线就表...
快速shell
12345678910111213#查看shell环境变量的值(使用的什么)echo $SHELL#查看当前正在执行的脚本的名称echo $0#可以直接输入其他脚本的路径来切换到这个脚本/bin/sh#退出exit 编写shell脚本脚本文件可以是任何扩展名,但是约定为sh Shell脚本文件的第一行一般是一个#!,后面加上bin/bash用来表示这个脚本文件使用的是Bash解释器,用其他的解释器也可以替换,比如bin/zsh 12345#!/bin/bashecho "Hello Shell"date#显示时间whoami#显示当前用户 编辑完保存一下并执行 12chmod a+x hello.sh#设置权限./hello.sh#执行 Shell脚本也是支持函数的,Shel脚本中的变量默认是全局的,它的作用域是从定义的地方开始一直到脚本结束,如果想要在函数中定义一个局部变量的话就需要在变量的前面加上一个local关键字 1234567891011121314151617181920#!/bin/bash# 函数:检查一个数是否为素数...
快速学习Linux
12345678#启动vimvi hello.txt#查看文件夹ls#查看文件内容cat hello.txt 进入时是命令模式,冒号是尾行模式的前缀,:q是退出,q是quit 上图是命令模式每个按键的作用,下图是光标移动 p键也可以把刚刚删除的内容粘贴到这里 输入2yy可以复制两行,2就是表示复制或者粘贴的次数 12345678910111213141516171819202122232425262728#显示行号:set number:set nu#缩写#关闭行号:set nonumber#快速地跳转到文件的最后一行G#跳转到文件的第一行gg#跳转到文件中指定的某一行行号G:行号#输入#查找(输入,区分大小写,内容后面\c可以忽略大小写)/内容#从光标位置开始向下查?内容#从光标位置向上查n#继续向下或向上查N#和n相反#替换:数字,数字s/Hello/world/g#从第几行到第几行,第二个数字换成$就是最后一行,替换当前行就忽略数字,s是替换,后面是被替换的内容,g是全局,不加g只会替换每一行的第一个匹配到的内容。#撤销(undo)u 常用命...









