JavaWeb介绍

文章目录

  • 一、基本概念
    • 1.1介绍
    • 1.2 Web应用程序
      • 1.2.1 静态web
      • 1.2.2 动态web
  • 二、Web服务器
    • 2.1 技术介绍
      • 2.1.1 ASP
      • 2.1.2 PHP
      • 2.1.3 JSP/Servlet
    • 2.2 服务器介绍
      • 2.2.1 IIS
      • 2.2.2 Tomcat
  • 三、 Tomcat
    • 3.1 安装
    • 3.2 启动和配置
      • 3.2.1 文件夹结构
      • 3.2.2 启动关闭
      • 3.2.3 配置
      • 3.2.4 发布一个web网站
  • 四、Http
    • 4.1 HTTP介绍
    • 4.2 两个时代
      • 4.2.1 http1.0
      • 4.2.2 http2.0
    • 4.3 Http请求
      • 4.3.1 请求行
      • 4.3.2 消息头
    • 4.4 Http响应
      • 4.4.1 响应头
      • 4.4.2 响应体
      • 4.4.3 响应状态码
    • 4.4 通用
    • 4.5 思考


学习视频来自于:秦疆(遇见狂神说)Bilibili地址
他的自学网站:kuangstudy

拥有希望的人,和漫天的星星一样,是永远不会孤独的


一、基本概念

1.1介绍

Web开发是为Internet(World Wide Web)或Intranet(私有网络)开发网站所涉及的工作。Web开发的范围可以从开发简单的纯文本单个静态页面到复杂的基于Web的Internet应用程序(Web应用程序)。
静态web:

  • html、css、js。
  • 提供给用户看的数据不会发生改变。

动态web:

  • Web应用程序。
  • 提供给用户看的数据会发生改变。
  • 技术栈:Servlet/JSP、ASP、PHP。

1.2 Web应用程序

  • 可以提供浏览器访问的程序。
  • html页面,这些web资源可以被外界访问,对外界提供服务。
  • 任何一个资源,都存在于世界上某一个角落的计算机上。
  • URL:可以通过统一资源定位符,定位到资源。
  • 这些统一的web资源被放在同一个文件夹下,web–>Tomcat:服务器。

1.2.1 静态web

可以读取一些服务器存在的数据,例如:
JavaWeb介绍_第1张图片
缺点

  • 页面无法更新,所有用户看到的都是一个页面。
  • 无法和数据库交互(数据库无法持久化,用户无法交互)。

1.2.2 动态web

页面会动态展示:web的页面展示效果因人而异。
JavaWeb介绍_第2张图片
缺点

  • 加入服务器的动态web资源出现错误,需要停机重新编写后台程序,重新发布。

优点

  • web页面可以动态更新,所有用户看到都是不同一个页面。
  • 它可以和数据库交互(数据持久化)。

二、Web服务器

2.1 技术介绍

2.1.1 ASP

微软:国内最早流行的就是ASP。
在HTML中嵌入VB的脚本,ASP+COM。

优点

  • ASP简单、易于维护 , 是小型页面应用程序的选择。

缺点

  • 在ASP开发中,页面代码和业务代码混在一起,页面极其混乱。
  • 维护成本高。

2.1.2 PHP

优点

  • 开发速度很快,功能很强大,跨平台,代码简单(国内多数是小型网站,很实用)。

缺点

  • 无法承载大访问量的情况(局限性)。

2.1.3 JSP/Servlet

B/S:浏览器和服务器。
C/S:客户端和服务器。
sun公司主推的B/S架构。

优点

  • 基于java语言的(所有的大公司,或者一些开源的组件,都是用java写的)。
  • 可以承载三高问题带来的影响。
  • 语法像ASP,ASP转行过来非常轻松。

2.2 服务器介绍

服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息。

2.2.1 IIS

微软的服务器,每台windows中都自带。

2.2.2 Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,是最佳选择。
Tomcat 实际上运行JSP 页面和Servlet,Tomcat最新版本为10.0.14。
目标
工作3-5年之后可以尝试手写Tomcat服务器。
官网下载
https://tomcat.apache.org/download-10.cgi

三、 Tomcat

3.1 安装

官网: http://tomcat.apache.org/
官网选择下载版本,解压到没有中文路径的文件夹下。

3.2 启动和配置

3.2.1 文件夹结构

JavaWeb介绍_第3张图片

3.2.2 启动关闭

JavaWeb介绍_第4张图片
访问测试:
http://localhost:8080/
可能遇到的问题:

  1. Java环境变量没有配置。
  2. 闪退问题:需要配置兼容性。
  3. 乱码问题:配置文件中设置。
    环境变量
    系统变量添加
    CATALINA_BASE
    CATALINA_HOME
    JavaWeb介绍_第5张图片
    环境变量添加
    JavaWeb介绍_第6张图片

3.2.3 配置

JavaWeb介绍_第7张图片
端口默认8080,也可以自己更改

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

更改主机名

  • 默认主机名称为:localhost 或 127.0.0.1。
  • 默认网站程序放置位置:webapps文件夹。

<Host name="localhost" appBase="webapps" autoDeploy="true" unpackWARs="true">

面试题
请你谈一谈网站是如何进行访问的。

  1. 输入一个域名:回车。
  2. 检查本机的C:\Windows\System32\drivers\etc\hosts配置文件有没有这个域名映射。
    有:直接返回对应的ip地址。
    		127.0.0.1       localhost
    
    没有:查询网络域名服务器,获取对应的ip地址,查不到404。
    JavaWeb介绍_第8张图片

3.2.4 发布一个web网站

将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了。

页面:index.html

DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>title>
	head>
	<body>
		<h1>你好,webh1>
	body>
html>

在webapps文件夹内,拷贝一个ROOT,改成自己web的名字,保留WEB-INF文件夹,其余全部删除,将页面放入,在bin文件夹内启动Tomcat服务器,访问:http://localhost:8080/hello/index.html(hello:web程序文件夹的名字)。

四、Http

4.1 HTTP介绍

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。

  • 文本:html,字符串…
  • 超文本:图片,音乐,视频,定位,地图
  • http端口号:80
  • https端口号:443
    Https:安全的

4.2 两个时代

4.2.1 http1.0

  • HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接。

4.2.2 http2.0

  • HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。

4.3 Http请求

  • 客户端发送请求(Request)到服务器。
// 请求行
请求 URL: https://www.baidu.com/
请求方法: GET
状态代码: 200 OK
远程地址: 39.156.66.18:443
引用站点策略: strict-origin-when-cross-origin

4.3.1 请求行

  • 请求行中的请求方式:GetPost 、HEAD、DELETE、PUT、TRACT。
    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效。
    • post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。

4.3.2 消息头

Accept: 浏览器支持的数据类型
Accept-Encoding: 支持编码格式 GBK UTF-8
Accept-Language: 语言环境
Connection: 请求完成后是断开还是保持连接
HOST: 主机

4.4 Http响应

  • 服务器响应(Response)客户端请求。

4.4.1 响应头

Cache-Control: no-cache // 缓存控制
Connection: keep-alive // 连接
Content-Encoding: gzip // 编码
Content-Type: text/html;charset=utf-8 // 类型

4.4.2 响应体

Accept: 浏览器支持的数据类型
Accept-Encoding: 支持编码格式 GBK UTF-8
Accept-Language: 语言环境
Connection: 请求完成后是断开还是保持连接
HOST: 主机
Refrush: 定时刷新
Location: 让网页重新定位

4.4.3 响应状态码

200:请求响应成功。
3xx:请求重定向。
重定向:你重新到我给你的新位置去。
404:找不到资源。
5xx:服务器代码错误 502:网管错误。

4.4 通用

Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 // 语言
Connection: keep-alive 

4.5 思考

当浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?

你可能感兴趣的:(JavaEE,服务器,tomcat)