- 博客(21)
- 收藏
- 关注
原创 拦截器 (Interceptor )
preHandle()执行顺序与mvc:interceptor顺序一致, postHandle() afterCompletion() 与mvc:interceptor顺序相反。过滤器是Javaweb的技术, 只要是javaWeb项目就可以使用, 拦截器是SpringMVC框架的, 项目中添加SpringMVC依赖,才可以使用。所有的拦截器的preHandle() 返回true才执行 处理器方法,以及拦截器的postHandle()方法。执行时间, 过滤器先执行, 拦截器是否执行。
2024-04-07 00:27:33 298
原创 vue组件通信
一个可行的办法是将共享状态“提升”到共同的祖先组件上去,再通过 props 传递下来。然而在深层次的组件树结构中这么做的话,很快就会使得代码变得繁琐冗长。在index.html页面 引入bootstrap.css文件。在public目录导入bootstrap的css文件。子组件使用props属性来定义组件的属性。父组件传递数据给子组件。子组件传递数据给父组件。
2024-03-31 22:59:24 264 1
原创 vue 指令
Vue.js指令带有前缀 v-,以表示它们是 Vue 提供的特殊属性。它扩展了HTML标签的功能.Vue指令的作用是通过v-属性名,实现对DOM的响应式加载。
2024-03-31 22:53:42 1888 1
原创 SpringMVC面试题
基于传统的 Spring 框架开发 web 应用,我们需要做很多和业务开发无关并且只需要做一次的配置,比如管理 jar 包依赖web.xml 维护Dispatch-Servlet.xml 配置项维护应用部署到 Web 容器第三方组件集成到Spring IOC 容器中的配置项维护而在 Spring Boot 中,我们不需要再去做这些繁琐的配置,SpringBoot已经自动帮我们完成了,这就是约定优于配置思想的体现。在整个请求结束之后, DispatcherServlet 渲染了对应的视图之后执行。
2024-03-25 09:18:23 867
原创 spring与mybatis整合
在src/main/resources 添加: log4j的配置, 数据源的配置, mybatis主配置, sql映射文件, spring配置文件。把Mybatis的Mapper接口的代理对象交给Spring管理 注入SqlSessionFactory。把Mybatis的核心对象SqlSessionFactory 交给Spring管理 注入数据源对象。把业务层的对象交给Spring管理, 注入Mapper代理对象。把Mybatis的配置中数据源对象,交给Spring管理。创建项目: web项目。
2024-03-17 23:49:43 890 1
原创 mybatis和spring常见面试题(1)
延迟加载的基本原理是,使用CGLIB创建目标对象的代理对象,当调用目标方法时,进入拦截器方法,比如调用a.getB().getName(),拦截器invoke()方法发现a.getB()是null值,那么就会单独发送事先保存好的查询关联B对象的sql,把B查询上来,然后调用a.setB(b),于是a的对象b属性就有值了,接着完成a.getB().getName()方法的调用。松耦合是DI的主要优点。这意味着,如果一个组件的依赖改变了实现方式,只要新的实现满足了接口的要求,该组件无需做任何修改。
2024-03-10 22:14:17 303 1
原创 Mybatis的关联查询
一对一关联关系: 外键可以加在任何一的一方, 需要在外键添加一个唯一约束。多对多关联关系: 需要中间表, 维护两个外键, 这个外键一般添加联合主键。java实体类设计: 类之间之间关系靠关联属性,编写sql映射文件 UserMapper.xml。数据库中: 多个表之间关系靠外键, 外键设计。一对多关联关系: 外键可以加在任何多的一方。根据用户id查询用户信息以及订单信息。类的设计中, 关联属性两种情况。编写UserMapper接口。分多条sql语句查询。
2024-03-04 00:21:01 209 1
原创 HttpSession
会话跟踪技术:Cookie 创建于服务器, 保存在客户端, 记住我实现, 不能跨浏览器, 浏览器的技术HttpSession: javaWeb特有的, 创建于服务器, 保存与服务器, 作为Session域特征: 同一个用户同一次会话, session域中数据可以共享(多次请求)request对象的方法:>参数create: boolean>- true: 如果当前请求已经创建Session对象, 返回已创建的session, 如果没有, 创建新的session,并返回。
2024-02-26 00:44:39 373 1
原创 Cookie
Cookie翻译成中文是小甜点,小饼干的意思。在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的,随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。
2024-01-29 10:26:16 673
原创 soso移动大厅项目
超出的上网流量:0.1元/MB。封装,继承,多态,接口的使用。impl包--Dao层实现类。超出的通话: 0.2元/分。I/O 操作实现对文件的写。超出的短信:0.1元/条。
2024-01-15 18:08:49 873
原创 B树与B+树的区别
B+Tree的查询效率更加稳定 由于非叶子节点不是最终指向文件内容的节点,而是叶子节点中关键字的索引,所以任何关键字的查找都必须走一条从根节点到叶子节点的路。Mysql索引数据结构对经典B+Tree进行了优化,在原B+Tree的基础上,增加一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的B+Tree,提供了区间访问的性能。利于排序(双向链表)一颗b树,浅蓝色的块称之为一个个磁盘块,每个磁盘块包含几个数据项(白色表示)和指针(黄色表示),例如磁盘1包含数据项有17和35,包含指针p1,p2,p3。
2024-01-07 19:45:49 414 1
原创 mysql练习
1. 用一条SQL 语句 查询出每门课都大于80 分的学生姓名。1 1 设计 张三。2 1 设计 李四。3 2 市场 王五。4 3 售后 彭六。王五 数学 100。张三 语文 81。李四 数学 90。王五 语文 81。王五 英语 90。用一条SQL语句,怎么显示如下结果。
2024-01-01 21:16:43 1525
原创 TCP通信
Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。针对客户端来讲,是往外写的,所以是输出流 针对服务器来讲,是往里读的,所以是输入流。Java为客户端提供了Socket类,为服务器端提供了ServerSocket类。客户端创建对象并连接服务器,此时是通过三次握手协议,保证跟服务器之间的连接。客户端在关流的时候,还多了一个往服务器写结束标记的动作。accept方法是阻塞的,作用就是等待客户端连接。read方法也是阻塞的。
2023-12-24 23:34:23 394
原创 在线小说阅读系统——Socket编程
Dom4J通过SAXReader对象加载并解析xml文件,把它转换为内存中的Document对象,接着对Document对象中的元素进行添加、更新和删除操作,并且通过XMLWriter对象把修改后的Document对象保存到xml文件中。当客户端要发送登录或者注册请求的时候,服务端会反馈登录成功或者失败的消息,需要调用数据工具类里面发送数据和接受数据的方法.客户端会根据服务端的反馈做下一步的操作,如登录成功后就展示二级菜单,而登录注册的返回的结果是定义为一个常量封装在一个类里面。
2023-12-19 16:37:50 1549
原创 多线程模拟卖票
弊端:当线程很多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票。创建三个Thread类的对象,把SellTicket对象作为构造方法的参数,并给出对应的窗口名称。线程执行的随机性导致的,可能在卖票过程中丢失cpu的执行权,导致出现问题。把多条语句操作共享数据的代码给锁起来,让任意时刻只能有一个线程执行即可。判断票数大于0,就卖票,并告知是哪个窗口卖的。
2023-12-10 19:43:41 140 1
原创 Collection集合的遍历
boolean hasNext(): 判断当前位置是否有元素可以被取出 E next(): 获取当前位置的元素,将迭代器对象移向下一个索引位置。Iterator<E> iterator(): 返回此集合中元素的迭代器,通过集合对象的iterator()方法得到。void remove(): 删除迭代器对象当前指向的元素。for(集合/数组中元素的数据类型 变量名 : 集合/数组名) {// 已经将当前遍历到的元素封装到变量中了,直接使用变量即可。Collection集合的遍历。迭代器,集合的专用遍历方式。
2023-12-03 15:23:53 101 1
原创 String类
String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!
2023-11-26 17:41:17 85 1
原创 标准JavaBean类的创建
定义标准学生类,要求分别使用空参和有参构造方法创建对象,空参创建的对象通过setXxx赋值,有参创建的对象直接赋值,并通过show方法展示数据。创建构造方法的快捷键(Alt+Insert),如果按两个没反应,就按(Fn+Alt+Insert)其中创建构造方法和创建get和set方法时,idea都有对应的快捷键帮我们自动生成。提供每一个成员变量对应的setXxx()/getXxx()创建get和set方法的快捷键(Alt+Insert)⑤ 如果还有其他行为,也需要写上。① 类名需要见名知意。
2023-11-19 15:40:12 254
原创 Java冒泡排序
第n-1轮: 从数组的第一个元素开始, 进行两两比较, 如果前一个数比后一个数大, 进行交换, 一直比较到数组末尾-(n-1), 把第n-1大的元素排在倒数第n-1位置。每二轮: 从数组的第一个元素开始, 进行两两比较, 如果前一个数比后一个数大, 进行交换, 一直比较到数组末尾-1个元素, 把第二大的元素排在倒数第二位置。第一轮: 从数组的第一个元素开始, 进行两两比较, 如果前一个数比后一个数大, 进行交换, 一直比较到数组末尾元素, 把最大的元素排在最后一个位置。内层循环: 控制每一轮比较的次数。
2023-11-12 21:48:24 128
原创 盒子外间距相关问题及相关解决方法
这里我们可以看到,父盒子除了设置宽高背景颜色外没有添加任何属性,但在浏览器中却显示出距离顶部有一段间距(如下图),这是因为给子盒子添加了margin-top: 100px;我们可能会误以为他们两个盒子的间距有80px,但实际上他们的间距只有50px,这种现象就叫做合并现象(如下图)。(2)我们也可以看到盒子模型塌陷定义的前提:是两个内嵌的块级标签,那我们只需要将其中一个盒子转换为行内块标签就行了,也就是给其中一个盒子转换显示模式,添加display: inline-block;
2023-10-22 00:48:44 265 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人