JavaWeb简介

1. 概述

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

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

静态web

缺点

  • Web页面无法动态更新,所有用户看到都是同一个页面
    • 轮播图,点击特效:伪动态
    • JavaScript [实际开发中,它用的最多]
    • VBScript
  • 它无法和数据库交互(数据无法持久化,用户无法交互)

动态web

缺点:

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

优点:

  • Web页面可以动态更新,所有用户看到都不是同一个页面
  • 它可以与数据库交互 (数据持久化:注册,商品信息,用户信息........)

2. 几种动态网页语言

ASP:

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

php:

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

JSP/Servlet :

  • 基于Java语言的
  • 可以承载三高(高性能、高可用、高并发)问题带来的影响;
  • 语法像ASP , ASP-->JSP

3. Tomcat服务器

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

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

tomcat官网

3.1. 几个常见的端口号

  • tomcat的默认端口号为:8080
  • mysql:3306
  • http:80
  • https:443
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

可以配置主机的名称

  • 默认的主机名为:localhost->127.0.0.1
  • 默认网站应用存放的位置为:webapps
  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

3.2. 网站访问的流程

  1. 输入一个域名,回车

  2. 查看host文件有无本地映射

  3. 若有,直接返回对应ip地址,进行web访问。

    若无,查询DNS服务器,找到的话返回ip地址,进行web访问,找不到则返回错误。

3.3. 网站的结构

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

--webapps :Tomcat服务器的web目录
    -ROOT
    -web1 :网站的目录名

  - WEB-INF
            -classes : java程序
            -lib:web应用所依赖的jar包
            -web.xml :网站配置文件
     - index.html 默认的首页
     - static 
       -css
       -style.css
       -js
       -img
       -.....

4. HTTP

4.1. 概念

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

http 80

https 443

4.2. 两个时代

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

4.3. HTTP请求

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

Request URL:https://www.baidu.com/   请求地址
Request Method:GET    get方法/post方法
Status Code:200 OK    状态码:200
Remote(远程) Address:183.232.231.172:443
Accept:text/html  
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.9    语言
Cache-Control:max-age=0
Connection:keep-alive
  1. 请求行

    请求方式:Get,Post

    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效。
    • post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
  2. 消息头

    Accept:告诉浏览器,它所支持的数据类型
    Accept-Encoding:支持哪种编码格式
    Accept-Language:告诉浏览器,它的语言环境
    Cache-Control:缓存控制
    Connection:告诉浏览器,请求完成是断开还是保持连接
    HOST:主机..../.
    

4.4. HTTP响应

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

Cache-Control:private    缓存控制
Connection:Keep-Alive    连接
Content-Encoding:gzip    编码
Content-Type:text/html   类型
  1. 响应体

    Accept:告诉浏览器,它所支持的数据类型
    Accept-Encoding:支持哪种编码格式  
    Accept-Language:告诉浏览器,它的语言环境
    Cache-Control:缓存控制
    Connection:告诉浏览器,请求完成是断开还是保持连接
    HOST:主机..../.
    Refresh:告诉客户端,多久刷新一次
    Location:让网页重新定位
    
  2. 响应状态码

    200:请求响应成功 200

    3xx:请求重定向

    4xx:找不到资源 404

    5xx:服务器代码错误 500 502:网关错误

Copyright © rootwhois.cn 2021-2022 all right reserved,powered by GitbookFile Modify: 2023-03-05 10:55:52

results matching ""

    No results matching ""