🌈hello,你好鸭,我是Ethan,西安电子科技大学大三在读,很高兴你能来阅读。
✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!
🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客
🔥温馨提示:划到文末发现专栏彩蛋 点击这里直接传送
🔥本篇概览:详细讲解了的web服务器,重点讲解了tomcat与输入域名到成功响应后台经历的一系列行为。🌈⭕🔥
【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】
🌈Javaweb序言
🌈引言:
如果想详细了解服务器,请移步:服务器详解-CSDN博客
2、web服务器
2.1、技术讲解
ASP:
- 微软:国内最早流行的就是ASP;
- 在HTML中嵌入了VB的脚本,ASP+COM;
- 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其混乱
- 维护成本高!
- C#:
- IIS
PHP:
- PHP开发速度很快,功能很强大,跨平台,代码很简单(70%,WP)
- 无法承载大访问量的情况(局限性)
JSP/Servlet:
- B/S:浏览和服务器架构
- C/S:客户端和服务器架构
- sun公司主推的B/S架构
- 基于Java语言的(所有的大公司,或者一些开源的组件,都是用Java写的)
- 可以承载三高问题带来的影响;
- 语法像ASP,ASP->JSP,加强市场强度;
在 CS(Client/Server,客户端/服务器模式) 模式下,比如我们常用的 QQ 软件,用户需要在自己的电脑上下载并安装专门的客户端程序。如果软件有更新,还得重新下载安装。而 BS (Browser/Server,浏览器/服务器模式)模式就像我们使用的在线邮箱,不需要安装额外的软件,只要有浏览器,输入网址就能使用,系统更新也都在服务器端完成,用户无需操心。
比如说,我们玩的大型网络游戏通常是 CS 模式,而在网上购物时访问的电商平台一般是 BS 模式。
2.2、web服务器
- 服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息;
- lIS
- 微软的;ASP,Windows中自带的
- Tomcat
tomcat:
Tomcat是Apache 软件基金会(Apache Software Foundation)的jakarta项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受lava爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个Java初学web的人来说,它是最佳的选择
Tomcat 实际上运行JSP页面和Servlet。Tornct最新版9.0
工作3-5年之后,可以尝试手写Tomcat服务器;(秋招结束就开始!!!必须的!!!)。
下载Tomcat:
安装or解压
了解配置文件及目录结构
这个东西的作用
3、Tomcat
3.1、安装tomcat tomcat
3.2、Tomcat启动和配置
文件夹作用:
访问测试:http://localhost:8080/
可能遇到的问题:
- Java环境变量没有配置
- 闪退问题:需要配置兼容性
- 乱码问题:配置文件中设置
- 可以修改 conf/logging.properties 中的 java.util.logging.ConsoleHandler.encoding = GBK 解决乱码问题
3.3、配置
可以配置启动的端口号
- tomcat的默认端口号为:8080
- mysql:3306
- http:80
- https:443
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
可以配置主机的名称
- 默认的主机名为:localhost->127.0.0.1
- 默认网站应用存放的位置为:webapps
<Host name="www.qinjiang.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
3.4、发布一个web网站
不会就先模仿
- 将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了
网站应该有的结构:
--webapps :Tomcat服务器的web目录
-ROOT
-kuangstudy :网站的目录名
- WEB-INF
-classes : java程序
-lib:web应用所依赖的jar包
-web.xml :网站配置文件
- index.html 默认的首页
- static
-css
-style.css
-js
-img
-.....
高难度面试题:
🔥请你谈谈网站是如何进行访问的!
1.输入一个域名;回车
2.映射域名到ip地址:
- 检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射;
- 有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
- 没有:去DNS服务器找,找到的话就返回,找不到就返回找不到;
3.获得 IP 地址后,浏览器通过 TCP 协议与服务器建立连接。这个过程涉及“三次握手”来确保连接的可靠建立。
4.连接建立成功后,浏览器向服务器发送 HTTP 请求,请求访问特定的页面或资源,例如 GET /index.html
。
5.服务器接收到请求后,根据请求的内容进行处理。如果请求的是静态文件(如 HTML、CSS、JavaScript 文件等),服务器会从存储中读取并返回给浏览器。如果是动态请求(如涉及数据库查询、处理用户输入等),服务器会运行相应的程序或脚本生成响应内容。
6.服务器将生成的响应(通常是 HTML 代码、数据等)通过已建立的连接发送回浏览器。
7.浏览器接收响应,并根据其中的内容(如 HTML 中的标签和指令)进行解析和渲染。这包括构建页面结构、加载图片、执行 JavaScript 代码等。
8.最终,浏览器将完整渲染好的页面展示给用户。
附:我的hosts文件内容:
注意:
hosts
文件主要用于手动指定域名与 IP 地址的映射关系。它不是用于记录访问历史的。
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖
热门专栏推荐
🌈🌈计算机科学入门系列 关注走一波💕💕
🌈🌈CSAPP深入理解计算机原理 关注走一波💕💕
🌈🌈微服务项目之黑马头条 关注走一波💕💕
🌈🌈redis深度项目之黑马点评 关注走一波💕💕
🌈🌈JAVA面试八股文系列专栏 关注走一波💕💕
🌈🌈JAVA基础试题集精讲 关注走一波💕💕
🌈🌈代码随想录精讲200题 关注走一波💕💕
总栏
🌈🌈JAVA基础要夯牢 关注走一波💕💕
🌈🌈JAVA后端技术栈 关注走一波💕💕
🌈🌈JAVA面试八股文 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析) 关注走一波💕💕
🌈🌈计算机四件套 关注走一波💕💕
🌈🌈数据结构与算法 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总 关注走一波💕💕
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!