JavaWeb(十)

news2024/11/30 3:33:50

一、JavaWeb概述

Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站。

JavaWeb:使用 Java技术进行web互联网开发。

二、JavaWeb 技术栈

2.1、B/S 架构

B/S 架构:Browser/Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。

好处:易于维护升级,服务器端升级后,客户端无需任何处理就可以使用到新的版本。

三、浏览器访问服务器的基本流程

1、浏览器发送一个请求到服务端,去请求所需要的相关资源(包括静态资源和动态资源)。

2、服务端接收到请求后,在Java代码可以进行业务处理也可以从数据库中读取数据;

3、拿到数据后,服务端将数据响应给浏览器;

4、浏览器将这些资源进行解析,解析完后数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好。

5、解析后将效果展示在浏览器,用户就可以看到最终的结果。

三、Tomcat

3.1、什么是tomcat

Tomcat是web服务器,和我们平常所说的服务器是不一样的,我们平常所说的服务器通常指的是一台电脑,而Tomcat是安装在这台电脑上的应该程序(软件),用来专门负责接收http请求的

普通的电脑是不能当做服务器直接使用的,因为别人访问都是HTTP协议访问,使用HTTP协议访问普通电脑,都会被直接拒绝。因为没有软件提供HTTP服务,表现为浏览器打不开页面。但是安装了Tomcat之后,Tomcat会在80或者8080开一个端口,监听看有没有连接这个电脑的HTTP请求。

这时候再访问那台电脑,就能返回网页了,因为有Tomcat提供HTTP服务了

所以就有了Tomcat服务器这一说法,意思是说这台服务器的服务是由Tomcat提供的。

总结:

Tomcat是安装在服务器上的一个软件,用来接收HTTP请求,再将HTTP请求转发到对应的Java代码中,在Java代码中完成逻辑处理后,将响应再以HTTP协议的方式返回给前端页面。

Spring、Springboot等项目中Tomcat的执行流程和上面一样,但是他们内置了Tomcat,所以不用额外的再去配置Tomcat。

所以我们本地启动的项目,通过页面输入localhost+端口号进行访问,首先是被Tomcat监听到,再由Tomcat转发到对应的代码中。

如果spring项目需要挂到网上被外部访问,则需要打成war包,在Tomcat中部署。

参考网址:

Tomcat的作用(自用)_tomcat有什么用_w_3123454的博客-CSDN博客

3.2、Tomcat的基本使用

3.2.1、启动Tomcat

双击Tomcat安装目录bin下面的 startup.bat

启动后,通过浏览器访问 http://localhost:8080能看到Apache Tomcat的内容就说明Tomcat已经启动成功

3.2.2、修改端口

Tomcat默认的端口是8080,要想修改Tomcat启动的端口号,需要修改安装目录conf下的server.xml文件。

3.2.3、部署

一般JavaWeb项目会被打成war包,然后将war包放到Webapps目录下,Tomcat会自动解压缩war包。

四、Idea中集成Tomcat

artifacts不出现的解决办法

https://blog.csdn.net/qq_28245905/article/details/121467743

 

五、HTTP

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

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

相关文章

怎么查看Linux还有多少磁盘空间可用

2023年12月6日,周三晚上 要查看 Linux 系统上还有多少磁盘空间可用,可以使用 df 命令。该命令能够显示文件系统的磁盘空间使用情况。 在终端中输入以下命令即可查看磁盘空间使用情况: df -h其中,-h 参数用于以易读的方式显示磁盘…

unity 2d 入门 飞翔小鸟 飞翔动作动画描点(六)

1、创建文件夹新建动画控制器 右键->create->Animator controer 给图层创建动画 把创建后的动画控制器拖拽至对应图层 点击window->Animation->Animation 点击创建文件夹 把图片拖拽到这里面,就可以了 然后我们就看在player看到已经把动作挂上去 点…

算法通关村第十七关-白银挑战贪心算法高频题目

大家好我是苏麟 , 今天说说贪心算法的高频题目 . 大纲 区间问题判断区间是否重叠合并区间插入区间 区间问题 判断区间是否重叠 描述 : 给定一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间intervalsl[i] [start, end] ,请你…

思维模型 心理防御机制

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。用幻想保护自己。 1 心理防御机制的应用 1.1 以下是心理防御机制在人际关系中的应用 1 心理防御机制的正向使用 小明在一次重要的演讲中犯了一个错误,他感到非常尴尬和失落。…

智能优化算法应用:基于非洲秃鹫算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于非洲秃鹫算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于非洲秃鹫算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.非洲秃鹫算法4.实验参数设定5.算法结果6.参考…

unity 2d 入门 飞翔小鸟 场景淡入淡出功能(三)

1、在图层新建个空的图层 场景2 2创建c#脚本 脚本创建好后,将脚本推拽进空白图层里面,将黑色图片拉进去脚本的参数里面,如上面最后一张图,两个切换的场景都要进行上述操作 using System.Collections; using System.Collection…

计算机图形图像技术(OpenCV核心功能、图像变换与图像平滑处理)

一、实验原理: 1、显示图像 void imshow(const string &name, InputArray image); ①功能:在指定窗口中显示图像。 ②参数:name为窗口的名字;image为待显示的图像。 ③说明:可显示彩色或灰度的字节图像和浮点数图…

深入理解MySQL事务隔离级别与锁机制

表锁: 行锁: InnoDB和MyISAM最大的不同有两点: InnoDB支持事务(TRANSACTION)InnoDB支持行锁 MyISAM在执行查询SELECT前,会自动给涉及的所有表加读锁,在执行update、insert、delete操作会自动…

【计算机二级MS Office】word(上)

这里写目录标题 文件选项卡保存和另存为属性检查文档 开始选项卡字体更改字体和字号设置中文和英文为两种不同字体的快捷方式介绍其余图标文本效果突出颜色如何挑选字体颜色字符底纹带圈字符字体对话框(隐藏) 段落 插入选项卡设计选项卡布局选项卡引用选…

HarmonyOS4.0从零开始的开发教程08构建列表页面

HarmonyOS(六)构建列表页面 List组件和Grid组件的使用 简介 在我们常用的手机应用中,经常会见到一些数据列表,如设置页面、通讯录、商品列表等。下图中两个页面都包含列表,“首页”页面中包含两个网格布局&#xff…

鸿蒙一出,android开发处境再受重创

华为宣布其自研操作系统鸿蒙HarmonyOSNEXT开发者预览版将不再兼容安卓系统,这一消息引起了广泛关注和热议。这一决策标志着华为正式告别安卓,摆脱了外部的制约,开始着手打造一个全新的生态系统。 鸿蒙系统4发布一个月,截至目前&a…

Ubuntu 20.04 安装 mysql8 LTS

Ubuntu 20.04 安装 mysql8 LTS sudo apt-get update sudo apt-get install mysql-server mysql --version mysql Ver 8.0.35-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)) Ubuntu20.04 是自带了 MySQL8. 几版本的,低于 20.04 则默认安装是 MySQL5.7.33 s…

【Python】logging模块函数详解和示例

在Python中,LOGGER通常是指一个用于记录日志的模块或对象。它可以帮助你在程序中跟踪和记录事件,以便于调试、错误跟踪和日志分析。Python的标准库中包含了一个名为logging的模块,它提供了一个灵活且功能强大的日志记录系统。本文对相应的函数…

17、XSS——session攻击

文章目录 一、session攻击简介二、主要攻击方式2.1 预测2.2 会话劫持2.3 会话固定 一、session攻击简介 session对于web应用是最重要,也是最复杂的。对于web应用程序来说,加强安全性的首要原则就是:不要信任来自客户端的数据,一定…

Python---面向对象的综合案例

案例1:定义学员信息类,包含姓名、成绩属性,定义成绩打印方法(90分及以上显示优秀,80分及以上显示良好,70分及以上显示中等,60分及以上显示合格,60分以下显示不及格) 学员…

Android--Jetpack--Databinding详解

不经一番寒彻骨,怎得梅花扑鼻香 一,定义 DataBinding, 又名数据绑定,是Android开发中非常重要的基础技术,它可以将UI组件和数据模型连接起来,使得在数据模型发生变化时,UI组件自动更新。是 MVVM 模式在 An…

Path Finder for Mac:超越系统的文件管理利器

Path Finder for Mac是一款卓越的文件管理器,它不仅具备基本的文件浏览、打开、复制和移动等操作功能,还引入了一系列强大的特性,使得用户可以更高效地管理和处理文件。 一、强大的预览功能 Path Finder for Mac支持多种文件格式的预览&…

初级数据结构(二)——链表

文中代码源文件已上传&#xff1a;数据结构源码 <-上一篇 初级数据结构&#xff08;一&#xff09;——顺序表 | NULL 下一篇-> 1、链表特征 与顺序表数据连续存放不同&#xff0c;链表中每个数据是分开存放的&#xff0c;而且存放的位置尤其零散&#…

Qt进程和线程

一、进程 在设计一个应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经可以使用现成的程序很好的实现了,这时就可以在当前的应用程序中调用外部的程序来实现该功能,这就会使用到进程。Qt应用程序…

文献阅读:基于改进ConvNext的玉米叶片病害分类

文献阅读&#xff1a;基于改进ConvNext的玉米叶片病害分类 CBAM注意力机制模块&#xff1a; 1&#xff1a;通道注意力模块&#xff0c;对输入进来的特征层分别进行全局平均池化&#xff08;AvgPool&#xff09;和全局最大池化&#xff08;MaxPool&#xff09;&#xff08;两个…