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

相关推荐
星就前端叭3 分钟前
【开源】一款基于SpringBoot的智慧小区物业管理系统
java·前端·spring boot·后端·开源
带刺的坐椅4 分钟前
RxSqlUtils(base R2dbc)
java·reactor·solon·r2dbc
silence25017 分钟前
深入了解 Reactor:响应式编程的利器
java·spring
weixin_SAG27 分钟前
21天掌握javaweb-->第19天:Spring Boot后端优化与部署
java·spring boot·后端
m0_7482475530 分钟前
SpringMVC跨域问题解决方案
java
Elcker31 分钟前
KOI技术-事件驱动编程(Sping后端)
java·spring·架构
GitNohup34 分钟前
Spring boot处理跨域问题
java·spring boot·跨域
Just_Paranoid1 小时前
使用 IDE生成 Java Doc
java·开发语言·ide
西海天际蔚蓝1 小时前
递归查询全量分页数据问题
java
俎树振1 小时前
深入理解与优化Java二维数组:从定义到性能提升的全面指南
java·算法