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.hqwc.cn/news/522092.html

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

相关文章

如何在Windows上使用Docker,搭建一款实用的个人IT工具箱It- Tools

文章目录 1. 使用Docker本地部署it-tools2. 本地访问it-tools3. 安装cpolar内网穿透4. 固定it-tools公网地址 本篇文章将介绍如何在Windows上使用Docker本地部署IT- Tools&#xff0c;并且同样可以结合cpolar实现公网访问。 在前一篇文章中我们讲解了如何在Linux中使用Docker搭…

JavaScript极速入门(2)

JQuery W3C标准给我们提供了一系列函数,让我们可以操作: 网页内容 网页结构 网页样式 但是原生的JavaScript提供的API操作DOM元素时,代码比较繁琐,冗长.我们学习使用JQuery来操作页面对象. JQuery是一个快速,简洁且功能丰富的JavaScript框架,于2006年发布.它封装JavaScript常…

Charles抓包工具使用

Charles简介 Charles是一款基于HTTP协议的代理服务器和HTTP监视器&#xff0c;通过将自己设置为电脑或浏览器的网络访问代理&#xff0c;能够截取请求和请求结果&#xff0c;从而达到分析抓包的目的。它允许开发者查看所有连接互联网的HTTP通信&#xff0c;包括请求、响应和HTT…

1.5如何缓解图像分类任务中训练数据不足带来的问题?

1.5 图像数据不足时的处理方法 场景描述 在机器学习中&#xff0c;绝大部分模型都需要大量的数据进行训练和学习(包括有监督学习和无监督学习)&#xff0c;然而在实际应用中经常会遇到训练数据不足的问题。 比如图像分类&#xff0c;作为计算机视觉最基本的任务之一&#xff0…

万字详解,Java实现低配版线程池

文章目录 1.什么是线程池2.线程池的优势3.原理4.代码编写4.1 阻塞队列4.2 ThreadPool线程池4.3 Worker工作线程4.4 代码测试 5. 拒绝策略5.1 抽象Reject接口5.2 BlockingQueue新增tryPut方法5.3 修改ThreadPool的execute方法5.4 ThreadPool线程池构造函数修改5.5 拒绝策略实现1…

虾皮、lazada店铺运营攻略,如何搭建高效、稳定的自养号测评系统

随着电子商务的蓬勃发展&#xff0c;越来越多的人选择在虾皮这样的电商平台上开设店铺&#xff0c;以实现创业梦想。但如何在众多店铺中脱颖而出&#xff0c;成为消费者的首选?本文将为您详细解答“怎么样做好虾皮店铺”&#xff0c;并提供一些实用的运营建议。 一、怎么样做…

【grafana】Grafana Image Renderer插件获取grafana仪表盘图片(docker方式、python爬虫)

1、编写docker-compose.yml文件 #如果你已启动grafana容器&#xff0c;只需修改docker-compose.yml&#xff0c;在grafana添加环境变量&#xff0c;grafana-image-renderer插件的服务&#xff0c;官网地址&#xff1a;Grafana Image Renderer plugin for Grafana | Grafana L…

C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码

1 煎饼排序问题 给定一个未排序的数组&#xff0c;任务是对给定数组进行排序。您只能在阵列上执行以下操作。 翻转&#xff08;arr&#xff0c;i&#xff09;&#xff1a;将数组从0反转为i 示例&#xff1a; 输入&#xff1a;arr[]{23、10、20、11、12、6、7} 输出&#xff1a…

基于51单片机风速仪风速测量台风预警数码管显示

基于51单片机风速仪风速测量报警数码管显示 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真4. 程序代码5. 设计报告&#x1f517;6. 下载链接资料下载链接&#xff1a; 基于51单片机风速仪风速测量报警数码管显示( proteus仿真程序设计报告讲解视频&#xff09; 仿真图…

别再害怕SQL:用这个友好的MySQL学习网站轻松入门!

介绍&#xff1a;MySQL是一个广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典的MySQL AB公司开发&#xff0c;并现在属于Oracle公司。以下是对MySQL的详细介绍&#xff1a; 发展历史&#xff1a;MySQL最初由瑞典MySQL AB公司于1995年开发&…

XSS漏洞-存储型漏洞案例

一、环境 在github上找DVWA的靶机环境 DVWA存储库 二、复现 先将其安全等级改为低 然后点击存储型的xss&#xff0c;先随便写几条看看现象 可以看到我们写的都展示在了下面的框中 看看源码&#xff0c;分析在存储时的漏洞 我们可以看到&#xff0c;在对数据插入的时候&am…

全面认识计算机

目录 一、计算机的发展史 1. 电子管计算机时代 2. 晶体管计算机时代 3. 小、中规模集成电路计算机时代 4. 大、超大规模集成电路计算机时代 二、计算机硬件组成 1. 输入设备 2. 输出设备 3. 存储器 4. 运算器 5. 控制器 三、计算机硬件间的连接 四、计算机系统的结…