Web day0906

news2024/9/22 15:42:17

ok了家人们,今天开始学习javaweb,我们一起看看吧

.WEB开发介绍

1.1 WEB介绍

Web World Wide Web )即全球广域网,也称为万维网。简
单说,能够通过浏览器访问的网站。在我们日常的生活中,经
常会使用浏览器去访问百度、京东等这些网站,这些网站统称
Web 网站。
JavaWeb 就是用 Java 技术来解决相关 web 互联网领域的技术
栈。

1.2 软件架构模式

BS 模式 :browser server 浏览器服务器。
例如 : 天猫、京东、知乎网站
优点:只需要开发服务器代码,用户下载浏览器,维护方便;
减少用户的磁盘空间
缺点:给服务器造成压力;用户观看体验不友好。
  • CS模式:client server 客户端 服务器

例如 : QQ ,绝地求生, LOL
优点:具有客户端和服务器端,减轻服务器的压力 ; 用户观看
体验友好
缺点:维护成本大;版本升级麻烦,占用户磁盘空间

1.3 B/SC/S通信模式特点

  • 先有请求
  • 后有响应
  • 请求和响应是成对出现的

1.4 WEB资源

静态资源: WEB 页面中共用户访问的数据始终是不变的,比
如说 :html css js 、图片、音视频等等。
动态资源:指 web 页面中供人们浏览的数据是由程序产生的,
不同的用户或者不同时间点访问 web 页面看到的内容各不相
同。例如: servlet jsp

1.5 URL请求路径

URL Uniform Resource Locator ) , 统一资源定位符 是对
互联网上资源位置的一种表示,互联网上的每个文件都有一个
唯一 URL
作用:通过资源路径可以访问到具体的服务器。
格式:协议 :// 服务器的 ip 地址 : 服务器的端口号 / 项目名 / 资源路
例如:jdbc:mysql://localhost:3306/数据库名
https://www.baidu.com
协议:是一种规范。对数据格式和计算机之间交换数据时必须遵守
的规则的正式描述。
服务器的ip地址:就是访问的服务器的地址。
服务器的端口号:访问服务器端的进程号,属于唯一标识。

.服务器

2.1 服务器介绍

服务器,是提供计算服务的设备。由于服务器需要请求响应,
并进行处理,因此一般来说服务器应具备承担服务并且保障服
务的能力。
服务器分类 :
硬件服务器:服务器的构成包括处理器、硬盘、内存、系统总
线等,和通用的计算机架构类似,但是由于需要提供高可靠的
服务,因此在处理能力、稳定性、可靠性、安全性、可扩展
性、可管理性等方面要求较高。
软件服务器 : 服务器软件本质上是一个应用程序(由代码编写
而成),运行在服务器设备上。能够接收请求并根据请求给客
户端响应数据,发布资源 ( 静态和动态 ) 。数据库服务器、邮件
服务器 ( 易邮 ) 、网页服务器( tomcat nginx发布网页)等

2.2 常见的Web服务器

Tomcat: Apache 软件基金开源免费的 web 服务器 , 支持
JavaEE 规( Servlet/Jsp
JBoss: RedHat 红帽公司的开源免费的 web 服务器 , 支持
JavaEE 规范
Jetty:Apache 组织开源免费的小型 web 服务器 , 支持 JavaEE
规范
Glass Fish:Sun 公司开源免费的 web 服务器 , 支持 JavaEE
WebLogic: Oracle 公司收费的 web 服务器 , 支持 JavaEE 规范

2.3 Tomcat服务器

部署项目
webapps 文件夹下创建 xm 文件夹
xm 文件夹中并创建 index.html 页面
使用记事本打开 html 页面输入如下内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
嘿嘿
</body>
</html>
启动 tomcat
访问:必须加项目名 xm
http://localhost:8080/xm/index.html

.使用IDEA创建web工程

3.1 创建方式一

直接创建 JavaWeb 项目

3.2 创建方式二

先创建普通 Java 工程

3.3 IDEA集成Tomcat

3.4 IDEA部署项目

3.5 WEB项目目录介绍

3.6 IDEA部署并运行项目的原理

idea 并没有直接进将编译好的项目放入 tomcat webapps
idea 根据关联的 tomcat, 创建了一个 tomcat 副本 , 将项目部
署到了这个副本中
idea tomcat 副本在 C:\ 用户 \ 当前用户
\AppData\Local\JetBrains\IntelliJIdea2022.2\tomcat\
idea tomcat 副本并不是一个完整的 tomcat, 副本里只是
准备了和当前项目相关的配置文件而已
idea 启动 tomcat , 是让本地 tomcat 程序按照 tomcat 副本
里的配置文件运行
idea tomcat 副本部署项目的模式是通过
conf/Catalina/localhost/*.xml 配置文件的形式实现项目部
署的

3.7 war包发布

进入到
D:\develop\code\out\artifacts\web_0901_war_explode
d
DOS 命令窗口输入 jar -cvf 打包名称 .war . 表示
当前目录下 )
把打好的 war 拷贝到 tomcat webapps 目录中

.HTTP协议

4.1 HTTP协议简介

HTTP 协议: HyperText Transfer Protocol ,超文本传输协
议,规定了浏览器和服务器之间数据传输的规则。 HTTP 就是
一个通信规则,这个规则规定了客户端发送给服务器的报文格
式,也规定了服务器发送给客户端的报文格式。
客户端发送给服务器的称为 " 请求报文 "
服务器发送给客户端的称为 " 响应报文 "

4.2 Http请求报文详解

HTTP 请求报文:由客户端向服务器端发出的报文。
HTTP 请求报文格式:包含请求行、请求头、空行、请求体 四
个部分
GET 请求没有请求体; POST 请求才有请求体
GET 请求
POST 请求
请求头详解
Accept:浏览器可接受的MIME类型 ,告诉服务器客户端能接收什
么样类型的文件。
User-Agent:浏览器信息.(浏览器类型, 浏览器的版本....)
Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种
字符集
Content-Length:表示请求参数的长度
Host:初始URL中的主机和端口
Content-Type:内容类型,告诉服务器,请求体内容类型[服务器
根据类型解析请求体参数]

Accept-Encoding:浏览器能够进行解码的数据编码方式,比如
gzip
Connection:表示是否需要持久连接。如果服务器看到这里的值
为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP
1.1默认进行持久连接 )
Cookie:这是最重要的请求头信息之一(会话技术, 后面会有专
门的时间来讲的)
Date:Mon, 22Aug 2011 01:55:39 GMT 请求时间GMT

4.3 Http响应报文详解

响应报文:从服务端到客户端的报文。
HTTP 响应报文格式:响应行、响应头、空行、响应体 四个部
响应头详解
Location: 指定响应的路径,需要与状态码 302 配合使用,完成
跳转。
Content-Type: text/html 响应体数据的类型 [ 浏览器根据
类型解析响应体数据 ]
Refresh: 5;url=http://www.baidu.com 指示客户端刷新
频率。单位是秒 eg: 告诉浏览器 5s 之后跳转到百度
Content-Disposition: 文件下载的时候使用。通过浏览器以
下载方式解析正文
Content-Length:80 告诉浏览器正文的长度
Server:apachetomcat 服务器的类型
Content-Encoding: gzip 服务器发送的数据采用的编码类型
Set-Cookie: 与会话相关技术。服务器向浏览器写入 cookie
响应状态码
200 请求成功,浏览器会把响应体内容(通常是
html )显示在浏览器中;
404 请求的资源没有找到,说明客户端错误的请求了
不存在的资源;
405 请求的方式不允许
500 请求资源找到了,但服务器内部出现了错误;
302 重定向,当响应码为 302 时,表示服务器要求浏
览器重新再发一个请求,服务器会发送一个响应头
Location 指定新请求的 URL 地址;
304 使用了本地缓存
JAVAEE 版本和 Servlet 版本号对应关系 Jakarta EE Releases
Tomcat 版本和 Servlet 版本之间的对应关系
ok家人们明天见 嘻嘻

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

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

相关文章

【JAVA基础】StringUtils.isEmpty、StringUtils.isBlank()、Objects.isNull()三者区别

&#x1f4dd;个人主页&#x1f339;&#xff1a;个人主页 ⏩收录专栏⏪&#xff1a;日常经验 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339;&#xff0c;让我们共同进步&#xff01; 总是区分不清楚这几个的差别&#xff1a;我们来直接验证一下&#…

【机械手控制】基于matlab 4-RPR平面机械手的可操作性、工作空间分析和路径跟踪【含Matlab源码 7422期】

✅博主简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;Matlab项目合作可私信或扫描文章底部QQ二维码。 &#x1f34e;个人主页&#xff1a;Matlab凤凰涅槃 &#x1f3c6;代码获取方式&#xff1a;扫描文章底部QQ二维码 ⛳️座右铭&…

U盘数据危机应对:详解文件或目录损坏无法读取的恢复之道

在数字化信息日益重要的今天&#xff0c;U盘作为便携存储设备&#xff0c;几乎成为了每个人工作和生活中的必需品。然而&#xff0c;当U盘突然遭遇文件或目录损坏且无法读取的困境时&#xff0c;我们往往面临数据丢失的风险&#xff0c;这不仅影响工作效率&#xff0c;还可能造…

【开学季】智慧城市入门教程福利放送,零基础入门三维WebGIS

步入九月&#xff0c;不知道有多少同学还没享受够假期 就要开始返校“直面天命” 各种大朋友、小朋友&#xff1b;大一萌新、学长学姐们也 都陆陆续续返校 小编整理了新中地公开课教程 帮助大家丝滑入门大学学习 这份开学礼包&#xff0c;请注意查收&#xff01; WebGIS三…

Xinstall如何用一个包打通多个推广路径?

在移动互联网时代&#xff0c;App的推广和运营对于开发者而言是一项至关重要的任务。然而&#xff0c;面对繁多的推广渠道&#xff0c;如何高效地管理和评估各个渠道的效果&#xff0c;成为了摆在开发者面前的一大难题。今天&#xff0c;我们就来科普一下&#xff0c;如何通过X…

13条自动化测试框架设计原则

1、代码规范 测试框架随着业务推进&#xff0c;必然会涉及代码的二次开发&#xff0c;所以代码编写应符合通用规范&#xff0c;代码命名符合业界标准&#xff0c;并且代码层次清晰。特别在大型项目、多人协作型项目中&#xff0c;如果代码没有良好的规范&#xff0c;那么整个框…

计算机毕业设计选题推荐-博物馆管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Helm Deploy Online Rancher v2.9.1

文章目录 准备安装查看下载 准备 $ kubectl get node NAME STATUS ROLES AGE VERSION kube-master01 Ready control-plane 19d v1.29.5 kube-node01 Ready <none> 19d v1.29.5 kube-node02 Ready <none&…

嵌入式学习(链式栈和链式队列)

栈&#xff08;stack&#xff09;是一种只能在一端插入或删除操作的线性表。 栈只能在表尾插入或删除元素&#xff0c;表尾就是栈的栈顶&#xff0c;表头就是栈底 栈的主要特点&#xff1a;LIFO(last in first out) "后进先出" 栈可以采用顺序存储结构(顺序栈) 和…

备战秋招60天算法挑战,Day33

题目链接&#xff1a; https://leetcode.cn/problems/longest-increasing-subsequence/ 视频题解&#xff1a; https://www.bilibili.com/video/BV1RRvheFEog/ LeetCode 300. 最长递增子序列 题目描述 给你一个整数数组nums &#xff0c;找到其中最长严格递增子序列的长度。 …

Vue——day10之指令

目录 内置指令 v-text指令 v-html指令 v-cloak指令 v-once指令 v-pre指令 整体代码示例 自定义指令 整体代码演示 总结 内置指令 v-text指令 v-text指令是Vue.js中的一种指令&#xff0c;它用于将元素的textContent设置为指定的值。它的使用方式是在元素上添加v-tex…

JavaScript( 简介)

目录 含义 实例 js代码位置 1 外部引入js文件 2 在 HTML 中&#xff0c;JavaScript 代码必须位于 标签之间。 小结 含义 js是一门脚本语言&#xff0c;能够改变HTML内容 实例 getElementById() 是多个 JavaScript HTML 方法之一。 本例使用该方法来“查找” id"d…

大数据 - 行式存储与列式存储

为什么要区分&#xff1f; 大多数数据库系统存储一组数据记录&#xff0c;这些记录由表中的列和行组成。表可以水平分区&#xff08;将属于同一行的值存储在一起&#xff09;&#xff0c;也可以垂直分区&#xff08;将属于同一列的值存储在一起&#xff09;。 数据库用于存储、…

zdppy+vue3+onlyoffice文档管理系统实战 20240906 上课笔记 整合权限校验中间件

基于角色方法的中间件基本用法 import zdppy_api as api import zdppy_apimidauthasync def index(request):return api.resp.success()async def login(request):token zdppy_apimidauth.get_role_token(role"admin")return api.resp.success(token)auth_dict {&…

单例模式的总结

常规模式:有属性/构造方法/普通方法,也可以在类中执行主方法,也可以在test类中执行主方法 单例模式是什么? 单例模式:类只有1个对象;保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式是在内存中 仅会创建一次对象 的设计模式特点: 成员是 私有的静态的 构…

手机扬声器音量总是不够大?试试“扬声器助推器”吧

手机的扬声器音量总是不够大&#xff0c;尤其是在嘈杂的环境中&#xff0c;音乐和视频的声音总是不太清晰。直到我发现了这款“扬声器助推器”&#xff0c;我的手机音质瞬间提升了好几个档次。 软件简介&#xff1a; “扬声器助推器”利用先进的音频处理技术&#xff0c;能够…

中国各银行流动性比例数据(2000-2022年)

介绍中国银行业2000年至2022年间的流动性比例数据&#xff0c;涵盖500多家银行&#xff0c;包括城市商业银行、城镇银行、大型商业银行、股份制银行、民营银行、农村合作银行、农村商业银行、农村信用社等。这些数据对于理解中国银行业的流动性状况至关重要&#xff0c;有助于投…

ansible+awx搭建

1、环境介绍 操作系统版本&#xff1a;龙蜥os 8.9 docker 版本&#xff1a;26.0.2 python版本&#xff1a;3.11.9 ansible版本&#xff1a;2.16.6 awx版本&#xff1a;24.2.0 2、安装docker 设置软件源 yum install -y yum-utilsyum-config-manager \--add-repo \https://mirr…

【生日视频制作】长腿美女模特坐在椅子上打招呼大屏幕AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程长腿美女模特坐在椅子上打招呼大屏幕文字AE模板修改文字特效广软件告生成神器素材祝福玩法AE模板工程 怎么如何做的【生日视频制作】长腿美女模特坐在椅子上打招呼大屏幕AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装A…

Google play最新政策更新和重要提醒

我们都知道&#xff0c;谷歌会定期更新其政策&#xff0c;而政策的变更通常对开发者及其团队的要求会更为严格&#xff0c;也会增加应用上架的一些限制条件&#xff0c;以此提高应用在谷歌商店的质量。 一起来看看Google play最近的一些政策更新和需要注意的地方。 新政策要求 …