
JavaWeb
文章平均质量分 93
记录一些JavaWeb的知识点
十八岁讨厌编程
没事就喜欢画思维导图
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[Javaweb]JSON
JSON: JavaScript Object Notation(JavaScript 对象标记法)。JSON 是一种存储和交换数据的语法。JSON 是一种轻量级的数据交换格式JSON 是通过 JavaScript 对象标记法书写的文本。JSON 使用 JavaScript 语法,但是 JSON 格式是纯文本的。文本可被任何编程语言作为数据来读取和使用。JSON 格式最初由 Douglas Crockford 提出。如下是 对象的定义格式:接下来我们再看看 的格式:通过上面 js 对象格式和 jso原创 2022-07-08 23:11:38 · 1219 阅读 · 27 评论 -
[Javaweb]Axios异步框架
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。特性:这一篇文章我们主要使用Axios对原生Ajax的封装特性Axios的使用也很简单:第一步:我们先把Axios下载下来当然我们不能直接在web项目中引入一个本地资源,我们可以把里面的核心文件拖入到项目中第二步:使用axios 发送请求,并获取响应结果发送 get 请求发送 post 请求 是用来发送异步请求的,小括号中使用 js 对象传递请求相关的参数: 需要传递一个匿名函数。我们将 中原创 2022-07-08 21:12:04 · 930 阅读 · 1 评论 -
[Javaweb]Ajax
(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML。 表明该技术和前端相关; 是指以此进行数据交换AJAX 作用有以下两方面:与服务器进行数据交换:通过AJAX可以给服务器发送请求,服务器将数据直接响应回给浏览器。异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、用户名是否可用校验,等等…同步发送请求过程如下:浏览器页面在发送请求给服务器,在服务器处理请求的过程中,浏览器页面不能做其他的操作。只能等到服原创 2022-07-08 17:30:35 · 554 阅读 · 0 评论 -
Listener
Listener 表示监听器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。监听器可以监听就是在 ,, 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。request 和 session 我们已经了解。而 是 类型的对象。 代表整个web应用,在服务器启动的时候,tomcat会自动创建该对象。在服务器关闭时会自动销毁该对象。JavaWeb 提供了8个监听器:这里面只有 这个监听器后期我们会接触到, 是用来监听 对象的创建和销毁。 接口中有原创 2022-07-08 01:11:19 · 556 阅读 · 1 评论 -
Filter
Filter 表示,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有的资源(servlet、jsp、html等):而在访问到这些资源之前可以使过滤器拦截来下,也就是说在访问资源之前会先经过 Filter,如下图:拦截器功能:过滤器一般完成一些的操作。比如每个资源都要写一些代码完成某个功能,我们总不能在每个资源中写这样的代码吧,而此时我们可以将这些代码写在过滤器中,因为原创 2022-07-08 00:34:09 · 966 阅读 · 2 评论 -
Session
Session:服务端会话跟踪技术:将数据保存到服务端。接下来我们看看Session的工作流程:在JavaEE中提供了HttpSession接口,来实现一次会话的多次请求之间数据共享功能。具体的使用步骤为:Session对象提供的功能:存储数据到 session 域中根据 key,获取值根据 key,删除该键值对我们可以来试验一下:我们先请求demo1,在请求demo2,得到:Session的实现是基于Cookie的Session要想实现一次会话多次请求之间的数据共享,就原创 2022-07-06 18:29:21 · 808 阅读 · 5 评论 -
Cookie
首先我们要知道什么是会话。会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。用实际场景来理解下会话,比如在我们访问京东的时候,当打开浏览器进入京东首页后,浏览器和京东的服务器之间就建立了一次会话,后面的搜索商品,查看商品的详情,加入购物车等都是在这一次会话中完成。在下图中:我们可以发现这里存在着三个会话。(会话是与浏览器直接绑定的)那么什么是会话跟踪呢?:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便在同原创 2022-07-06 17:21:50 · 2677 阅读 · 3 评论 -
JSP基础③
文章目录JSTL标签概述JSTL标签概述原创 2022-05-21 19:02:17 · 1002 阅读 · 8 评论 -
JSP基础②
文章目录JSP脚本JSP脚本分类JSP的缺点EL表达式概述代码演示域对象JSP脚本JSP脚本用于在 JSP页面内定义 Java代码。JSP脚本分类JSP 脚本有如下三个分类:<%…%>:内容会直接放到_jspService()方法之中<%=…%>:内容会放到out.print()中,作为out.print()的参数<%!…%>:内容会放到_jspService()方法之外,被类直接包含代码演示:在 hello.jsp 中书写<% Sy原创 2022-05-21 10:16:47 · 528 阅读 · 1 评论 -
JSP快速实践
文章目录JSP初识JSP快速入门搭建环境导入 JSP 依赖创建JSP页面JSP原理JSP初识JSP(全称:Java Server Pages):Java 服务端页面。是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 JSP = HTML + Java。如下就是jsp代码<html> <head> <title>Title</title> </head&原创 2022-05-20 14:54:20 · 513 阅读 · 2 评论 -
Response
文章目录Response设置响应数据Response请求重定向重定向的特点附:路径问题Response响应字符数据Response响应字节数据Response设置响应数据Reponse的继承体系和Request的继承体系非常相似:我们使用的也是ResponseFacade实现类,所以用法与前文的Request差不多Response请求重定向Response重定向(redirect):一种资源跳转方式。实现过程:(1)浏览器发送请求给服务器,服务器中对应的资源A接收到请求(2)资源A现在原创 2022-05-19 15:54:59 · 2512 阅读 · 6 评论 -
【Servlet】Request请求参数中文乱码问题与请求转发
文章目录Request请求参数中文乱码问题POST请求解决办法GET请求解决办法Request请求转发请求转发之间共享数据请求转发的特点Request请求参数中文乱码问题POST请求解决办法分析出现中文乱码的原因:POST的请求参数是通过request的getReader()来获取流中的数据TOMCAT在获取流的时候采用的编码是ISO-8859-1ISO-8859-1编码是不支持中文的,所以会出现乱码乱码问题一般都是编码与解码所使用的字符集不一样造成的解决方案:页面设置的原创 2022-05-19 14:50:23 · 2727 阅读 · 1 评论 -
Request①
文章目录Request和Response概述Request对象Request继承体系Request获取请求数据通用方式获取请求数据附:使用IDEA快速创建ServletRequest和Response概述Request是请求对象,Response是响应对象。request:获取请求数据浏览器会发送HTTP请求到后台服务器[Tomcat]HTTP的请求中会包含很多请求数据[请求行+请求头+请求体]后台服务器[Tomcat]会对HTTP请求中的数据进行解析并把解析结果存入到一个对象中所存入的原创 2022-05-19 12:26:22 · 551 阅读 · 3 评论 -
一文搞定Servlet
文章目录Servlet简介Servlet快速入门执行流程生命周期Servlet简介Servlet是JavaWeb最为核心的内容,它是Java提供的一门动态web资源开发技术。使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务器运行ServletServlet快速入门需求分析: 编写一个Servlet类,并使用IDEA中Tomca原创 2022-05-18 15:23:11 · 541 阅读 · 2 评论 -
Servlet中的方法与体系结构
文章目录Servlet中的方法Servlet的体系结构使用urlPattern配置Servlet附:使用XML配置ServletServlet中的方法前三个我们前文已经介绍过,我们来了解一下后面的两种方法。获取Servlet信息String getServletInfo() //该方法用来返回Servlet的相关信息,没有什么太大的用处,一般我们返回一个空字符串即可public String getServletInfo() { return "";}获取ServletCo原创 2022-05-18 17:02:43 · 903 阅读 · 3 评论 -
IDEA中使用Tomcat
文章目录Maven创建Web项目web项目结构创建Maven Web项目使用骨架不使用骨架IDEA中使用Tomcat集成本地TomcatTomcat Maven插件Maven创建Web项目以后Tomcat中运行的绝大多数都是Web项目,而使用Maven工具能更加简单快捷的把Web项目给创建出来web项目结构Web项目的结构分为:开发中的项目开发完可以部署的Web项目开发中的项目:开发完成部署的Web项目:注意:开发项目通过执行Maven打包命令package,可以获取到部署的W原创 2022-05-18 14:33:27 · 6265 阅读 · 2 评论 -
Tomcat的简介与基本使用
文章目录简介Web服务器TomcatTomcat的相关概念:基本使用下载安装卸载启动关闭配置部署简介Web服务器Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。Web服务器是安装在服务器端的一款软件,将来我们把自己写的Web项目部署到Web Tomcat服务器软件中,当Web服务器软件启动后,部署在Web服务器软件中的页面就可以直接通过浏览器来访问了。Web服务器软件使用步骤准备静态原创 2022-04-30 16:21:53 · 7499 阅读 · 1 评论 -
JavaWeb核心①(概述、HTTP)
文章目录前置知识:Web概述Web和JavaWeb的概念JavaWeb技术栈B/S架构静态资源动态资源数据库HTTP请求数据格式响应数据格式附:响应状态码状态码大类常见的响应状态码前置知识:Web概述Web和JavaWeb的概念Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。那么JavaWeb又是什么呢?顾名思义JavaWeb就是用Java技术来解决相关web互联网领域的技术栈。JavaWeb技术栈B/S架构B/S 架构:Browser/Server,浏览器/服务器 架原创 2022-04-30 14:24:10 · 518 阅读 · 0 评论 -
MyBatis基础 -- 参数传递、参数映射、注解开发、字符串替换、面试考察
文章目录MyBatis中的参数传递多个参数单个参数注解开发MyBatis中的参数传递Mybatis 接口方法中可以接收各种各样的参数,如下:多个参数单个参数:单个参数又可以是如下类型POJO 类型Map 集合类型Collection 集合类型List 集合类型Array 类型其他类型多个参数如下面的代码,就是接收两个参数,而接收多个参数需要使用 @Param 注解,那么为什么要加该注解呢?这个问题要弄明白就必须来研究Mybatis 底层对于这些参数是如何处理的。User原创 2022-04-29 19:41:04 · 2459 阅读 · 2 评论 -
MyBatis基础 --使用配置文件完成CRUD【下】
文章目录配置文件完成增删改查添加修改配置文件完成增删改查添加修改原创 2022-04-29 17:07:32 · 593 阅读 · 2 评论 -
MyBatis基础 --条件查询与动态SQL
文章目录配置文件完成增删改查条件查询sql语句设置多个参数变量名对应关系梳理多条件 - 动态条件查询单条件 - 动态条件查询配置文件完成增删改查条件查询场景:分析:当前状态使用精准查询企业名称使用模糊查询品牌名称使用模糊查询且他们同时成立,故使用and连接sql语句设置多个参数步骤详解:①编写接口方法在 BrandMapper 接口中定义多条件查询的方法。而该功能有三个参数,我们就需要考虑定义接口时,参数应该如何定义。Mybatis针对多参数有多种实现使用 @Para原创 2022-04-28 17:52:20 · 1577 阅读 · 0 评论 -
MyBatis基础 --使用配置文件完成CRUD【上】
文章目录MyBatisX配置文件完成增删改查查询所有数据MyBatisXMybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。主要功能XML映射配置文件 和 接口方法 间相互跳转根据接口方法生成 statementstatement就是映射文件里面的sql语句安装方式点击 file ,选择 settings ,就能看到如下图所示界面注意:安装完毕后需要重启IDEA插件效果红色头绳的表示映射配置文件,蓝色头绳的表示mapper接口。在m原创 2022-04-28 11:30:42 · 1084 阅读 · 0 评论 -
MyBatis基础 -- mapper代理开发与配置文件
文章目录Mapper代理开发使用Mapper代理的好处使用Mapper代理的要求MyBatis核心配置文件多环境配置类型别名Mapper代理开发使用Mapper代理的好处之前我们写的代码是基本使用方式,它也存在硬编码的问题,如下:这里调用 selectList() 方法传递的参数是映射配置文件中的 namespace.id值。这样写也不便于后期的维护。如果使用 Mapper 代理方式(如下图)则不存在硬编码问题。通过上面的描述可以看出 Mapper 代理方式的目的:解决原生方式中的硬编码原创 2022-04-27 19:37:33 · 1819 阅读 · 1 评论 -
MyBatis初识
文章目录什么是MyBatisJDBC的缺点MyBatis简化MyBatis基础操作什么是MyBatisMyBatis是一款优秀的持久层框架,用于简化JDBC开发官网:https://mybatis.org/mybatis-3/zh/index.html持久层:负责将数据到保存到数据库的那一层代码。开发中我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。JavaEE三层架构:表现层、业务层、持久层表现层:用来做页面展示业务层:用来做逻原创 2022-04-27 17:19:01 · 1315 阅读 · 4 评论 -
Maven基础
文章目录Maven的基本使用Maven常用命令Maven生命周期IDEA配置Maven配置Maven环境Maven坐标IDEA 创建 Maven项目IDEA 导入 Maven项目配置 Maven-Helper 插件依赖管理使用坐标导入jar包依赖范围Maven的基本使用Maven常用命令compile :编译clean:清理test:测试package:打包install:安装命令演示:在 资料\代码\maven-project 提供了一个使用Maven构建的项目,原创 2022-04-26 20:53:56 · 1593 阅读 · 1 评论 -
Maven初识
文章目录什么是Maven?Maven简介Maven模型仓库Maven安装配置什么是Maven?Maven是专门用于管理和构建Java项目的工具,它的主要功能有:提供了一套标准化的项目结构提供了一套标准化的构建流程(编译,测试,打包,发布……)提供了一套依赖管理机制标准化的项目结构:项目结构我们都知道,每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。我在eclipse中创建的目录,无法在idea中进行使用,这就造成了很大的不方便,如下图:前两个是以后开发经常使原创 2022-04-26 17:54:58 · 1051 阅读 · 0 评论 -
JDBC - 数据库连接池
文章目录数据库连接池简介数据库连接池实现Driud使用附:druid配置详解数据库连接池简介数据库连接池是个容器,负责分配、管理数据库连接(Connection)它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏使用数据库连接池的好处:资源重用提升系统响应速度避免数据库连接遗漏之前我们代码中使用连接是没有使用都创建一个Connection对象,使用完毕就会将其销毁。这样重复创建销毁原创 2022-04-26 16:00:06 · 895 阅读 · 0 评论 -
JDBC快速入门(ResultSet、PreparedStatement、JDBC执行流程)
文章目录ResultSet案例PreparedStatement代码模拟SQL注入问题PreparedStatement用法原理ResultSetResultSet(结果集对象)作用:封装了SQL查询语句的结果。而执行了DQL语句后就会返回该对象,对应执行DQL语句的方法如下:ResultSet executeQuery(sql):执行DQL 语句,返回 ResultSet 对象那么我们就需要从 ResultSet 对象中获取我们想要的数据。ResultSet 对象提供了操作查询结果数据原创 2022-04-26 15:30:41 · 1500 阅读 · 0 评论 -
JDBC初识
文章目录JDBC概述JDBC概念JDBC本质JDBC好处简单的用JDBC操作MySQL数据库Java操作数据库的流程实现步骤JDBC概述在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。JDBC概念JDBC 就是使用Java语言操作关系型数据库的一套API全称:( Java DataBase Connectivity ) Java 数据库连接我们开发的同一套Java代码是无法操作不同的关系型数据库,因为每一个关系型数据库的底层原创 2022-04-26 11:10:20 · 686 阅读 · 2 评论 -
JDBC快速入门(DriverManager、Connection、Statement)
文章目录DriverManager注册驱动获取数据库连接Connection获取执行 SQL 的对象事务管理Statement执行SQL语句DriverManagerDriverManager是一个工具类,这个工具类里面有很多静态方法接下来我们来看看它的作用。注册驱动获取数据库连接注册驱动registerDriver方法是用于注册驱动的,但是我们之前并不是这样写的。而是如下实现Class.forName("com.mysql.jdbc.Driver");我们查询MySQL提供的D原创 2022-04-26 11:09:47 · 687 阅读 · 0 评论 -
一文搞定MySQL事务
文章目录事务简介事务操作事务四大特征事务简介数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败。事务是一个不可分割的工作逻辑单元。我们可以举一个例子更好的理解事务:如下图有一张表张三和李四账户中各有100块钱,现李四需要转换500块钱给张三,具体的转账操作为第一步:查询李四账户余额第二步:从李四账户金额 -500第三步:给张三账户金额 +5原创 2022-04-25 19:28:33 · 1148 阅读 · 0 评论 -
MySQL高级③(多表查询)
文章目录笛卡尔积多表查询种类内连接查询隐式内连接显示内连接外连接查询子查询单行单列多行单列多行多列笛卡尔积首先我们有两张表:emp表:dept表:现在我们执行以下语句:select * from emp , dept; -- 从emp和dept表中查询所有的字段数据结果:从上面的结果我们看到有一些无效的数据,如 孙悟空 这个员工属于1号部门,但也同时关联的2、3、4号部门。这就是笛卡尔积的情况。也就是说它会在两表集合中取出所有可能情况。所以我们要通过限制员工表中的 dep_id原创 2022-04-25 18:57:01 · 1480 阅读 · 0 评论 -
MySQL高级②(数据库设计)
文章目录数据库设计简介表关系实现一对多多对多一对一案例数据库设计简介首先我们应该知道数据库设计在整个软件开发的过程中处于一个什么样的位置。数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型。说白了就是:有哪些表?表里有哪些字段?表和表之间有什么关系?数据库设计的步骤:需求分析(数据是什么? 数据具有哪些属性? 数据与属性的特点是什么)逻辑分析(通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)物理设计(根据数据库自身原创 2022-04-25 16:36:35 · 937 阅读 · 0 评论 -
MySQL高级①(约束)
文章目录约束的概念和分类约束的案例约束的相关细节非空约束唯一约束主键约束默认约束约束的概念和分类上面表中可以看到表中数据存在一些问题:id 列一般是用标示数据的唯一性的,而上述表中的id为1的有三条数据,并且 马花疼 没有id进行标示柳白 这条数据的age列的数据是3000,而人也不可能活到3000岁马运 这条数据的math数学成绩是-5,而数学学得再不好也不可能出现负分柳青 这条数据的english列(英文成绩)值为null,而成绩即使没考也得是0分针对上述数据问题,原创 2022-04-24 17:26:34 · 1406 阅读 · 3 评论 -
MySQL基础③(DQL)
文章目录DQL基础查询条件查询模糊查询LIKE排序查询单个字段排序对多个字段排序分组查询聚合函数分组查询分页查询DQL查询语法:基础查询接下来的所有操作都是对如下表进行:例如:查询name、age两列select name,age from stu;查询所有列的数据,列名的列表可以使用*替代select * from stu;上面语句中的*不建议大家使用,因为在这写*不方便我们阅读sql语句。我们写字段列表的话,可以添加注释对每一个字段进行说明查询地址信息sel原创 2022-04-24 16:48:19 · 853 阅读 · 0 评论 -
MySQL基础②(数据类型、DDL、DML)
文章目录前置:MySQL数据类型DDL用DDL操作数据库MySQL中自带的四个数据库用DDL操作表查询表创建表删除表修改表DML添加数据修改数据删除数据前置:MySQL数据类型MySQL支持多种类型,可以分为三类:数值日期字符串注意:DECIMAL是通过字符串的 形式来表示这种小数型,从而提高小数表达的精度。DATA是年 月 日TIME是时 分 秒YEAR是年份DATETIME是年 月 日 时 分 秒TIMESTAMP(时间戳)也是年 月 日 时 分 秒。他有一个特殊点:如果原创 2022-04-24 13:39:23 · 802 阅读 · 0 评论 -
MySQL基础①
文章目录数据库相关概念MySQL数据模型SQL简介SQL通用语法SQL分类数据库相关概念数据库:存储数据的仓库,数据是有组织的进行存储英文:DataBase,简称DB数据库管理系统:管理数据库的大型软件英文:DataBase Management System,简称DBMSSQL:英文:Structured Query Language,简称SQL,结构化查询语言操作关系型数据库的编程语言定义操作所有关系型数据库的统一标准关系图:常见关系型数据库管理系统:Orac原创 2022-04-24 11:43:16 · 477 阅读 · 0 评论