暂无个人介绍
《飞扬的小鸟》Java实现摘要:使用IntelliJ IDEA和JDK 16开发,包含小鸟类`Bird`,处理小鸟的位置、速度和碰撞检测。代码示例展示小鸟图像的加载、绘制与旋转。同时有`Music`类用于循环播放背景音乐。游戏运行时检查小鸟是否撞到地面、柱子或星星,并实现翅膀煽动效果。简单易懂,可直接复制使用。
该实验旨在理解元素拖放、CSS定位和DOM操作,任务是创建一个扑克牌拖放游戏。用户需将A框内13张随机扑克牌(背面朝上)按顺序拖至B框,最多存5张。当B框内形成顺子时游戏结束,显示拖动次数。实验提供HTML结构及部分JavaScript代码,包括创建和乱序扑克牌、处理拖放事件等。
本文档详细介绍了将SpringBoot项目部署到阿里云服务器的步骤。首先,通过Xshell连接服务器,使用公网IP地址。接着,下载JDK的Linux版本,使用XFTP上传并解压,配置环境变量。然后,安装MySQL 5.7,包括下载YUM源、安装、启动服务以及修改root密码和开启远程访问。最后,将SpringBoot项目打包成jar,上传至服务器,使用`java -jar`命令运行,通过`nohup`确保服务持续运行。配置安全组以允许远程访问。
在尝试运行 `docker run -d --name nginx01 -p 3344:80 nginx` 时遇到错误。问题源于已有名为 nginx01 的容器未正确终止,造成命名冲突。解决方法:首先使用 `docker ps -a` 查看所有容器,然后删除现有 nginx01 容器,执行 `docker rm <container_id>`(替换 `<container_id>` 为实际容器ID),最后再运行 `docker run` 命令即可。
该实验旨在熟悉HTML5 Canvas绘制图形和表单交互。用户需输入统计数据,程序将依据数据绘制饼状图和柱状图。要求验证用户输入有效性,点击按钮可切换图表类型,图上需显示数据标注。提供的代码包含一个表单用于输入JSON数据,两个绘制函数(drawPieChart、drawBarChart)用于生成饼状图和柱状图,以及输入验证和颜色生成辅助函数。
该实验旨在通过创建一个电子日历来教授JavaScript按钮事件、DOM操作和CSS浮动排列。日历显示当前月份所有日期,当天以红色高亮。用户可点击“上个月”和“下个月”按钮切换。HTML结构包含日历头部(含按钮)和主体,CSS定义了样式,JavaScript处理日期显示及按钮事件,初始化并动态更新日历。
使用HTML、CSS和JavaScript实现了一个圣诞树效果,包括一个闪烁的圣诞树和一个动态的光斑。代码包含一个<div>元素作为遮罩,一个<canvas>元素绘制星星动画,以及一个SVG元素绘制圣诞树。页面还包含一个提示用户先点赞再观看的提示。此效果适用于任何浏览器,推荐使用谷歌浏览器。提供了一段HTML代码,可以直接复制粘贴到文件中并以.html格式打开查看效果。
Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
Thymeleaf 3.0 提供了七大内置对象,包括${#ctx}(上下文对象)、${#param}(参数变量)、${#locale}(区域语言设置)、${#request}(HttpServletRequest)、${#response}(HttpServletResponse)、${#session}(HttpSession)和${#servletContext}(ServletContext)。示例代码展示了如何在后端传递不同对象容器中的参数到Thymeleaf模板。
本文介绍了提升IntelliJ IDEA开发效率的几个插件:Codota用于强大代码补全;Auto filling Java call arguments自动填充函数参数,节省手动填充时间;GsonFormat能快速将JSON转换为Java实体类;Rainbow Brackets帮助识别括号所属代码块;Maven Helper提供高效查看和分析Maven依赖树功能;Key Promoter X提醒使用快捷键代替鼠标操作;最后还分享了如何设置背景图片以提升编码心情。
该文介绍了如何在Spring Boot中切换默认的LogBack日志系统至Log4j2。首先,需要在Maven依赖中排除`spring-boot-starter-logging`并引入`spring-boot-starter-log4j2`。其次,创建`log4j2-spring.xml`配置文件放在`src/main/resources`下,配置包括控制台和文件的日志输出、日志格式和文件切分策略。此外,可通过在不同环境的`application.yml`中指定不同的log4j2配置文件。最后,文章提到通过示例代码解释了日志格式中的各种占位符含义。
该文档介绍了如何使用Docker快速搭建Redis数据库,以便于Spring Boot学习。主要内容包括获取Redis镜像、创建容器、配置持久化存储目录和修改默认配置文件,以及检查和访问Redis容器服务。此外,还提到若需外部访问,需开启宿主机防火墙相应端口。注意,本教程不深入讲解Docker,若想深入学习Docker,建议另寻专门课程。
该内容介绍了Thymeleaf模板引擎的一些基本表达式和语法。主要包括: 1. 变量表达式 `${}` 和 `*{}`,用于获取对象属性,`*{}` 需先通过 `th:object` 指定对象。 2. 链接表达式 `@{}`,用于构建应用路径并引入静态资源,但可能暴露版本号带来安全问题。 3. 迭代循环使用 `th:each`,可获取状态变量如索引、序号、奇偶性等。 4. 条件判断用 `th:if` 和 `th:unless`,基于不同类型的值进行逻辑判断。 示例代码包括了遍历集合、设置表单输入值、条件渲染等场景。
本文介绍了如何在Spring Boot中操作HTTP Cookie。包括读取Cookie使用`@CookieValue`注解,设置Cookie通过`HttpServletResponse`的`addCookie()`方法,获取所有Cookie用`HttpServletRequest`的`getCookies()`,设置Cookie过期时间用`setMaxAge()`,理解HTTPS与Cookie的安全性,启用HttpOnly Cookie以防止XSS攻击,以及如何删除Cookie。
Redisson是官方推荐的Java Redis客户端,提供丰富的功能,包括默认的分布式锁支持。它可以无缝替代Spring Boot 2.x的Letture客户端,不影响原有RedisTemplate和Redis Repository的使用。集成包括spring-boot-starter-data-redis和redisson-spring-boot-starter,后者需排除默认的redisson-spring-data-23以匹配Spring Data Redis v.2.2.x。
该文介绍了缓存使用中可能出现的三个问题及解决方案:缓存穿透、缓存击穿和缓存雪崩。为防止缓存穿透,可校验请求数据并缓存空值;缓存击穿可采用限流、热点数据预加载或加锁策略;缓存雪崩则需避免同一时间大量缓存失效,可设置随机过期时间。文章还提及了Spring Boot中Redis缓存的配置,包括缓存null值、使用前缀和自定义过期时间,并提供了改造代码以实现缓存到期时间的个性化设置。
本文介绍了如何在Spring Boot中操作HTTP Cookie。内容包括:使用@CookieValue注解读取Cookie,通过HttpServletResponse设置Cookie,读取所有Cookie,设置Cookie过期时间,理解HTTPS与Cookie安全,使用HttpOnly Cookie防止XSS攻击,以及如何删除Cookie。示例代码展示了各种操作的方法。
使用HTML、CSS和JavaScript实现了一个三维网格采样器`MeshSurfaceSampler`,适用于任意浏览器,推荐谷歌。代码创建了一个类,从缓冲几何体的三角形网格中进行随机采样。提供了设置权重属性、构建分布和自定义随机数生成器的功能。用户只需将代码复制到文本文档并保存为HTML文件,即可运行。适合编程爱好者尝试,也可分享给他人。
本文讲述了HTTP请求的GET和POST两种主要方式。GET请求限制参数不超过4K,参数显示在地址栏并缓存资源;POST请求能携带任意数量参数,参数隐藏在请求体,不保存资源。GET常用于超链接和表单默认提交,POST适用于文件上传、登录验证和获取实时数据等场景,因安全考虑,部分网站仅接受GET请求。可通过表单的method属性设置请求方式,默认为GET。
设计了一个YAML数据结构来表示家庭信息,包括家庭名、父亲、母亲和孩子。父亲有名字和年龄,母亲有别名,孩子有名字、年龄和朋友列表,每个朋友有爱好和性别。字符串可以用单引号或双引号,双引号会转义特殊字符。YAML支持松散的键绑定。Spring Boot配置文件中,占位符可用于设置随机数,如${random.int},并可提供默认值,如${family.father.name:zimug}。
Screw是一个数据库文档生成工具,能自动化根据数据库表结构生成文档,减轻开发人员工作负担,支持MySQL、MariaDB、TiDB等多种数据库和HTML、Word、Markdown等格式。它依赖HikariCP数据库连接池和Freemarker模板引擎。通过在Spring Boot项目中添加相关依赖并配置,可以用代码或Maven插件方式生成文档。示例代码展示了如何在JUnit测试中使用Screw生成HTML文档。
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
Spring Boot的Scheduled定时任务无需额外Maven依赖,通过`@EnableScheduling`开启。任务调度有两种方式:fixedRate和fixedDelay,前者任务结束后立即按设定间隔执行,后者在任务完成后等待设定时间再执行。更灵活的是cron表达式,例如`0 0 3 * * ?`表示每天3点执行。实现定时任务时,需注意默认单线程执行可能导致的任务交错,可通过自定义线程池解决。
该文指导安装Git 2.15.0版本。首先从Git官网下载最新安装包,双击安装,依次选择Next,同意默认配置,确保勾选添加到环境变量。在配置选项中,选择在cmd中使用Git(第2项),行结束转换选Windows(第1项),终端模拟器选MinTTY(第1项)。安装完成后,通过右键菜单或直接打开Git Bash验证安装成功。最后,配置全局用户名和邮箱,并在IDEA中设置Git路径以完成集成。
本文介绍了跨域访问的概念及其解决方案。同源策略规定浏览器限制不符合协议、Host和端口的请求,导致跨域访问被禁止。为解决此问题,文中提出了三种策略:1) 前端利用HTML标签的特性(如script、iframe)和JSONP、postMessage规避同源策略;2) 通过代理,如nginx或nodejs中间件,使得所有请求看似来自同一源;3) CORS(跨域资源共享),通过设置HTTP响应头允许特定跨域请求。在SpringBoot中,实现CORS有四种方式,包括使用CorsFilter、重写WebMvcConfigurer、CrossOrigin注解以及直接设置响应头。
该文档提供了一个快速搭建MongoDB环境的指南,适用于开发和学习,但不适用于生产。主要步骤包括:1) 使用Docker创建数据卷`mongo_data_db`和`mongo_data_configdb`。2) 拉取`mongo`镜像并运行名为`mymongo`的容器,映射端口并挂载数据卷。3) 初始化管理员账号,创建具有`root`权限的用户`admin`,密码为`adminpwd`。4) 防火墙开放端口27017。最后,提到了使用第三方客户端进行连接。
该文介绍了如何在Spring Boot中集成JSP,需包含`spring-boot-starter-web`、`tomcat-embed-jasper`和`jstl`三个依赖。配置Spring Boot寻找JSP的位置,设置`spring.mvc.view.prefix`为`/WEB-INF/jsp/`,`spring.mvc.view.suffix`为`.jsp`。JSP文件应放在`src/main/webapp/WEB-INF/jsp/`下。
本文探讨了开发中自动更新代码以提高效率的方法,提到了“热启动”等不同术语,并指出其实现比命名更重要。介绍了两种方式:使用Jrebel插件(需付费,可能与某些Spring Boot版本不兼容)和Spring Boot的devtools热加载。devtools通过两个ClassLoader实现快速更新,只需添加依赖并配置IDEA。此外,建议配合LiveReload浏览器插件自动刷新页面。遇到问题可能与JDK版本不匹配或缓存有关。
该文介绍了在前后端分离的开发中,前端使用axios向后端Spring传递参数的两种主要方法。针对@RequestParam注解,推荐使用params传参,将参数格式化为x-www-form-urlencoded,或者使用FormData和qs.stringify。对于@RequestBody,Axios的data传参默认为JSON格式,直接传入对象即可。