Javaweb概述

一、概述

1、基本概念

Web开发:

  • web,网页的意思(www.baidu.com)
  • 静态web
    • html、css
    • 提供给所有人看的数据始终不会发生变化!
  • 动态web
    • 提供给所有人看的数据始终发生变化,每个人在不同的时间不同地点看到的信息各不相同
    • 淘宝等等网站
    • 技术栈:Servlet/JSP、ASP、PHP

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

2、web应用程序

web应用程序

可以提供浏览器访问的程序

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

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

3、静态web

  • *.htm、 *.html 这些都是网页的后缀,如果服务器上一直存在这些东西,就可以直接进行读取、通络
  • 缺点:
    • Web页面无法动态更新,所有用户看到的都是同一个页面
      • 轮播图:伪动态
      • JavaScript
      • VBScript
    • 无法与数据库交互(数据无法持久化、用户无法交互)

4、动态web

页面可以动态展示: web的页面展示的效果因人而异

缺点:

  • 若服务器的动态web资源出现错误,则需要重新编写后的程序并重新发布
    • 停机维护

优点:

  • Web页面可以动态更新,所有用户看到的都不是同一个页面

  • 可以与数据库交互(数据持久化)

二、web服务器

1、技术

ASP:

  • 微软:国内最早流行的
  • 在HTML中你那个嵌入了VB的脚本
  • 在ASP开发中,页面混乱
  • 维护成本高
  • C#语言

PHP:

  • 开发速度快、功能强大、跨平台、代码简单
  • 无法承载大访问量的情况

JSP/Servlet:

B/S:浏览和服务器

C/S:客户端和服务器

  • sun公司主推的B/S架构
  • 基于Java语言
  • 可以承载三高(高并发、高可用、高性能)带来的影响
  • 语法像ASP ASP—>JSP

2、web服务器

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

Tomcat

  • Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器
  • 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
  • Tomcat 技术先进、性能稳定,而且免费

三、Http

1、什么是HTTP

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

  • 文本:html、字符串…
  • 超文本:图片、音乐、视频、定位、地图…
  • 80

Https: 安全

2、两个时代

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

3、http请求

客户端----发请求(Request)----服务器

百度:

Request URL: https://www.baidu.com/				URL路径
Request Method: GET								方法
Status Code: 200 OK								状态码:200
Remote Address: 182.61.200.6:443				远程地址	
Referrer Policy: no-referrer-when-downgrade		协议

请求行

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

消息头

Accept: image/webp,image/apng,image/*,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
  • Accept: 告诉浏览器,它所支持的数据类型
  • Accept-Encoding: 支持哪种编码格式
  • Accept-Language:语言环境
  • Connection:请求完成时断开还是保持连接

4、http响应

服务器----响应----客户端

百度:

Cache-Control: private						缓存控制
Connection: keep-alive						连接
Content-Length: 36						
Content-Type: text/html;charset=utf-8		类型
Date: Mon, 08 Mar 2021 02:50:42 GMT
Expires: Mon, 08 Mar 2021 02:50:42 GMT
Server: BWS/1.0
Vary: Accept-Encoding

响应体

Cache-Control: private
Connection: keep-alive
Content-Length: 36
Content-Type: text/html;charset=utf-8
Date: Tue, 09 Mar 2021 01:09:04 GMT
Expires: Tue, 09 Mar 2021 01:09:04 GMT
Server: BWS/1.0
Vary: Accept-Encoding

相应状态码

  • 200:请求响应成功

  • 3XX:请求重定向

    • 重定向:重新到新位置
  • 4XX:找不到资源 404

    • 资源不存在
  • 5XX:服务器代码错误 500 502(网关错误) 503

四、Maven

在javaweb开发中,需要大量的jar包,手动去导入(这谁顶得住呀)

如何能够让一个东西自动帮我们导入和配置这个jar包 ----> Maven

1、Maven项目架构管理工具

目前使用Maven就是便于导入jar包

Maven核心思想: 约定大于配置

  • 有约束,不要去违反

Maven规定好如何去编写Java代码,必须按照这个规范操作

2、下载与配置

官网:https://maven.apache.org

参考文章:https://blog.csdn.net/qq_45366447/article/details/109756324

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值