Java Web开发---复试Tips复习

***********(自用,摘录自各种文章和自己总结)**********

小知识点理解

Web

Web应用开发主要是基于浏览器的应用程序开发。一个Web应用由多部分组成

java web就是用java语言开发出可在万维网上浏览的程序

Web应用程序编写完后,若想提供给外界访问,需要服务器来统一管理

常用的动态网页语言——ASP/PHP/JSP

【结合计网:如何访问网站的】

        IP地址过于长+复杂,因此有<域名>代替了IP地址供人们访问网站。<DNS>就是实现IP地址和域名的解析的。这需要DNS服务器。靠后的com等是顶级域名。

         根域名服务器最高级,他知道所有顶级域名服务器的IP地址

        当一个主机发出DNS查询请求时,这个查询请求报文就会发给本地域名服务器,然后本地域名服务器去根域名服务器,根域名把对应的顶级域名服务器IP告诉本地(这是迭代方法,如果是递归查询,那就是根域名一直查到底,再告诉本地)然后本地域名服务器再去找顶级域名服务器,以此类推。

        

      Q:当你在浏览器地址栏中输入地址并回车的一瞬间到页面展示回来,经历了什么?

      A:这些在客户端浏览器和Web服务器之间发生

        1.浏览器先搜索自身的DNS缓存,如果没有再去搜索操作系统的DNS缓存,如果还没有去hosts文件里找,如果找不到就向本地域名服务器发起请求(以上)

        2.拿到域名对应的IP地址后,浏览器向服务器的Web程序发起TCP连接请求

      

JDK

jdk是java开发工具包,是java语言的核心

而IDEA是java编程语言开发的集成环境,它并不包含 JDK。在使用 IntelliJ IDEA 进行 Java 开发时,需要确保已经安装了 JDK,并且配置 IntelliJ IDEA 来使用正确的 JDK 路径。

Java的文件结构

package包主要用来对类和接口进行分类。当开发 Java 程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类     为了更好地组织类,Java 提供了包机制 

import就是在java文件开头的地方,先说明会用到那些类别。

接着我们就能在代码中只用类名指定某个类,也就是只称呼名字,不称呼他的姓(包名)

项目内容

【前端部分用到的技术栈】

HTML+CSS

JavaScript

Ajax+Vue+ElementUI

【数据库】

事务

事务的四大特性:ACID

事务是一种机制、一个操作序列,包含了一组数据库操作命令

事务把所有的命令作为一个整体一起向系统提交或撤销操作请求——这一组数据库命令要么同时成功,要么同时失败

语法:(ROLLBACK可以回滚到开启事务之前的状态)

Maven

So,Maven是一个跨平台的项目管理工具,Maven可以对Jar包进行统一的管理,包括快速引入Jar包,以及对使用的 Jar包进行统一的版本控制;之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦。而Maven为我们提供了一个标准化的Java项目结构!

IDEA配置Maven以及创建Maven项目具体操作:04-IDEA配置Maven_哔哩哔哩_bilibili

pom.xml 就是 maven 的配置文件,用以描述项目的各种信息

maven中用maven坐标来标识jar包(这个dependency<依赖>就是jar包)

JDBC&MyBatis

JDBC(Java DataBase Connectivity)是用JAVA语言操作关系型数据库的API

也就是说,官方定义了一套操作所有关系型数据库的接口,然后让各个数据厂商(Mysql、Oracle等)用实现类去实现这套接口,再把这些实现类打包(数据驱动jar包),并提供数据驱动jar包给我们使用。

JDBC的操作代码如下:有了ta,在运行后,这些相关的操作就可以发送给MySQL数据库

例如本代码就实现了更新1号id的money这个sql语句~

But JDBC硬编码(例如把可能会改变的字符串直接写到代码里了)+操作繁琐qwq

因此引入了持久层框架MyBatisMyBatis中文网,来简化JDBC开发

(PS:什么是持久层——负责将数据保存到数据库的那一层代码。JavaEE三层架构:表现层(页面展示),业务层(逻辑处理),持久层(数据管理))

在框架基础上构建软件编写更高效、规范、通用、可扩展!

mybatis把那些代码里的字符串都放到了配置文件里:

Mapper代理开发 

具体细节04-Mapper代理开发_哔哩哔哩_bilibili

mapper文件是Mybatis框架中定义SQL语句和映射关系的配置文件

——MyBatisX,基于IDEA的快速开发插件

它的功能是xml配置文件(红色bird)和接口方法(蓝色bird)之间互相跳转,且可以根据接口方法生成statement

接口里写的功能语句:

xml里对应的sql语句:

❤xml配置文件的作用是将Mapper接口中的方法与具体SQL语句关联起来,实现了数据库操作的解耦和简化~

【Web核心】

Tomcat+HTTP+Servlet

<Tomcat>---一个轻量级服务器 

Request+Response

JSP

Cookie+Session

Filter+Listener

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES分布式搜索-IK分词器

ES分词器-IK 1、为什么使用分词器&#xff1f; es在创建倒排索引时需要对文档分词&#xff1b;在搜索时&#xff0c;需要对用户输入内容分词。但默认的分词规则对中文处理并不友好。 我们在kibana的DevTools中测试&#xff1a; GET /_analyze {"analyzer": "…

day37 贪心算法part6

738. 单调递增的数字 中等 提示 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 不知道怎么讲思路……以9287举例&#xff0c;…

AntV L7的pointLayer点图层

本案例使用L7库和Mapbox GL JS创建点数据并加载进地图。 文章目录 1. 引入 CDN 链接2. 引入组件3. 创建地图4. 创建场景5. 创建点数据5.1. 普通 json 数据5.2. geojson 数据 6. 创建点图层6.1. 普通 json 数据6.2. geojson 数据 7. 演示效果8. 代码实现 1. 引入 CDN 链接 <s…

【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题

【网络连接】ping不通的常见原因解决方案&#xff0c;如何在只能访问网关时诊断&#xff0c;并修复IP不通的问题 写在最前面网络基础可能的问题、表现以及解决方案如何诊断和解决操作步骤 详细问题描述详细解决方案1. 防火墙或安全软件拦截2. IP配置错误3. 网络设备问题4. 物理…

面试官问:生成订单30分钟未支付,则自动取消,该怎么实现

今天给大家上一盘硬菜&#xff0c;并且是支付中非常重要的一个技术解决方案&#xff0c;有这块业务的同学注意自己试一把了哈&#xff01; 在开发中&#xff0c;往往会遇到一些关于延时任务的需求。例如 生成订单30分钟未支付&#xff0c;则自动取消 生成订单60秒后,给用户发短…

论文翻译:一种基于强化学习的车辆队列控制策略,用于减少交通振荡中的能量消耗

A Reinforcement Learning-Based Vehicle Platoon Control Strategy for Reducing Energy Consumption in Traffic Oscillations 一种基于强化学习的车辆队列控制策略&#xff0c;用于减少交通振荡中的能量消耗 文章目录 A Reinforcement Learning-Based Vehicle Platoon Cont…

QT中的信号和槽

信号和槽概述 在 Qt 中&#xff0c;用户和控件的每次交互过程称为⼀个事件。比如 “用户点击按钮” 是⼀个事件&#xff0c;“用户关闭窗口” 也是⼀个事件。每个事件都会发出⼀个信号&#xff0c;例如用户点击按钮会发出 “按钮被点击” 的信号&#xff0c;用户关闭窗口会发出…

突破编程_前端_JS编程实例(自适应表格列宽)

1 开发目标 针对如下的表格组件&#xff1a; 根据表格的各个列字符串宽度动态调整表格列宽&#xff1a; 2 详细需求 本组件目标是提供一个自动调整 HTML 表格列宽的解决方案&#xff0c;通过 JS 实现动态计算并调整表格每列的宽度&#xff0c;以使得表格能够自适应容器宽度&a…

微信作为私域营销的载体有哪些优势?

私域流量的本质就是&#xff1a; 降低我的获客成本&#xff0c;提高我产品服务的复购率&#xff0c;增加我和用户之间的粘性&#xff0c;挖掘用户的终身价值。 私域流量的优势&#xff1a; 1、更精准&#xff1b; 2、节约成本&#xff0c;减少广告成本&#xff1b; 3、有利于品…

LCR 179. 查找总价格为目标值的两个商品 - 力扣

1. 题目 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况&#xff0c;返回任一结果即可。 2. 示例 3. 分析 我们首先想到暴力解法&#xff0c;这道题目的暴力还是比较简单的&#xff0c;列举每个数的情况即可…

C/C++的内存管理与初阶模板

引言 我们在学习C的时候&#xff0c;会经常在堆上申请空间&#xff0c;所以这个时候就体现了内存管理遍历。 图下是我们常见的计算机的内存划分&#xff1a; 我也在图下对部分变量存在的位置&#xff0c;及时标注。(如果有任何问题可以联系博主修改&#xff0c;感谢大家。) 那…

智慧油气场站:油气行业实现数字化转型的关键一步

智慧油气场站&#xff1a;油气行业实现数字化转型的关键一步 在现代社会&#xff0c;能源供应是国家经济发展和人民生活的重要保障。而油气场站作为能源的重要供应和储存基地&#xff0c;扮演着至关重要的角色。此外&#xff0c;油气场站还可以为石油和天然气的生产提供支持。…

Docker安装主从数据库

我自己的主数据库名字 user_muster 密码是123456 从数据库 就是slave2 名字是root 密码是123456 首先开启docker后直接执行命令 docker run -d \ -p 3307:3306 \ -v /xk857/mysql/master/conf:/etc/mysql/conf.d \ -v /xk857/mysql/master/data:/var/lib/mysql \ -e MYSQL_…

【随笔】程序员的金三银四求职宝典,每个人都有最合适自己的求职宝典

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读文章&#xff01; 此篇是【话题达人】系列文章&#xff0c;这一次的话题是《程序员的金三银四求职宝典》 目录 背景能力流程图求职宝典就业数据人数曲线图增长率柱状图 其他建议文章推荐 背景 随着春天的脚步渐近&#xff0…

【JavaEE初阶】 关于JVM垃圾回收

文章目录 &#x1f343;前言&#x1f38b;死亡对象的判断算法&#x1f6a9;引用计数算法&#x1f6a9;可达性分析算法 &#x1f333;垃圾回收算法&#x1f6a9;标记-清除算法&#x1f6a9;复制算法&#x1f6a9;标记-整理算法&#x1f6a9;分代算法&#x1f388;哪些对象会进入…

Redis与 Memcache区别

Redis与 Memcache区别 1 , Redis 和 Memcache 都是将数据存放在内存中&#xff0c;都是内存数据库。不过 Memcache 还可用于缓存 其他东西&#xff0c;例如图片、视频等等。 2 , Memcache 仅支持key-value结构的数据类型&#xff0c;Redis不仅仅支持简单的key-value类型的数据&…

STM32 | Proteus 8.6安装步骤(图文并茂)

01 Proteus 8.6 简介 Proteus 8.6 是一款功能强大的电子设计自动化软件&#xff0c;广泛用于电路设计、仿真和PCB布局。它为电子工程师和学生提供了一个全面的工具集&#xff0c;用于设计和验证各种电路和电子设备。Proteus 8.6 包括了以下几个主要特性&#xff1a; 1. 电路设…

力扣404. 左叶子之和(java)

//当前节点的左子树不为空 且是叶子节点 root.left ! null &&root.left.leftnull && root.left.rightnull/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* …

git分布式管理-头歌实验搭建Git服务器

一、Git服务器搭建 任务描述 虽然有提供托管代码服务的公共平台&#xff0c;但是对一部分开发团队来说&#xff0c;为了不泄露项目源代码、节省费用及为项目提供更好的安全保护&#xff0c;往往需要搭建私有Git服务器用做远程仓库。Git服务器为团队的开发者们&#xff0c;提供了…

洛谷 P8816 [CSP-J 2022] 上升点列(T4)

目录 题目传送门 算法解析 最终代码 提交结果 尾声 题目传送门 [CSP-J 2022] 上升点列 - 洛谷https://www.luogu.com.cn/problem/P8816 算法解析 k 0 且 xi, yi 值域不大时&#xff0c;这题是非常简单的 DP&#xff0c;类似「数字三角形」。 记 dp(x,y) 为「以 (x,y) …