JavaWeb(十)

一、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

相关推荐
float_六七1 小时前
IntelliJ IDEA双击Ctrl的妙用
java·ide·intellij-idea
能摆一天是一天3 小时前
JAVA stream().flatMap()
java·windows
颜如玉3 小时前
🤲🏻🤲🏻🤲🏻临时重定向一定要能重定向🤲🏻🤲🏻🤲🏻
java·http·源码
程序员的世界你不懂5 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
星空寻流年5 小时前
设计模式第一章(建造者模式)
java·设计模式·建造者模式
gb42152876 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
曾经的三心草6 小时前
Python2-工具安装使用-anaconda-jupyter-PyCharm-Matplotlib
android·java·服务器
Metaphor6926 小时前
Java 高效处理 Word 文档:查找并替换文本的全面指南
java·经验分享·word
ChinaRainbowSea6 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
stormsha6 小时前
飞算JavaAI炫技赛电商系统商品管理模块的架构设计与实现
java·架构·鸿蒙系统