JavaWeb学习

本文介绍了JavaWeb的基本概念,包括静态Web和动态Web的特点与区别,强调了动态Web与数据库交互的能力。此外,探讨了Web服务器如Tomcat的作用,以及HTTP协议的两个时代,详细阐述了HTTP请求和响应的构成。通过本文,读者可以对JavaWeb开发有一个初步的认识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本概念

静态web:

  • html,css;
  • 提供给所有人看的数据始终不会发生变化。

动态web:

  • 几乎所有的网站;
  • 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同;
  • 技术栈:Servlet/JSP,ASP,PHP

在Java中,动态web资源开发的技术统称为JavaWeb。

1.1 Web应用程序

Web应用程序:可以提供浏览器访问的程序;

  • a.html 、b.html … 多个web资源,这些web资源可以被外界访问,对外界提供服务。
  • 你能访问到的任何一个页面或者资源,都存在于这个世界的某一个角落的计算机上。
  • URL 。
  • 这个统一的web资源会被放在同一个文件夹下,web应用程序–》tomcat:服务器 一个web应用由多部分组成(静态web,动态web)
    • html,css,js
    • jsp,servlet
    • java程序
    • jar包
    • 配置文件(Properties)

web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理。

1.2 静态Web

  • *.htm, *.html这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。
    在这里插入图片描述
  • 静态web存在的缺点:
    • Web页面无法更新, 用户看到的都是同一个页面;
      • 轮播图,点击特效:伪动态;
      • JavaScript;
      • VBScript;
    • 它无法和数据库交互(数据无法持久化,用户无法交互);

1.3 动态Web

页面会动态展示:web的页面展示的效果因人而异。
在这里插入图片描述

缺点:

  • 假如服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布。

优点:

  • web页面可以动态更新,所有用户都可以看到不同的页面 ;
  • 它可以与数据库交互(数据持久化:商品信息,用户信息)。

二、web服务器

ASP:

  • 微软:国内最早流行的;
  • 在HTML中嵌入VB的脚本,ASP + COM;
  • 在ASP开发中,基本一个页面都是几千行的业务代码,页面极其乱;
  • 维护成本高;
  • C#;
  • IIS;

PHP:

  • PHP开发速度很快,功能强大,跨平台,代码简单(中小型网站);
  • 无法承载大访问量的情况(局限性);

JSP/Servlet:

(B/S:浏览和服务器,C/S:客户端和服务器)

  • sun公司主推的B/S架构,基于Java语言的;
  • 可以承载三高问题(高并发,高可用和高性能)带来的影响;

2.1 Web服务器种类

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

IIS:

  • 微软的:ASP,Windows中自带的。

Tomcat:

  • Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

  • Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP
    程序的首选。对于一个java初学web的人来说,它是最佳的选择。

  • 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。

2.2 发布一个Web网站(Tomcat)

  • 将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了。
  • 网站应该有的结构:
-- webapps:Tomcat服务器的web目录
	- ROOT
	- hustudy:网站的目录名
		- WEB-INF
			- classes:java 程序
			- lib:web应用所依赖的jar包
			- web.xml:网站配置文件
		- index.html 默认的首页
		- static
			-css
				-style.css 
			-js
			-img
		-....

三、Http

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

  • 文本:html,字符串 …
  • 超文本:图片,音乐,视频,定位,地图 …
  • 默认端口:80

Https:安全的,默认端口443

3.1 Http的两个时代

http 1.0时代:HTTP/1.0,短连接

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

http 2.0时代:HTTP/1.1,长连接

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

3.2 Http请求

  • 请求:客户端–>发请求(request)–>服务器
Request URL: https://www.baidu.com/      请求地址
Request Method: GET                      get方法/post方法
Status Code: 200 OK                      状态码:200
Remote Address: 14.215.177.38:443        远程地址+端口

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Cookie: BIDUPSID=E915D8DAC0FCA4159DF81414176EBD43; PSTM=1618281055; BAIDUID=E915D8DAC0FCA415F0B2ABB582D30135:FG=1; __yjs_duid=1_042d578ea86bfb698f35ffbf7e97f5ff1619488718760; BAIDUID_BFESS=E915D8DAC0FCA415F0B2ABB582D30135:FG=1; COOKIE_SESSION=16414_3_8_4_7_1_1_0_7_1_0_0_16416_0_3_0_1625410778_1625394325_1625410775%7C9%2379260_3_1625394323%7C2; BD_LAST_QID=9581266030928333830
Host: www.baidu.com

3.2.1 请求行

  • 请求行中的请求方式:GET
  • 请求方式:GET,POST …
    • get: 请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址拦显示数据内容,不安全,但是高效
    • post: 请求能都携带的参数没有限制,大小没有限制,不会再在浏览器的URL地址拦显示数据内容,安全,但是不高效。

3.2.2 消息头

Accept: 高速浏览器,它所支持的类型
Accept-Encoding: 支持哪种编码格式  GBK  UTF-8 GB2312  ISO8859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
Host:主机

3.3 Http响应

  • 响应:服务器–>响应–>客户端
Cache-Control: private                 缓存控制
Connection: keep-alive                 连接保持
Content-Encoding: gzip                 编码
Content-Type: text/html;charset=utf-8  类型

3.3.1 响应体

Accept: 高速浏览器,它所支持的类型
Accept-Encoding: 支持哪种编码格式  GBK  UTF-8 GB2312  ISO8859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
Host:主机
Refresh:高速客户端,多久刷新一次
Location:让网页重新定位

3.3.2 响应状态码

  • 200:请求响应成功
  • 3xx:请求重定向
    • 重定向: 你重新到我给你的新位置去;
  • 4xx:找不到资源
    • 资源不存在(404)
  • 5xx:服务器代码错误(500 502:网关错误)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值