实训小总结

news2024/11/28 20:43:36

1. Web概述

1.1 Web和JavaWeb的概念

Web是全球广域网,也成为万维网,能够通过浏览器访问网站。
在我们日常的生活中,经常会使用浏览器去访问 百度 、 京东 、等这些网站,这些网站统称为Web网站。我们知道了什么是Web,那么JavaWeb又是什么呢?
顾名思义,JavaWeb就是用Java技术来解决相关web互联网领域的技术栈。

1.2 数据库

  • 数据库主要负责存储数据。
  • 整个Web的访问过程如下图所示:
    在这里插入图片描述
    ⑴浏览器发送一个请求到服务端,去请求所需要的相关资源
    (2)资源分为动态资源和静态资源,动态资源可以是使用Java代
    码按照Servlet和JSP的规范编写的内容;
    (3)在Java代码可以进行业务处理也可以从数据库中读取数据;
    (4)拿到数据后,把数据交给HTML页面进行展示,再结合CSS
    和avaScript使展示效果更好;
    (5)服务端将静态资源响应给浏览器;
    (6浏览器将这些资源进行解析;
    (7)解析后将效果展示在浏览器,用户就可以看到最终的结果

1.3HTTP协议和WEB服务器

HTTP协议:

  • HTTP协议:主要定义通信规则
  • 浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,TCP、UDP,这些都属于规则,这里我们需要使用的是HTTP协议,这也是一种规则。

HTTP协议的特点

  1. 基于TCP协议: 面向连接,安全
    TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协
    议,在数据传输方面更安全。
  2. 基于请求-响应模型的:一次请求对应一次响应
    请求和响应是一一对应关系
  3. HTTP协议是无状态协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
    无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。这种特性有优点也有缺点,
    (1)缺点:多次请求间不能共享数据
    (2) 优点:速度快
    请求之间无法共享数据会引发的问题,如:
    京东购物, 加入购物车 和 去购物车结算 是两次请求,HTTP协议的无状态特性,加入购物车请求响应结束后,并未记录加入购物车是何商品发起去购物车结算的请求后,因为无法获取哪些商品加入了购物车,会导致此次请求无法正确展示数据具体使用的时候,我们发现京东是可以正常展示数据的,原因是Java早已考虑到这个问题,并提出
    了使用 会话技术(Cookie、Session) 来解决这个问题。

WEB服务器:

  • Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据;
  • 浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据HTTP协议解析请求和数据,然后把处理结果再按照HTTP协议发送给浏览器。

创建Maven Web 项目

使用Maven来创建Web项目,创建方式有两种:使用骨架和不
使用骨架:
使用骨架

1.创建Maven项目
2.选择使用Web项目骨架
3.输入Maven项目坐标创建项目
4.确认Maven相关的配置信息后,完成项目创建
5.删除pom.xml中多余内容
6.补齐Maven Web项目缺失的目录结构

1.创建Mavn项目:
在这里插入图片描述
2.选择使用Web项目骨架
在这里插入图片描述
3. 输入Maven项目坐标创建项目
在这里插入图片描述
4.确认Maven相关的配置信息后,完成项目创建
在这里插入图片描述
5. 删除pom.xml中多余内容,只留下面的这些内容,注意打包方式 jar和war的区别
在这里插入图片描述
6.补齐Maven Web项目缺失的目录结构,默认没有java和resources目录,需要手动完成创建补齐,
最终的目录结果如下
在这里插入图片描述
不使用骨架

具体的步骤包含:
1.创建Maven项目
2.选择不使用Web项目骨架
3.输入Maven项目坐标创建项目
4.在pom.xml设置打包方式为war
5.补齐Maven Web项目缺失webapp的目录结构
6.补齐Maven Web项目缺失WEB-INF/web.xml的目录结构
  1. 创建Maven项目在这里插入图片描述
  2. 选择不使用Web项目骨架在这里插入图片描述
  3. 输入Maven项目坐标创建项目在这里插入图片描述
  4. 在pom.xml设置打包方式为war,默认是不写代表打包方式为jar在这里插入图片描述
  5. 补齐Maven Web项目缺失webapp的目录结构在这里插入图片描述
  6. 补齐Maven Web项目缺失WEB-INF/web.xml的目录结构在这里插入图片描述
  7. 补充完后,最终的项目结构如下:在这里插入图片描述
    上述两种方式,创建的web项目,都不是很全,需要手动补充内容,至于最终采用哪种方式来创建Maven Web项目,都是可以的,根据各自的喜好来选择使用即可。

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

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

相关文章

超详细的HTML学习笔记:语法特点、骨架结构、基本标签及其属性(附代码示例)

作者想先说一点废话:这篇文章是作者通过学习动力节点、黑马程序员的两套不同的THML课程整理出的学习笔记,融合了两套课程的知识点,耗费了372行代码(加代码注释),希望能帮到大家。HTML只是前端学习的开端&am…

【Redis】聊一下Redis切片集群的原理

背景 在分布式领域中,为了提高系统的稳定性,一般会采用数据复制/镜像的方式,同时部署多个相同功能的节点提供服务,也就是A B C存储的相同的数据。有一个主节点提供读写服务,另外两个节点进行数据的复制,在…

chatgpt赋能python:Python去重-如何高效地处理重复数据

Python去重 - 如何高效地处理重复数据 在数据处理过程中,重复数据可能会导致很多问题,如降低计算效率、影响数据质量等。因此,数据去重是一个非常重要的任务,特别是在大数据处理中更是如此。Python作为一种流行的编程语言&#x…

make xxx_deconfig过程

在uboot中,所写的shell脚本:mx6ull_alientek_emmc.sh的内容如下: #!/bin/bash2 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean3 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig4 make V1…

[数据结构习题]队列——用栈实现队列

[数据结构习题]队列——用栈实现队列 👉知识点导航💎:【数据结构】栈和队列 👉[王道数据结构]习题导航💎: p a g e 85.3 page85.3 page85.3 本节为栈和队列的综合练习题 题目描述: &#x1f…

chatgpt赋能python:Python实现CSV文件只取某两列的方法详解

Python实现CSV文件只取某两列的方法详解 介绍 CSV是一种常见的数据格式,通常使用逗号或分号分隔不同的字段。在处理CSV文件时,我们经常需要只提取其中的某些列,以便进行进一步的分析或处理。使用Python语言,可以很方便地实现这一…

MTK 相机功耗分析流程

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、硬件功耗二、相机软件功耗三、参考文档 一、硬件功耗 1.1 硬件信息 以下硬件信息最好提前获取到 模块备注平台MTK or Qcom or sprdCPU频率大中小核…

【Python】Python系列教程-- Python3 列表(十二)

文章目录 前言访问列表中的值更新列表删除列表元素Python列表截取与拼接嵌套列表列表比较Python列表函数&方法 前言 往期回顾: Python系列教程–Python3介绍(一)Python系列教程–Python3 环境搭建(二)Python系列…

第一次使用Arduino IDE(mac os) 配置合宙ESP32C3(9.9包邮)且烧录代码的历程

目录 Arduino 配置ESP32 1. Arduino 请更新至最新版 2.科学上网 3.添加开发板管理URL 配置 1.连接开发板 2.Arduino IDE 的配置 3.烧录代码 Arduino 配置ESP32 1. Arduino 请更新至最新版 2.科学上网 3.添加开发板管理URL 首选项,编辑并添加 https://…

医疗实施-DRG基本知识

医疗实施-DRG基本知识 DRG常见名词定义: DRG(Diagnosis Related Groups):疾病诊断相关分组,是用于衡量医疗服务质量效率以及进行医保支付的一个重要工具。DRG 实质上是一种病例组合分类方案,即根据年龄、疾病诊断、合…

网络安全学术顶会——NDSS 2023 议题清单、摘要与总结(下)

51、Let Me Unwind That For You: Exceptions to Backward-Edge Protection 通过堆栈缓冲区溢出进行反向边控制流劫持是软件利用的终极目标。直接控制关键的堆栈数据和劫持目标使得攻击者特别喜欢这种利用策略。因此,社区已经部署了强大的反向边保护,如影…

Executor框架的成员

Executor框架的成员 (1)ThreadPoolExecutorThreadPoolExecutor通常使用工厂类Executors来创建。Executors可以创建3种类型的ThreadPoolExecutor:SingleThreadExecutor、FixedThreadPool和CachedThreadPool。1) FixedThreadPool 。…

chatgpt赋能python:Python取某几行-掌握技巧提高效率

Python取某几行-掌握技巧提高效率 Python是一种简单易学、高效编程的语言。它也是一种非常强大的语言,适用于许多不同领域的应用程序。在处理文本文件和数据集时,Python的优势变得尤为突出。在这篇文章中,我们将重点介绍如何使用Python取某几…

Linux【网络编程】之深入理解UDP协议

Linux【网络编程】之深入理解UDP协议 一、传输层二、再谈端口号2.1 端口号划分 三、查看网络状态---netstat四、查看服务器进程ID---pidof五、UDP协议端格式5.1 理解报头 六、UDP的特点七、UDP的缓冲区问题八、常见基于UDP的应用层协议 在前面的几篇文章中我主要偏向于应用层介…

30分钟!从0到1,用ChatGPT+Python做一个AI起名网!

坚持6年,第629篇原创 现在利用ChatGPT可以做很多很多事情,而对于我们程序员来说,是机会也是挑战!因为原来很多工种,很多技术问题现在可以用非常廉价的技术去获取,成本更低了! 打个比方&#xff…

【LeetCode】《LeetCode 101》第十章:神奇的位运算

文章目录 10.1 常用技巧10.2 位运算基础问题461. 汉明距离(简单)190. 颠倒二进制位(简单)136. 只出现一次的数字(简单) 10.3 二进制特性342. 4的幂(简单)318. 最大单词长度乘积&…

Vue+springboot舞蹈基础课程视频学习分享平台的实现和开发

基于java语言设计并实现了舞蹈基础数据平台。该系统基于B/S即所谓浏览器/服务器模式,应用Springboot框架,选择MySQL作为后台数据库。系统主要包括首页、个人中心、用户管理、舞蹈类型管理、舞蹈视频管理、用户留言、管理员管理、系统管理等功能模块。 重…

springboot+vue+elementui计算机专业课程选课管理系统vue

本系统的主要任务就是负责对学生选课。主要用户为老师、学生,其中,学生可对自己的信息进行查询,可以进行选课,也可以进行删除已选课程,教师可对学生和课程的信息进行查询,教师拥有所有的权限,可以添加删除学生信息。系统提供界面,操作简单。 为实现这些功能,系统一个…

山区特殊场景的倾斜摄影三维模型数据出现几何坐标偏差原因,如何修正这些坐标偏差?

山区特殊场景的倾斜摄影三维模型数据出现几何坐标偏差原因,如何修正这些坐标偏差? 山区倾斜摄影三维模型数据出现几何坐标偏差的原因可能有很多,其中一些常见的原因包括不同地图投影系统之间的转换问题、GPS定位误差、测量设备精度问题、摄影…

C++入门:引用、内联函数、auto关键字

目录 一:引用 (1)概念 (2)使用 (3)引用的特性 (4)引用的使用场景 【1】做参数 【2】做返回值 (5) 引用的权限问题 (6)引用和指针的区别 【1】引用的底层实现 【2】指针和引用的一些不同 二:内联函数 (1)宏函数 【1】 宏的优点 【2】宏的缺…