编程自学指南:JavaWeb 开发,JavaWeb 开发学习笔记,认识 JavaWEB, JavaWEB前置知识回顾(HTML,CSS,JavaScript,数据库基础,Java 面向对象基础等)

编程自学指南:JavaWeb 开发,JavaWeb 开发学习笔记

一、什么是 JavaWEB

定义

JavaWEB 是指使用 Java 技术来开发基于互联网的 Web 应用程序。Web 应用程序是一种可以通过浏览器访问的软件,用户可以在浏览器中输入 URL 地址,就能访问这些应用程序,获取相应的服务或信息。

重点内容

  • Java 技术的应用:在 JavaWEB 开发中,广泛使用 Java 语言、JavaEE(Java Enterprise Edition)平台的各种技术,如 Servlet、JSP(JavaServer Pages)、JDBC(Java Database Connectivity)等。
  • 交互性与动态性:JavaWEB 应用程序可以实现用户与服务器之间的交互,根据用户的不同操作产生不同的响应,提供动态的网页内容。

例子

  • 电商网站:像X宝、X东等电商平台,用户可以在上面浏览商品、下单购买。这些网站就是典型的 JavaWEB 应用程序,使用 Java 技术实现了商品信息的展示、用户购物车的管理、订单的处理等功能。
  • 在线教育平台:如网易云课堂、慕课网等,用户可以在上面选择课程、观看视频、提交作业。这些平台也是基于 JavaWEB 技术开发的,实现了课程的管理、用户学习记录的保存等功能。

WEB 访问流程

流程概述

当用户在浏览器中输入一个 URL 地址并按下回车键后,会经历以下几个主要步骤:

  1. DNS 解析:浏览器首先会将输入的域名(如zl515035644-优快云博客)通过 zl515035644-优快云博客(Domain Name System)服务器解析为对应的 IP 地址。
  2. TCP 连接:浏览器使用解析得到的 IP 地址和端口号(通常是 80 或 443)与服务器建立 TCP(Transmission Control Protocol)连接。
  3. HTTP 请求:连接建立后,浏览器会向服务器发送一个 HTTP(Hypertext Transfer Protocol)请求,请求中包含了请求方法(如 GET、POST)、请求的资源路径等信息。
  4. 服务器处理请求:服务器接收到请求后,会根据请求的内容进行相应的处理。如果请求的是静态资源(如 HTML、CSS、JavaScript 文件),服务器会直接返回这些文件;如果请求的是动态资源(如 Servlet、JSP),服务器会执行相应的程序,生成动态内容后返回。
  5. HTTP 响应:服务器处理完请求后,会向浏览器发送一个 HTTP 响应,响应中包含了状态码(如 200 表示成功,404 表示未找到资源)、响应头和响应体。响应体中包含了要返回给浏览器的内容,如 HTML 页面、图片等。
  6. 浏览器解析渲染页面:浏览器接收到响应后,会根据响应的内容进行解析和渲染,将页面展示给用户。
  7. TCP 连接关闭:页面渲染完成后,浏览器会关闭与服务器的 TCP 连接。

重点内容

  • DNS 解析:这是访问 Web 应用的第一步,将域名转换为 IP 地址,方便浏览器与服务器进行通信。
  • HTTP 请求与响应:HTTP 是 Web 应用中最常用的协议,请求和响应的格式和内容是理解 Web 访问流程的关键。
  • 服务器处理请求:服务器根据请求的内容进行不同的处理,静态资源和动态资源的处理方式有所不同。

例子

假设你在浏览器中输入了https://blog.youkuaiyun.com/beijing_oracle?spm=1011.2124.3001.5343并按下回车键,具体的访问流程如下:

  1. DNS 解析:浏览器会向 DNS 服务器发送请求,查询 https://blog.youkuaiyun.com/beijing_oracle?spm=1011.2124.3001.5343对应的 IP 地址。DNS 服务器会返回zl515035644-优快云博客服务器的 IP 地址,如 121.36.47.3:443。
  2. TCP 连接:浏览器使用 IP 地址 121.36.47.3:443 和端口号 443(因为使用的是 HTTPS 协议)与zl515035644-优快云博客服务器建立 TCP 连接。
  3. HTTP 请求:连接建立后,浏览器会向zl515035644-优快云博客服务器发送一个 HTTP 请求,请求方法为 GET,请求的资源路径为 /,表示请求zl515035644-优快云博客的首页。
  4. 服务器处理请求zl515035644-优快云博客服务器接收到请求后,会根据请求的内容进行处理。由于请求的是首页,服务器会返回一个 HTML 页面,该页面包含了zl515035644-优快云博客的搜索框、导航栏等内容。
  5. HTTP 响应:服务器处理完请求后,会向浏览器发送一个 HTTP 响应,状态码为 200,表示请求成功。响应体中包含了返回的 HTML 页面。
  6. 浏览器解析渲染页面:浏览器接收到响应后,会解析 HTML 页面,下载页面中引用的 CSS、JavaScript 文件和图片等资源,并将页面渲染出来,展示给用户。
  7. TCP 连接关闭:页面渲染完成后,浏览器会关闭与zl515035644-优快云博客服务器的 TCP 连接。

二、计算机网络基础

(一)网络协议

  • HTTP 协议
    • 重点内容:HTTP(超文本传输协议)是用于在互联网上传输超文本的协议,是 Web 应用中最基础的协议。它是无状态的,每次请求都是独立的。常见的请求方法有 GET(用于获取资源)和 POST(用于提交数据)。
    • 例子:当你在浏览器中输入https://blog.youkuaiyun.com/beijing_oracle?spm=1011.2124.3001.5343并回车,浏览器会向百度服务器发送一个 HTTP GET 请求,请求获取百度首页的 HTML 文档。服务器收到请求后,会返回包含百度首页内容的 HTTP 响应。
  • TCP/IP 协议
    • 重点内容:TCP/IP 是一个协议族,是互联网通信的基础。TCP(传输控制协议)提供可靠的、面向连接的通信;IP(网际协议)负责将数据包从源地址传输到目标地址。
    • 例子:在你访问网页时,浏览器首先会通过 TCP 协议与服务器建立连接,就像打电话先拨号建立通话连接一样。连接建立后,才会进行 HTTP 请求和响应的传输。

(二)IP 地址和端口号

  • IP 地址
    • 重点内容:IP 地址是网络中设备的唯一标识,分为 IPv4 和 IPv6。IPv4 地址由 32 位二进制数组成,通常表示为点分十进制形式,如 192.168.1.1;IPv6 地址由 128 位二进制数组成,用于解决 IPv4 地址枯竭的问题。
    • 例子:当你访问 https://blog.youkuaiyun.com/beijing_oracle?spm=1011.2124.3001.5343时,浏览器会通过 DNS 解析将域名转换为对应的 IP 地址,然后通过该 IP 地址与 Google 服务器进行通信。
  • 端口号
    • 重点内容:端口号用于区分同一台设备上不同的应用程序。端口号范围是 0 - 65535,其中 0 - 1023 是系统保留端口,如 80 端口通常用于 HTTP 服务,443 端口用于 HTTPS 服务。
    • 例子:当你访问一个网站时,默认情况下会使用 80 或 443 端口。如果你在本地开发一个 Web 应用,可能会使用 8080 端口,如 http://localhost:8080

三、HTML、CSS 和 JavaScript 基础

(一)HTML(超文本标记语言)

  • 重点内容:HTML 用于构建网页的结构,通过各种标签来定义页面的元素,如标题、段落、链接、图片等。
  • 例子
<!DOCTYPE html>
<html>
<head>
    <title>我的第一个网页</title>
</head>
<body>
    <h1>欢迎来到我的网页</h1>
    <p>这是一个段落。</p>
    <a href="https://www.example.com">点击这里访问示例网站</a>
    <img src="example.jpg" alt="示例图片">
</body>
</html>

(二)CSS(层叠样式表)

  • 重点内容:CSS 用于美化网页,控制页面元素的外观和布局,如字体、颜色、大小、边距等。
  • 例子
<!DOCTYPE html>
<html>
<head>
    <style>
        h1 {
            color: blue;
            font-size: 36px;
        }
        p {
            color: green;
            font-size: 18px;
        }
    </style>
    <title>带样式的网页</title>
</head>
<body>
    <h1>这是一个带样式的标题</h1>
    <p>这是一个带样式的段落。</p>
</body>
</html>

(三)JavaScript

  • 重点内容:JavaScript 用于为网页添加交互性,如表单验证、动态效果、事件处理等。
  • 例子
<!DOCTYPE html>
<html>
<head>
    <title>JavaScript 示例</title>
</head>
<body>
    <button id="myButton">点击我</button>
    <p id="myText">初始文本</p>
    <script>
        const button = document.getElementById('myButton');
        const text = document.getElementById('myText');

        button.addEventListener('click', function() {
            text.textContent = '按钮被点击了!';
        });
    </script>
</body>
</html>

四、数据库基础

(一)数据库概念

  • 重点内容:数据库是用于存储和管理数据的系统,常见的数据库有 MySQL、Oracle、SQL Server 等。数据库中的数据以表的形式组织,表由行和列组成。
  • 例子:一个电商网站的数据库可能包含用户表、商品表、订单表等。用户表存储用户的基本信息,如用户名、密码、联系方式等;商品表存储商品的信息,如商品名称、价格、库存等;订单表存储用户的订单信息,如订单编号、商品编号、购买数量等。

(二)SQL(结构化查询语言)

  • 重点内容:SQL 用于与数据库进行交互,包括创建表、插入数据、查询数据、更新数据和删除数据等操作。
  • 例子
-- 创建一个用户表
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);

-- 插入一条数据
INSERT INTO users (username, password) VALUES ('testuser', 'testpassword');

-- 查询所有用户
SELECT * FROM users;

-- 更新用户密码
UPDATE users SET password = 'newpassword' WHERE username = 'testuser';

-- 删除用户
DELETE FROM users WHERE username = 'testuser';

五、Java 基础巩固

(一)面向对象编程

  • 重点内容:Java 是一种面向对象的编程语言,核心概念包括类、对象、继承、多态等。类是对象的模板,对象是类的实例;继承允许一个类继承另一个类的属性和方法;多态允许不同的对象对同一消息做出不同的响应。
  • 例子
// 定义一个动物类
class Animal {
    public void makeSound() {
        System.out.println("动物发出声音");
    }
}

// 定义一个猫类,继承自动物类
class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("喵喵喵");
    }
}

// 定义一个狗类,继承自动物类
class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("汪汪汪");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal cat = new Cat();
        Animal dog = new Dog();

        cat.makeSound();
        dog.makeSound();
    }
}

(二)异常处理

  • 重点内容:Java 中的异常处理机制用于捕获和处理程序运行时可能出现的错误,提高程序的健壮性。常见的异常类型有 NullPointerExceptionArrayIndexOutOfBoundsException 等。
  • 例子
public class ExceptionExample {
    public static void main(String[] args) {
        try {
            int[] arr = {1, 2, 3};
            System.out.println(arr[3]); // 会抛出 ArrayIndexOutOfBoundsException
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("数组越界异常:" + e.getMessage());
        }
    }
}

(三)输入输出流

  • 重点内容:Java 的输入输出流用于处理文件的读写操作和网络数据的传输。输入流用于从数据源读取数据,输出流用于向目标写入数据。
  • 例子
import java.io.FileWriter;
import java.io.IOException;

public class FileWriteExample {
    public static void main(String[] args) {
        try (FileWriter writer = new FileWriter("test.txt")) {
            writer.write("这是写入文件的内容。");
        } catch (IOException e) {
            System.out.println("写入文件时出现错误:" + e.getMessage());
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zl515035644

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值