JSP
少年没有乌托邦,
心想远方自明郎
少年心怀乌托邦,
心向朝阳肆生长
JSP
JSP
我们这里只介绍JSP的基本使用,不会深入
使用JSP需要导入jsp.jar和servlet-api.jar包,它们都在Tomcat安装目录/lib下
基本介绍
jsp全称
Java Server Pages(Java 的服务器页面),是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。JSP是一种Java servlet,主要用于实现Java
web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP 这门技术的最大的特点在于,写 JSP 就像在写 HTML
相比 html 而言,html 只能为用户提供静态数据,而 JSP
技术允许在页面中嵌套 java 代码,为用户提供动态数据
相比 Servlet 而言,Servlet 很难对数据进行排版,而 jsp 除了可以用
java 代码产 生动态数据的同时,也很容易对数据进行排版
提示:
jsp 页面不能像 ...
javaWeb
金缕衣无名氏劝君莫惜金缕衣,
劝君惜取少年时。
花开堪折直须折,
莫待无花空折枝。
JavaWeb
WEB资源
WEB资源分为静态资源和动态资源
静态资源
在web 页面中供人们浏览的数据始终是不变。例如:html页面
动态资源
可以发生变化,可以和根据用户的请求而发生变化的。例如:Servlet,PHP
BS和CS
BS(Browser/Service 浏览器/服务器)
兼容性 ,
因为浏览器的种类很多,发现你写的程序,在某个浏览器会出现问题,其它浏览器正常
安全性, 通常情况下,BS 安全性不如 CS 好控制
易用性, BS 好于 CS, 浏览器电脑有
扩展性, BS 相对统一,只需要写 Server
CS(Client/Service 客户端/服务器)
JavaWeb服务器软件
常见的JavaWeb服务软件
Tomcat
:由 Apache 组织提供的一种 Web 服务器,提供对 jsp 和 Servlet
的支持。它是一种轻量级的 javaWeb 容器(服务器),也 ...
Vue
鹤林玉露罗大经一愿识尽世间好人,
二愿读尽世间好书,
三愿看尽世间好山水。
Vue
这里介绍Vue2的使用。简单介绍,不会深入
Vue的基本介绍
Vue是一个前端框架, 易于构建用户界面。Vue
的核心库只关注视图层,不仅易于上手,还便于与第三方库或项目整合,支持和其它类库结合使用,开发复杂的单页应用非常方便。Vue
是 Vue.js 的简称。
下载地址
Vue.js下载地址
保存下载网页中的js代码
快速入门
这里简单演示一下Vue的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>vue 快速入门</title>
</head>
<body>
<!-- ...
Promise
鹤林玉露罗大经一愿识尽世间好人
二愿读尽世间好书
三愿看尽世间好山水
Promise
Promise也是ES6的新特性。
基本介绍
传统的 Ajax
异步调用在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观。为了解决传统的回调嵌套的问题,我们出现了Promise。Promise
是异步编程的一种解决方案。从语法上说,Promise
是一个对象,从它可以获取异步操作的消息。
使用
演示需要用到的json文件
monster.json
{
"id" : 1,
"name" : "黑山老妖"
}
monster_detail_1.json
{
"id" : 1,
"address" : "黑山洞",
...
ES6
鹤林玉露罗大经一愿识尽世间好人,
二愿读尽世间好书,
三愿看尽世间好山水。
ES6
概念
ECMAScript 6.0(以下简称 ES6)是 JavaScript
语言的下一代标准, 2015 年 6 月发布。ES6的出现是为了达到 JavaScript
语言可以用来编写复杂的大型程序,成为企业级开发语言。ECMAScript 和
JavaScript 的关系:ECMAScript 是 JavaScript 的规范/规则,JavaScript 是
ECMAScript 的一种实现。
使用
let声明变量
let的使用let详细说明<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>let 基本使用</title>
<script type="text/javascript& ...
登陆页面添加验证码
想做一个登陆页面,但想要更加的贴近于真实的场景就得加上验证码。加上验证码的好处是可以有效防止恶意登录注册,验证码每次都不同,这就可以排除,用软件自动申请用户或者自动登陆,有效防止这种问题。
这里我们的验证码使用了simplecaptcha这个开源的组件
jar包下载
simplecaptcha.jar下载地址
基本使用
simplecaptcha提供了四种形式的验证码。
StickyCaptchaServlet:
SimpleCaptchaServlet:
ChineseCaptchaServlet:这个验证码还没测试
^_^
`AudioCaptchaServlet:可以为视障用户提供音频验证码
这里我用的是SimpleCaptchaServlet。StickyCaptchaServlet在页面刷新的时候,他不会刷新验证码,而且我加的js(点击验证码刷新也对SimpleCaptchaServlet不生效)
配置Servlet
根据上面提到的,根据自己的需要的验证码来配置相应的Se ...
Spring
Spring前置准备
下载
Spring下载地址
Spring的核心
IOC:控制翻转
AOP:切面编程
JdbcTemplate:Spring提供的访问数据库技术
声明式书屋:基于 ioc/aop 实现事务管理
Spring是管理框架的框架
Spring快速入门
需要导入的jar包
spring-beans
spring-context
spring-core
spring-expression
commons-logging
前四个jar包在spring安装目录/libs下
commons-logging
jar包下载地址
Monster类
package com.jl.spring.bean;
/**
* @author long
* @date 2022/8/30
*/
public class Monster {
private Intege ...
hexo图片不显示问题
Hexo图片不显示问题
为了想让更多人看到博客的文章,更好的让百度站点收录,添加了hexo-abbrlink插件实现博客生成永久链接,但安装这个插件之后发现我的博客图片不显示了(gitee加了防盗链。图床出现了问题,我现在用的都是本地图片,文章使用相对路径引用图片)
上面的问题,网上查了一下,发现是hexo-asset-image和hexo-abbrlink这两个插件出现了冲突。
解决方案也有很多,最主要就是更改插件目录下的index.js文件。但改了之后发现问题并没有解决。最后
使用了网友更改的hexo-asset-image插件之后,完美解决。
npm install https://github.com/foreveryang321/hexo-asset-image.git --save
插件地址
Git
Git
由于想要备份hexo博客,用于以后的迁移,所以需要用到git。此篇博客只记录git最简单的一些使用,不会涉及合并分支等进阶的问题
概念
Git是一个分布式版本管理系统,是为了更好地管理Linux内核开发而创立的。Git可以在任何时间点,把文档的状态作为更新记录保存起来。因此可以把编辑过的文档复原到以前的状态,也可以显示编辑前后的内容差异。而且,编辑旧文件后,试图覆盖较新的文件的时候(即上传文件到服务器时),系统会发出警告,因此可以避免在无意中覆盖了他人的编辑内容。
下载
Git64位windows下载地址
远程仓库,我这里以Gitee演示。其余的代码仓库都一样
前提基础知识
使用git前,首先要搞清楚几个概念。
工作区:我们电脑里可以看到的目录
暂存区(索引):使用git add 文件名命令之后,会将工作区的文件添加到暂存区(命令后面会讲到)
版本库:.git目录
远程仓库:远程的仓库(gitee/github等)
使用
设置提交者身份
安装好git之后,我们需要做 ...
ThreadLocal
ThreadLocal
概念
ThreadLocal
叫做本地线程变量,也就是说,ThreadLocal
中填充的的是当前线程的变量,该变量对其他线程而言是封闭且隔离的,ThreadLocal
为变量在每个线程中创建了一个副本,这样每个线程都可以访问自己内部的副本变量。
作用
可以实现在同一个线程数据共享,从而解决多线程数据安全问题
可以通过set方法给当前线程关联一个数据
数据是以Map的形式存储的,key就是当前线程。数据的获取可以通过get方法
每一个ThreadLocal对象,只能为当前线程关联一个数据,如果想要关联多个数据,就需要使用多个ThreadLocal对象实例
在ThreadLocal中保存数据,在线程销毁后会自动释放
演示
Cat类
package com.threadLocal;
/**
* @author long
* @date 2022/9/15
*/
public class Cat {
}
...