JavaWeb系列2——web服务器

🌈hello,你好鸭,我是Ethan,西安电子科技大学大三在读,很高兴你能来阅读。

✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!

🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客

🔥温馨提示:划到文末发现专栏彩蛋   点击这里直接传送

🔥本篇概览:详细讲解了的web服务器,重点讲解了tomcat与输入域名到成功响应后台经历的一系列行为。🌈⭕🔥


【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】


🌈Javaweb序言

🌈引言:

前一篇章:JavaWeb系列1——基本概念-CSDN博客

如果想详细了解服务器,请移步:服务器详解-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

官网:Apache Tomcat® - Welcome!


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!!!
📚愿大家都能学有所得,功不唐捐!

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值