前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Web-第七天 HTTP&Tomcat学习

Web-第七天 HTTP&Tomcat学习

作者头像
Java帮帮
发布于 2018-07-27 06:49:35
发布于 2018-07-27 06:49:35
8150
举报

Web-第七天 HTTP&Tomcat学习

HTTP&Tomcat

今日内容介绍

  • 访问tomcat下已经发布的web项目

今日内容学习目标

  • 能够描述出浏览器和服务器交互过程
  • 能够产生HTTP请求协议格式
  • 能够产生HTTP响应协议格式
  • 看得懂WEB项目的目录结构
  • 使用Tomcat发布web项目,并成功访问
  • 在eclipse下发布web项目

第1章 访问tomcat下已经发布的web项目

为了可以通过浏览器访问到自己tomcat下的web项目,我们需要先了解以下内容:

1.1 HTTP协议的概述:

1.1.1 什么是HTTP协议

HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。用于定义WEB浏览器与WEB服务器之间交换数据的过程。

虚构的犹太民族

作者:施罗默·桑德 著 / 王岽兴 张蓉 译

当当 广告

购买

1.1.2 HTTP协议的作用及特点

HTTP协议的作用

HTTP协议是学习JavaWEB开发的基石,不深入了解HTTP协议,就不能说掌握了WEB开发,更无法管理和维护一些复杂的WEB站点。

HTTP协议的特点

  • 基于请求/响应模型的协议。请求和响应必须成对;先有请求后有响应。
  • HTTP协议默认的端口:80
    • 例如:http://www.javahelp.com.cn:80

1.1.3 HTTP协议的版本:

  • HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。
  • HTTP/1.1,发送请求,创建一次连接,获得多个web资源,连接断开。

1.1.4 HTTP协议的组成:

HTTP请求协议、HTTP响应协议。

HTTP请求包括:请求行、请求头、请求体

HTTP响应包括:响应行、响应头、响应体

1.1.5 HTTP协议入门

1.1.5.1 准备工作

准备工作进行的步骤,步骤1和2是文档后半段讲解的内容,此处暂时了解即可。

1. 创建项目,JavaWeb项目,选择版本为2.5

  • 步骤1:在eclipse中New/Dynaimc Web Project
  • 步骤2:创建day12 web项目

2. 测试用例,编写“form.html”页面,并提供两个表单,分别设置表单的提交方式为:get和post。将表单提交位置设置成#,表示提交到当前表单。

<form action="#" method="get">

用户名:<input type="text" name="username" value="jack" /> <br/>

密码:<input type="text" name="password" value="1234" /> <br/>

<input type="submit" value="get提交" />

</form>

<form action="#" method="post">

用户名:<input type="text" name="username" value="jack" /> <br/>

密码:<input type="text" name="password" value="1234" /> <br/>

<input type="submit" value="post提交" />

</form>

3. 安装HttpWatch,用于抓取HTTP协议的数据包(抓包)

操作系统不同,浏览器不同,需要的HttpWatch的版本不同。

1.1.5.2 HTTP请求的详解

HTTP请求格式:请求行、请求头、请求体。

如下图,我们提供两种请求方式抓包结果:

GET请求抓包数据:

POST请求抓包数据:

  • 请求行

例如:POST /day09/01.http/form.html HTTP/1.1

请求行必须在HTTP请求格式的第一行。

请求行格式:请求方式 资源路径 协议/版本

请求方式:协议规定7种,常用两种:GET和POST

GET请求:

将请求参数追加在URL后面,不安全。例如:form.html?username=jack&username=1234

URL长度限制GET请求方式的数据大小。

没有请求体

POST请求

请求参数显示请求体处,较安全。

请求数据大小没有显示。

只有表单设置为method=”post”才是post请求.其他的都是get请求。

常见GET请求:地址栏直接访问、<a href=””>、<img src=””> 等

  • 请求头

例如:Host: localhost:8080

请求头从第二行开始,到第一个空行结束。及请求头和请求体之间存在一个空行。

请求头通常以键值对(key:value)方式传递数据。

key为规范规定的固定值

value 为key对应的取值,通常是一个值,可能是一组。

常见请求头

描述 (红色掌握,其他了解)

Referer

浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有这个头。常用于:防盗链

If-Modified-Since

浏览器通知服务器,本地缓存的最后变更时间。与另一个响应头组合控制浏览器页面的缓存。

Cookie

与会话有关技术,用于存放浏览器缓存的cookie信息。

User-Agent

浏览器通知服务器,客户端浏览器与操作系统相关信息

Connection

保持连接状态。Keep-Alive 连接中,close 已关闭

Host

请求的服务器主机名

Content-Length

请求体的长度

Content-Type

如果是POST请求,会有这个头,默认值为application/x-www-form-urlencoded,表示请求体内容使用url编码

Accept:

浏览器可支持的MIME类型。文件类型的一种描述方式。MIME格式:大类型/小类型[;参数]例如: text/html ,html文件 text/css,css文件 text/javascript,js文件 image/*,所有图片文件

Accept-Encoding

浏览器通知服务器,浏览器支持的数据压缩格式。如:GZIP压缩

Accept-Language

浏览器通知服务器,浏览器支持的语言。各国语言(国际化i18n)

  • 请求体

通常情况下,只有post请求方式才会使用到请求体,请求体中都是用户表单提交的数据,每一项数据都使用键值对(k=v),多组值使用&相连。

例如;username=jack&password=1234

1.1.5.3 HTTP响应的详解

HTTP响应格式:响应行、响应头、响应体

如下图,我们提供的响应的抓包结果(HttpWatch只支持GBK编码,否则中文会出现乱码)

  • 响应行

例如:HTTP/1.1 200 OK

格式:协议/版本 状态码 状态码描述

状态码:服务器与浏览器用于确定状态的固定数字号码

200 :请求成功。

302 :请求重定向。

304 :请求资源没有改变,访问本地缓存。

404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。

500 :服务器内部错误。通常程序抛异常。

  • 响应头

响应头也是用的键值对k:v

服务器通过响应头来控制浏览器的行为,不同的头浏览器操作不同。

常见请求头

描述

Location

指定响应的路径,需要与状态码302配合使用,完成跳转。

Content-Type

响应正文的类型(MIME类型)取值:text/html;charset=UTF-8

Content-Disposition

通过浏览器以下载方式解析正文取值:attachment;filename=xx.zip

Set-Cookie

与会话相关技术。服务器向浏览器写入cookie

Content-Encoding

服务器使用的压缩格式取值:gzip

Content-length

响应正文的长度

Refresh

定时刷新,格式:秒数;url=路径。url可省略,默认值为当前页。取值:3;url=www.javahelp.com.cn //三秒刷新页面到www.javahelp.com.cn

Server

指的是服务器名称,默认值:Apache-Coyote/1.1。可以通过conf/server.xml配置进行修改。<Connector port="8080" ... server="javahelp"/>

Last-Modified

服务器通知浏览器,文件的最后修改时间。与If-Modified-Since一起使用。

  • 响应体

响应体,就是服务器发送给浏览器的正文。

1.2 Web开发概述

1.2.1 WEB通信

WEB采用B/S通信模式,通过超文本传送协议(HTTP, Hypertext transport protocol)进行通信。通过浏览器地址栏编写URL,向服务器发送一个请求,服务器端根据请求进行相应的处理,处理完成之后,会向浏览器作出一个响应,及将服务器端资源发送给浏览器。

1.2.2 软件架构

  • C/S架构:Client/Server 客户端/服务器。要求客户端电脑安装一个客户端程序。
    • 常见应用:QQ,迅雷,360,旺旺 等
    • 优点:

1. 用户体验好,效果炫

2. 对信息安全的控制较强

3. 应用服务器运行数据负荷较轻,部分计算功能在客户端完成。

  • 缺点:

1. 占用硬盘空间

2. 维护麻烦

3. 安装使用依赖其他条件

  • B/S架构:Browser/Server 浏览器/服务器 。通过浏览器与服务器交互,不需要安装其他程序
    • 常见应用:网银系统,淘宝,京东 12306 等
    • 优点:

1. 维护和升级简单,无缝升级。

2. 不用必须安装程序,操作系统内置了浏览器。

  • 缺点:

1. 动画效果受浏览器限制

2. 对信息安装控制较差。例如:网银就需要使用U盾,在浏览器端加密。

3. 应用服务器运行数据负荷较重。大部分计算都在服务器端,增加服务器压力。使用Ajax可以改善部分用户体验。

1.2.3 WEB资源介绍

静态资源:指web页面中供人们浏览的数据始终是不变。比如:HTML、CSS、JS、图片、多媒体。

动态资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。比如:JSP/Servlet、ASP、PHP

1.2.4 WEB服务器

JCPJava Community Process) Java技术规范制定与更新的国际组织。主要维护规范包括:J2ME、J2SE、J2EE,XML等。

J2EE 企业级开发Java规范。标准规范包括:

servlet、jsp、jdbc、xml、jta、javamail等。在java中规范就是接口。J2EE又称为JavaEE。

WEB服务器对JavaEE规范部分或全部支持(实现),也就是WEB服务器实现部分或全部接口。

常见的WEB服务器:

1. Tomcat:Apache组织提供一个免费的小型的服务器软件。支持Servlet和JSP规范。

2. WebLogic:Bea公司的一个收费的大型的服务器软件,后被Oracle收购。支持EE的所有的规范

3. WebSphere:IBM公司的一个收费的大型的服务器软件,支持EE的所有的规范。

4. JBoss:是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

1.2.5 URL请求路径

URL (Uniform Resource Locator) ,统一资源定位符是对互联网上资源位置的一种表示,互联网上的每个文件都有一个唯一的URL。

完整格式如下

协议://域名:端口号/资源位置?参数=值

协议,http、https、ftp等

域名,域名或IP地址,都可以访问WEB资源

端口号,程序必须使用端口号,才可以让另一个计算机访问。http协议的默认端:80

资源位置,用于描述WEB资源再服务器上的位置。

参数=值,浏览器和服务器交互传递的数据

例如:

常见路径

http://www.javahelp.com.cn:80/subject/javaeezly/index.shtml

百度搜索“Java帮帮”

https://www.baidu.com/s?cl=3&wd=%B4%AB%D6%C7%B2%A5%BF%CD

1.3 Tomcat介绍

1.3.1 概述

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

支持Servlet和JSP 规范,且最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。

1.3.2 Tomcat版本(了解)

tomcat 目前存在很多版本,希望大家了解tomcat的版本,从而知道自己的创建的项目使用的是几版本规范,不同版本的规范技术可能不同。我们学习的WEB5.0,Servlet规范2.5,tomcat至少使用6版本。

官网地址:http://tomcat.apache.org/whichversion.html

Tomcat版本

Servlet版本

JSP版本

EL版本

JavaEE版本

JDK版本

7.0.x

3.0

2.2

2.2

6.0

6 (1.6)

6.0.x

2.5

2.1

N/A

5.0

5 (1.5)

1.3.3 安装Tomcat

  • 步骤一:下载一个tomcat服务器软件.

http://tomcat.apache.org/download-70.cgi

  • 步骤二:解压下载好的zip文件.

将解压后的文件copy到一个没有中文和空格的路径下即可.

例如:D:\java\tomcat\apache-tomcat-7.0.68

1.3.4 Tomcat目录结构

bin:脚本目录

启动脚本:startup.bat

停止脚本:shutdown.bat

conf:配置文件目录 (config /configuration)

核心配置文件:server.xml

用户权限配置文件:tomcat-users.xml

所有web项目默认配置文件:web.xml

lib:依赖库,tomcat和web项目中需要使用的jar包

logs:日志文件.

localhost_access_log.*.txt tomcat记录用户访问信息,星*表示时间。

例如:localhost_access_log.2016-02-28.txt

temp:临时文件目录,文件夹内内容可以任意删除。

webapps:默认情况下发布WEB项目所存放的目录。

work:tomcat处理JSP的工作目录。

1.3.5 Tomcat启动和访问

  • tomcat解压目录/bin/startup.bat 双击运行启动tomcat
  • 访问路径:http://localhost:8080/

1.3.6 Tomcat常见问题

1.3.6.1 JAVA_HOME的配置

如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将一闪立即关闭。且必须配置正确,及JAVA_HOME指向JDK的安装目录

当同一台计算机启动两个tomcat时,第二个tomcat将会在控制台抛异常,摘要信息如下:

1.3.6.2 端口号冲突

严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]

java.net.BindException: Address already in use: JVM_Bind <null>:8080

...

Caused by: java.net.BindException: Address already in use: JVM_Bind

...

控制台将出现大量异常信息,描述的是3个端口被占用(8080、8009、8005 )

通过 $JAVA_HOME/conf/server.xml修改端口号。

1.4 web项目目录结构(重要)

在JavaEE规范中,WEB项目存在一定的目录结构,具体结构如下:

项目名称 (webapps 文件夹)

|-----静态资源.HTML,CSS,JS

|-----WEB-INF (不能直接通过浏览器进行访问)

|----web.xml 当前WEB项目的核心配置,Servlet2.5必须有,3.0可省略。

|----lib 当前WEB项目所需要的第三方的jar的存放位置。

|----classes Java源码编译后生成class文件存放的位置。

1.5 eclipse发布web项目

1.5.1 配置Tomcat

  • 步骤1:获得服务器运行环境配置,Window/Preferences/Server/Runtime Environmen
  • 步骤2:添加服务器
  • 步骤3:选择服务器在硬盘的地址,然后所有的都是确定/Next/Finish
  • 步骤4:完成成功
  • 步骤5:设置发布位置

修改tomcat发布的位置

1.5.2 发布web项目

  • 步骤1:项目右键/Run As/Run on Server
  • 步骤2:选择WEB服务器执行程序。
  • 步骤3:选择或添加文本框

第2章 Servlet快速入门

2.1 概述

今天我们已经学习了tomcat和web项目使用和编写,明天我们将学习动态资源技术Servlet,今天我们将编写servlet的入门案例,所有步骤为固定内容,今天只需完全模仿。

2.2 编写步骤

1. 创建 day12 web项目

2. 创建类,继承HttpServlet,复写doGet方法

package cn.com.javahelp.demo01.a_servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet{

@Override

public void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

System.out.println("get请求将执行");

}

}

3. 编写配置文件

<servlet>

<servlet-name>helloServlet</servlet-name>

<servlet-class>cn.javahelp.demo01.a_servlet.HelloServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>helloServlet</servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>

4. 浏览器访问

在浏览器地址栏输入:http://localhost:8080/day12/hello

  • 浏览器显示空白页面
  • 控制打印信息

第3章 总结

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java帮帮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Web-第九天 ServletContext&amp;Response&amp;request学习
Web-第九天 ServletContext&Response&request学习
Java帮帮
2018/07/27
5810
Web-第九天 ServletContext&amp;Response&amp;request学习
day07_Tomcat服务器与http学习笔记
    WEB,在英语中web即表示网页的意思,它用于表示Internet主机上(服务器)供外界访问的资源。
黑泽君
2018/10/11
7450
day07_Tomcat服务器与http学习笔记
Tomcat 一个请求的完整过程
Tomcat 是一个广泛使用的开源 Java Servlet 容器,它处理客户端请求并返回响应。一个请求从客户端发送到 Tomcat 服务器,再到应用程序处理,最后返回响应的完整过程可以分为以下几个步骤:
代码小李
2025/02/03
500
java学习与应用(4.4)--Tomcat、servlet等
常用的web服务器软件:webLogic(oracle),webSphere(IBM),JBOSS(JBOSS公司)(以上三种支持所有JavaEE规范,企业版共13项规范),Tomcat(Apache基金,支持少量JavaEE规范) Tomcat:下载,解压使用。其中webapps存放网页,work存放运行数据,bin存放执行文件(shutdown.bat可关闭)。没有配置JAVA_HOME可能不能启动startup.bat。logs中存放日志信息记录一些错误等。netstat -ano查看端口使用的PID。conf配置目录的server.xml定义了tomcat的端口使用。 将代码打包为war包,放置到webapps下,会自动解压缩,和自动删除。server.xml的host标签下,定义Context自闭和标签中,定义docBase项目路径和path虚拟目录的属性便于访问。 常用的热部署并防止修改错误server.xml内容:方式为:conf下Catania下localhost下创建任意名称的xml文件,写入Context标签和属性,替换server.xml中的路径部署。 ROOT为项目根目录,WEB_INF为动态项目目录(web.xml为核心配置文件,classes目录存放字节码,lib存放jar包),其他为静态目录文件。 run->configuration ->Tomcat Server ->local->Application server中将tomcat集成到idea中。Java Enerprise -> Web Application,create server.xml勾选。等等配置。 idea直接修改可以使用热部署,不用重启服务器,进行代码调试,文件创建。idea也可以修改虚拟路径,方便使用。
嘘、小点声
2020/02/23
4350
E010Web学习笔记-Tomcat
应用程序在计算机的唯一标识,0~65526,将来自己写的应用程序不要用1924以内的,因为很有可能被系统占用了;
訾博ZiBo
2025/01/06
1010
E010Web学习笔记-Tomcat
【JavaWeb】Http协议及Servlet快速入门
HTTP , HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网
陶然同学
2023/02/27
2800
【JavaWeb】Http协议及Servlet快速入门
javaWeb核心技术第七篇之HTTP、Tomcat、Servlet、Request和Response
- Web服务器 - 概念: - web资源: "英文直译"网"的意思 资源:一切数据文件 web资源:通过网络可以访问到的资源,通常指的是一切放在服务器上的文件" - web资源的分类: - 静态的web资源: " 内容是一成不变的" - 动态的web资源: " 内容有可能在不同的时间或者不同的人访问的时候会发生改变的" - web技术分类 - 静态的web技术
海仔
2019/08/26
1K0
JavaWeb核心篇(1)——HTTP/Tomcat/Servlet
如果说网页是为了展现数据,数据库是为了存储和管理数据,那么JavaWeb就是为了进行逻辑处理
秋落雨微凉
2022/10/25
6460
JavaWeb核心篇(1)——HTTP/Tomcat/Servlet
Java Web Servlet (Part B)- ServletConfig &amp; ServletContext
ServletConfig类时Servlet程序的配置信息类,使用Servlet可以实现
RiemannHypothesis
2022/09/26
3290
Java Web Servlet (Part B)- ServletConfig &amp; ServletContext
JavaEE之JavaWeb知识点(一)
1.javaweb的原理介绍 2.一个简单的http请求测试 编辑一个form.html的表单页面,如下: 点击提交按钮,抓包如下: 经过抓包我们发现浏览器和服务器进行交互的时候,携带了很多很
软件小生活
2021/10/08
6740
JavaEE之JavaWeb知识点(一)
JavaWeb day4 Web概述Http协议
在我们日常的生活中,经常会使用浏览器去访问百度、京东等这些网站,这些网站统称为Web网站。(assets/1627031023395.png)]
小小程序员
2023/02/16
4710
JavaWeb day4 Web概述Http协议
JavaWeb - Servlet:基本概念,HTTP 协议,Tomcat 服务器
C/S 架构(Client/Server,客户端/服务器模式),是一种比较早的软件体系结构,也是生活中很常见的结构。这种结构将需要处理的业务合理地分配到客户端和服务器端,客户端通常负责完成与用户的交互任务,服务器通常负责数据的管理。
RendaZhang
2020/09/08
9010
JavaWeb - Servlet:基本概念,HTTP 协议,Tomcat 服务器
一文带你快速使用SpringBoot创建工程,并了解HTTP协议和Tomcat服务器!
前面介绍了三剑客(HTML,CSS,JavaScript),Axios,Vue和Element,本篇将带你快速了解并使用SpringBoot创建工程,以及介绍HTTP协议还有Tomcat服务器。
reload
2024/03/22
2600
一文带你快速使用SpringBoot创建工程,并了解HTTP协议和Tomcat服务器!
javaWeb核心技术第六篇之BootStrap
概述: Bootstrap 是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。 作用: 开发响应式的页面 响应式:就是一个网站能够兼容多个终端 节约开发成本,提高开发效率 入门: 下载BootStrap www.bootcss.com 官网地址 模版 1.导入Boot
海仔
2019/08/26
1.3K0
Web-第十二天 el&jstl表达式学习
在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护,为此,在JSP2.0规范中提供了EL表达式。EL是Expression Language的缩写,它是一种简单的数据访问语言。本节将针对EL表达式进行详细的讲解。
Java帮帮
2018/07/27
5700
Web-第十二天 el&jstl表达式学习
第71节:Java中HTTP和Servlet
什么是协议,就是规则,规范,用于双方在交互,通讯的时候遵循的一种规范,规则.而http协议是对网络上的客户端和服务端在执行http请求的时候遵循的一种规范,其实就是规定了客户端在访问服务器端的时候,要带上一些东西,服务端返回数据的时候,也要带点东西,礼尚往来嘛!!!
达达前端
2019/07/03
5420
第71节:Java中HTTP和Servlet
Web-第八天 Servlet学习【悟空教程】
在网站的首页上,登录的链接,点击登录的链接,可以跳转到登录的页面.在登录的页面中输入用户名和密码点击登录的案例.完成登录的功能.
Java帮帮
2018/07/27
5490
Web-第八天 Servlet学习【悟空教程】
Java学习笔记-全栈-web开发-04-HTTP&Servlet
HTTP消息头是指在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。
devi
2021/08/18
3300
如此详细的 Servlet 教程,不来看看么?
选中 src 目录或者要生成 Servlet 的包,然后单击鼠标右键,New -> Create New Servlet,接着填写 Servlet 程序名,所属包以及 Servlet 全类名,同时 取消勾选 Java EE 6 即可,勾选则会生成注解式配置,后续学习过程中才会接触到。
村雨遥
2022/06/15
4680
如此详细的 Servlet 教程,不来看看么?
[Java拾遗二]Tomact及Http 部分总结.
前言: 刚好今天回来的很早, 总结下 Tomcat及Http的基础知识. ---- 1, Tomcat web相关概念         web:网页的意思,网页资源包括服务器上的所有资源. web资源分类:                 静态的资源:内容不会发生改变的资源                 动态的资源:内容可能发生改变的资源 web技术:                 静态的web技术:html css js 等                 动态的web技术:servlet
一枝花算不算浪漫
2018/05/18
6580
相关推荐
Web-第九天 ServletContext&amp;Response&amp;request学习
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文