1. 为什么Java Web复习要先啃HTML
说实话,很多同学在准备Java EE(Java Web)这门课的期末考试时,都会下意识把重心全压在Servlet、JSP、框架这些“看起来像后端”的内容上,觉得HTML嘛,不就是几个标签,考前扫一眼就行。结果真上了考场,反而是在HTML的选择题、读代码题上丢分,有的甚至连最简单的页面结构题都写不全。这不是个别现象,我带过的学生里,栽在HTML上的比例相当高。
这门课叫Java Web,但Web两个字本身就意味着你离不开前端三件套——HTML、CSS、JavaScript。尤其是HTML,它是整个Web应用的骨架。你在Servlet里通过request.getParameter("username")拿到的数据,源头就是HTML表单里那个<input name="username">标签;你JSP页面里所有动态内容的容器,也全是HTML标签。换句话说,HTML不是你Java代码的对手,而是你Java代码的载体。理解不了HTML,后面学JSP、学EL表达式、学MVC,全都是空中楼阁。
这篇文章是我整理的Java Web期末复习系列第三节,专门针对HTML部分做一个完整、应试导向的知识点串讲。我会把HTML里常考的核心概念、标签分类、表单细节、语义化标签以及高频考点一一拆开讲,每一个知识点都会解释清楚“为什么考”“怎么考”“易错点在哪”。不管你是刚开始复习、脑子里一团浆糊,还是已经过了一遍教材、想查漏补缺,这篇文章都能帮你把HTML这部分的分数稳稳攥在手里。
那咱们直接开始。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. HTML文档结构与基础框架考点
很多复习资料会把HTML的知识点罗列成一张又一张的标签表,让你背。背当然要背,但如果只是孤立地背标签,考试时给你一个残缺的HTML文档,让你判断哪里写错了,你照样做不对。因为HTML的核心不在于单个标签,而在于文档的组织结构。
2.1 文档类型声明与版本演进
HTML文档的开头第一行必须是<!DOCTYPE html>,这个声明在HTML5时代已经简化到了极致。老版本的HTML里,DOCTYPE声明又长又难记,比如HTML 4.01的过渡型声明要写一长串DTD的URL,XHTML也类似。到了HTML5,直接一句<!DOCTYPE html>搞定。这个点几乎每次考试都会以选择题或判断题的形式出现,问法通常是“以下哪个是HTML5的文档类型声明”。
为什么需要这个声明?因为浏览器要用它来决定以什么模式来渲染页面。如果没有DOCTYPE,浏览器会进入怪异模式(Quirks Mode),页面渲染的规则跟标准模式差别很大,最典型的就是盒模型的解析方式不同。对于Java Web开发人员来说,你写的页面最终要跑在用户的浏览器里,如果渲染模式不对,你在CSS里调好的样式可能完全错位。所以,考试里如果判断题写着“DOCTYPE声明可以省略”,那这道题一定是错的。
还有一个版本相关的考点:HTML5相比HTML 4.01取消了哪些标签。最典型的是<font>、<center>、<big>这类纯样式标签被废弃,取而代之的是<span>加CSS控制样式。考试如果问“以下哪个标签在HTML5中已被废弃”,看到<font>基本可以直接选。
2.2 html、head、body三大区域的职责划分
一个标准的HTML文档可以拆成三块:<html>是整个文档的根元素,<head>是文档头,<body>是文档主体。这个结构几乎是送分题,但里面有几个容易忽略的细节。
<head>里放的内容不会直接显示在页面上,它承载的是文档的元信息。最常考的是以下几个子标签:
<meta charset="UTF-8">:声明字符编码,这个必须写,否则中文会出现乱码。在Java Web开发里,这一行还跟后端的编码设置有关,如果你页面声明的是UTF-8,而Servlet里用的是request.setCharacterEncoding("GBK"),那用户名里的中文就全乱了。考试有时候会把前端编码和后端编码一起考,考的是你有没有全局意识。<title>:定义浏览器标签页上显示的标题,同时它也是搜索引擎抓取页面时最重要的信息之一。有些同学会把<title>写到<body>里去,这属于严重的结构错误。<meta name="keywords" content="...">和<meta name="description" content="...">:用于SEO,考试中只需知道它们属于<head>区域即可。
<body>区域放的是所有用户可见的内容:文本、图片、表格、表单等等。这里有一个常考概念区分:<head>里的内容是为浏览器和搜索引擎服务的,<body>里的内容才是为用户服务的。答题时先判断这个标签的功能是“描述页面信息”还是“展示页面内容”,就能快速区分该放在哪里。
2.3 HTML注释与代码书写规范
注释在HTML里写成<!-- 注释内容 -->,考试会考注释的符号。这里有个易错点:很多同学会把其他语言的注释风格带进来,写成//或者/* */,这在HTML里都是非法的。
此外,HTML的书写规范虽然不是直接考点,但会影响你在读代码题时的判断。规范的HTML应该注意几点:标签要正确嵌套,比如<p>文字<b>加粗</b></p>是合法的,而<p>文字<b>加粗</p></b>就是错误嵌套;属性值建议用双引号括起来;标签名小写(HTML5虽然不区分大小写,但XHTML风格要求小写,考试中统一按小写处理)。这些规范在后面的JSP学习中同样适用,因为JSP页面上嵌的依然是HTML标签,如果写得不规范,Java开发工具做代码检查时会报出一堆警告。
3. 文本、结构标签与文档流核心概念
文本标签是HTML里最基础、考得最多的内容,但也是很多同学的丢分重灾区。原因很简单:标签太多,各自用途不同,有的侧重语义,有的侧重样式,混在一起就容易记串。
3.1 标题标签h1到h6的层级逻辑
<h1>到<h6>是HTML里的六级标题,从大到小。这里的核心考点有两个。
第一个考点是:<h1>在一个页面里理论上只能有一个,因为它代表页面的主标题,多个<h1>会削弱页面语义的清晰度。这个知识点在考试里可能以“优化建议”的形式出现,比如给出一段页面代码,问你其中哪处语义结构不合理,你就要能看出来页面里堆了多个<h1>。
第二个考点是:标题标签自带加粗和换行的视觉效果,但它的本质是语义,不是样式。也就是说,你选<h1>不是因为你想让文字变大变粗,而是因为这段文字确实是这一节的标题。这句话理解透了,才能真正区分标题标签和后面要讲的<b>、<big>等纯样式标签。
3.2 段落、换行、水平线的区别与应用场景
<p>是段落标签,用来包裹一段独立的文本。浏览器在解析<p>时,会自动在段落前后添加一定的外边距,所以多个`
