- 博客(129)
- 收藏
- 关注
原创 springboot系列十四: 注入Servlet, Filter, Listener + 内置Tomcat配置和切换 + 数据库操作
1.考虑到实际需求, SpringBoot 可以将 Servlet, Filter, Listener 注入 Spring 容器, 成为 SpringBean.2.即 SpringBoot 开放了和原生 WEB 组件 (Servlet, Filter, Listener) 的兼容.1.SpringBoot支持的webServer:Tomcat,Jetty,Undertow。2.SpringBoot应用启动是Web应用时, web场景包-导入tomcat。
2025-02-19 15:36:54
321
原创 springboot系列十三: 异常处理
1.默认情况下,SpringBoot 提供 /error 处理所有错误的映射,当出现错误时,SpringBoot 底层会请求转发到 /error 这个映射。2.浏览器访问不存在的接口 http://localhost:8084/abc,响应 whitelabel 的错误试图,以 HTML 格式呈现给用户。注意: 配置登录拦截器时,先登录, 再测试3.SpringBoot底层默认由 DefaultErrorViewResolver 处理错误。debug->
2024-11-04 16:26:09
1241
2
原创 项目实战系列三: 家居购项目 第五部分
需求分析1.如果某家居库存为0, 首页的"Add to Cart" 按钮显示为"暂时缺货"2.后台也加上校验. 只有在 库存>0 时, 才能添加到购物车代码实现1.修改
2024-09-09 09:35:59
689
原创 项目实战系列三: 家居购项目 第三部分
文章目录🍃后台分页🍅后台分页导航🍃首页分页🍅首页分页导航🍅首页搜索🍅两个奇怪的问题🍅会员显示登录名🍅注销登录🍅验证码🍃后台分页程序框架图1.新建com.zzw.furns.entity.Page//Page是一个Javabean, 是一个分页的数据模型(包含了分页的各种信息)//T表示泛型, 因为将来分页模型对应的数据类型是不确定的public class Page<T> { //因为每页显示多少条记录, 是其它地方也可以使用的 public static fina
2024-09-06 11:18:16
1490
原创 项目实战系列三: 家居购项目 第二部分
2.在项目开发中, 同一个业务(模块), 一般对应一个Servlet即可, 比如LoginServlet, RegisterServlet, 都是在处理和会员相关的业务, 应当合并.1.如果处理一个请求, 就对应一个Servlet, 会造成Servlet文件太多, 不利于管理.1.请求添加家居, 请求FurnServlet的add方法, 将前端提交的数据封装到Furn对象。2.子类中没有doGet, doPost方法, 会调用父类的doGet, doPost.3.管理员点击家居管理, 显示所有家居信息。
2024-09-06 11:17:40
912
原创 JavaWeb系列四: DOM下
HTML DOM节点基本介绍节点属性和方法一览节点常用方法节点常用属性应用实例通过id获取节点获取所有option节点通过name获取节点查找id=language下所有li节点获取指定dom对象的所有子节点获取第一个子节点获取父节点获取前后兄弟节点设置文本域内容总代码作业布置 乌龟吃鸡游戏基本介绍在HTML DOM(文档对象模型)中,每个部分都是节点.1.文档 本身是文档节点;2.所有 HTML元素 是元素节点;3.所有 HTML属性 是属性节点;4.HTML元素内的 文本 是文本节点;5.
2024-08-29 09:16:07
1193
原创 JavaWeb系列十一: Web 开发会话技术Session
3.测试. 访问createSession2后, 会在服务器创建一个只有60s的session, 如果在60s内没有浏览器没有访问, 那么在61s的时候, 浏览器携带该jsessionId访问服务器时, 服务器会再创建一个session, 并返回新的jsessionId.1.当用户打开浏览器, 访问某个网站, 操作session时, 服务器就会在内存(在服务端)为该浏览器分配一个session对象, 该session对象被这个浏览器独占.
2024-08-07 13:29:57
1053
原创 JavaWeb系列十一: Web 开发会话技术Cookie
1.什么是会话?会话可简单地理解为: 用户开启一个浏览器, 点击多个超链接, 访问服务器多个web资源, 然后关闭浏览器, 整个过程称之为一个会话.2.会话过程中要解决哪些问题?1)每个用户在使用浏览器与服务器进行会话的过程中, 不可避免地会产生一些数据, 服务器要想办法帮每个用户保存这些数据.
2024-08-07 13:19:59
548
原创 JavaWeb系列二十二: 线程数据共享和安全(ThreadLocal)
JavaWeb系列二十二: 线程数据共享和安全(ThreadLocal)
2024-07-08 16:38:20
475
原创 SpringMVC系列十三: SpringMVC执行流程 - 源码分析
进入Step Into, 出来 Step out, 再进入Step Into. 拿到RequestDispatcher。异常处理相关代码和案例, 自己写一遍. - 一定要自己写一遍, 否则没有印象, 理解不会深入。根据Handler拿到适配器, 不同的适配器对应不同的handler。执行流程代码, 自己也走一下, 加深理解(不用每一条语句都。因为是浏览器地址栏请求, 所以是GET请求。进入, 前端控制器调用某个视图解析器返回。直接放行, 在目标方法打个断点。对modelAndView估值。
2024-07-08 10:45:28
849
原创 JavaSe系列二十七: Java正则表达式
1.一个正则表达式, 就使用某种模式去匹配字符串的一个公式. 很多人认为它们看上去比较古怪而且复杂所以不敢去使用. 不过, 经过练习后, 就觉得这些复杂的表达式写起来还是相当简单的, 而且, 一旦你弄懂它们, 你就能把数小时辛苦而且易错的文本处理工作缩短在几分钟(甚至几秒钟)内完成.2.这里特别强调, 正则表达式不是只有java才有, 实际上很多编程语言都支持正则表达式进行字符串操作!如果要想灵活地运用正则表达式,必须了解其中各种元字符的功能,元字符从功能上大致分为:1.限定符2.选择匹配符。
2024-07-07 20:17:08
821
原创 MyBatis系列三: XxxMapper.xml-SQL映射文件
1.MyBatis的真正强大在于它的语句映射(在配置), 由于它的异常强大, 如果拿它跟具有相同功能的JDBC代码进行对比, 你会立即发现省掉了将近95%的代码.MyBatis致力于减少使用成本, 让用户能更专注于SQL代码.2.SQLcache- 该命名空间的缓存配置cache-ref- 引用其它命名空间的缓存配置resultMap- 描述如何从数据集结果集中加载对象, 是最复杂也是最强大的元素- 将会传入这条语句的参数的类全限定名或别名sql- 可被其它语句引用的可重复的语句块.insert。
2024-07-02 14:46:48
1159
原创 SpringMVC系列八: 手动实现SpringMVC底层机制(第四阶段)
SpringMVC系列八: 手动实现SpringMVC底层机制-第四阶段
2024-07-01 10:30:00
678
原创 SpringMVC系列八: 手动实现SpringMVC底层机制-第三阶段
SpringMVC系列八: 手动实现SpringMVC底层机制-第三阶段
2024-07-01 10:00:00
984
原创 SpringMVC系列八: 手动实现SpringMVC底层机制-第二阶段
说明: 如果给某个类加上@Service, 则可以将其注入到我们的Spring容器示意图[分析说明]补充: DAO和DB由MyBatis接管, 和SpringMVC关系并不大. 所以我们暂时不考虑DAO和DB.1.在包下新建Monster//全参构造器, getter, setter, toString方法2.在下新建@Service. 这个注解是springmvc框架要支持的东西, 所以要在zzwspringmvc包下/*** @author 赵志伟。
2024-07-01 09:15:00
802
原创 SpringMVC系列八: 手动实现SpringMVC底层机制-第一阶段
示意图[分析说明]1.在下新建//编写方法, 可以列出怪物列表//springmvc 是支持原生的servlet api, 为了看到底层机制//这里我们涉及两个参数//设置返回编码和返回类型//获取writer返回信息try {response.getWriter().write("<h1>妖怪名信息: 孙悟空--猪八戒--沙僧</h1>");2.在下新建注解类。
2024-07-01 09:00:00
1502
原创 springboot系列八: springboot静态资源访问,Rest风格请求处理
1.只要静态资源放在类路径下:可以被直接访问 - 对应文件2.常见静态资源JS, CSS, 图片(), 字体文件(Fonts)等3.访问方式: 默认: 项目根路径 / + 静态资源名, 比如- 设置/**1.Rest风格支持 (使用HTTP请求方式来表示对资源的操作)2.举例说明请求方式:/monsterGET-获取妖怪DELETE-删除妖怪PUT-修改妖怪POST-保存妖怪1.SpringBoot 接收客户端提交数据 / 参数会使用到相关注解.2.详细学习。
2024-06-29 11:12:39
959
1
原创 springboot系列七: Lombok注解,Spring Initializr,yaml语法
springboot系列七: Lombok注解,Spring Initializr,yaml语法
2024-06-28 11:02:00
1121
原创 springboot系列六: springboot底层机制实现 下
2.浏览器请求 http://localhost:9090/, 这时没有返回信息, 因为还没有写Controller.refresh()负责注入初始化相关bean, 在未执行refresh方法前, spring容器是没有bean的。3.管理员权限运行cmd窗口, 输入netstat -anb. 证明9090端口真的在监听.2.浏览器请求 http://localhost:9090/zzwboot/hi。2.debug运行一下, 这时会报错,, 作为Spring的配置文件。1.拿掉断点, 运行程序。
2024-06-28 11:00:59
1033
原创 项目实战系列三: 家居购项目 第六部分
引入文件上传下载的包: commons-io-1.4.jar, commons-fileupload-1.2.1.jar。FurnDAOImpl的查询语句加上图片字段 image_path as imagePath。将checkout.jsp复制成update_ok.jsp。工具类添加方法 - 判断请求是不是一个ajax请求。返回json格式的字符串 - 方式二。工具类添加方法 - 返回当前日期。AuthFilter - 代码。将文件上传路径保存成一个常量。思路分析-程序框架图。
2024-06-26 17:31:21
460
原创 JavaWeb系列二十: jQuery的DOM操作 下
jQuery的DOM操作CSS-DOM操作多选框案例页面加载完毕触发方法作业布置jQuery获取选中复选框的值jQuery控制checkbox被选中jQuery控制(全选/全不选/反选)jQuery动态添加删除用户CSS-DOM操作获取和设置元素的样式属性: css()获取和设置元素透明度: opacity属性获取和设置元素高度, 宽度: height(), width(). 在设置值时, 若只传递数字, 则默认单位是px; 如需要使用其它单位则需传递一个字符串, 例如 $(“p:first”)
2024-06-24 11:05:52
560
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人