一、XML与Tomcat

news2024/12/23 23:50:45

文章目录

  • 1. XML简介
    • 1.1 什么是XML
    • 1.2 XML的作用
  • 2. XML语法
    • 2.1 文档声明
    • 2.2 xml 注释
    • 2.3 元素(标签)
    • 2.4 xml 属性
    • 2.5 语法规则
      • 2.5.1 所有XML元素都须有关闭标签(也就是闭合)
      • 2.5.2 XML 标签对大小写敏感
      • 2.5.3 XML 必须正确地嵌套
      • 2.5.4 XML 文档必须由根元素
      • 2.5.5 XML 的属性值须加引号
      • 2.5.6 XML 中的特殊字
      • 2.5.7 文本区域(CDATA区)
  • 3. xml 解析技术介绍
  • 4. dom4j 解析技术(重点*****)
    • 4.1 Dom4j 类库的使用
    • 4.2 dom4j 目录的介绍
    • 4.3 dom4j 编程步骤
    • 4.4 获取 document 对象
    • 4.5 遍历 标签 获取所有标签中的内容(*****重点)
  • 5. Tomcat
    • 5.1 JavaWeb概念
    • 5.2 Web 资源的分类
    • 5.3 常用的 Web 服务器
    • 5.4 Tomcat 服务器和 Servlet 版本的对应关系
    • 5.5 Tomcat 的使用
    • 5.3 IDEA 整合 Tomcat 服务器
    • 5.4 IDEA 中动态 web 工程的操作

1. XML简介

1.1 什么是XML

XML可扩展的编辑语言

1.2 XML的作用

xml 的主要作用有:

  • 1、用来保存数据,而且这些数据具有自我描述性;
  • 2、它还可以做为项目或者模块的配置文件
  • 3、还可以做为网络传输数据的格式(现在 JSON 为主)。

2. XML语法

  1. 文档声明
  2. 元素(标签)
  3. xml 属性
  4. xml 注释
  5. 文本区域(CDATA 区)

2.1 文档声明

我们先创建一个简单 XML 文件,用来描述图书信息。
1)创建一个 xml 文件
在这里插入图片描述

在这里插入图片描述

2)图书有 id 属性 表示唯一 标识,书名,有作者,价格的信息
在这里插入图片描述

在这里插入图片描述

在浏览器中可以查看到文档
在这里插入图片描述

2.2 xml 注释

htmlXML 注释 一样 <!-- html 注释 -->

2.3 元素(标签)

在这里插入图片描述

1)什么是 xml 元素
在这里插入图片描述

在这里插入图片描述

2)XML 命名规则
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.4 xml 属性

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.5 语法规则

2.5.1 所有XML元素都须有关闭标签(也就是闭合)

在这里插入图片描述

2.5.2 XML 标签对大小写敏感

在这里插入图片描述

2.5.3 XML 必须正确地嵌套

在这里插入图片描述

2.5.4 XML 文档必须由根元素

在这里插入图片描述

在这里插入图片描述

2.5.5 XML 的属性值须加引号

在这里插入图片描述

2.5.6 XML 中的特殊字

在这里插入图片描述

2.5.7 文本区域(CDATA区)

在这里插入图片描述

在这里插入图片描述

3. xml 解析技术介绍

在这里插入图片描述

在这里插入图片描述

4. dom4j 解析技术(重点*****)

在这里插入图片描述

4.1 Dom4j 类库的使用

在这里插入图片描述

解压后:
在这里插入图片描述

4.2 dom4j 目录的介绍

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3)Dom4j 快速入门
在这里插入图片描述

4)lib 目录
在这里插入图片描述

  1. src 目录是第三方类库的源码目录:
    在这里插入图片描述

4.3 dom4j 编程步骤

第一步: 先加载 xml 文件创建 Document 对象
第二步:通过 Document 对象拿到根元素对象
第三步:通过根元素.elelemts(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象
第四步:找到你想要修改、删除的子元素,进行相应在的操作
第五步,保存到硬盘上

4.4 获取 document 对象

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.5 遍历 标签 获取所有标签中的内容(*****重点)

需要分四步操作:
第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
第二步,通过 Document 对象。拿到 XML 的根元素对象
第三步,通过根元素对象。获取所有的 book 标签对象
第四小,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,再通过 getText() 方法拿到起始标签和结束标签之间的文本内容

@Test
    public void readXML() throws DocumentException {
        // 1. 读取05_xml.xml文件
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("xml/05_xml.xml");
        // 2. 通过Document对象获取根元素(全局只有一个)
        Element rootElement = document.getRootElement();
//        System.out.println(rootElement);
        // 3. 通过根源书获取book标签对象
        // element() 与 elements() 都是通过标签名获取子元素
        List<Element> books = rootElement.elements("book");
        // 遍历,处理每个book标签转换为标签字符串
        // 4. 遍历,处理每个book变迁转换为Book类
        for (Element e : books) {
//            Element name = e.element("name");
            // asXML() 把标签对象,转换为标签字符串
//            System.out.println(name.asXML());

            // getText() 把标签对象,转换为标签字符串
//            System.out.println(name.getText());

            // elementText直接获取指定标签名的文本内容
//            String name = e.elementText("name");
//            System.out.println(name);

            // 直接获取标签属性
//            String sn = e.attributeValue("sn");
//            System.out.println(sn);

            System.out.println(new Book(e.attributeValue("sn"), e.elementText("name"), e.elementText("author")));
        }

    }

5. Tomcat

5.1 JavaWeb概念

在这里插入图片描述

在这里插入图片描述

5.2 Web 资源的分类

在这里插入图片描述

5.3 常用的 Web 服务器

在这里插入图片描述

5.4 Tomcat 服务器和 Servlet 版本的对应关系

在这里插入图片描述

5.5 Tomcat 的使用

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3 IDEA 整合 Tomcat 服务器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.4 IDEA 中动态 web 工程的操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2143893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

# windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次

windows 运行框输入mrt提示错误&#xff1a;Windows 找不到文件’mrt’。请确定文件名是否正确后&#xff0c;再试一次 一、错误描述&#xff1a; 当您在 windows 运行框中输入mrt并收到错误提示“Windows 找不到文件’mrt’。请确定文件名是否正确后,再试”时&#xff0c;这…

【无人机设计与控制】四旋翼无人机轨迹跟踪及避障Matlab代码

摘要 本文主要研究了四旋翼无人机在复杂环境中的轨迹跟踪与避障控制策略。通过Matlab/Simulink对四旋翼无人机进行了建模与仿真。系统集成了避障算法&#xff0c;使得无人机在执行任务时能够有效避开障碍物&#xff0c;保证飞行的安全性与稳定性。 理论 无人机飞行控制通常涉…

着色器 简介

着色器&#xff08;Shader&#xff09;是运行在 GPU 上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通信&#xff1b;它们之间…

【JavaSE】--数组的定义与使用

文章目录 1. 数组的基本概念1.1 什么是数组1.2 数组的创建及初始化1.2.1 数组的创建1.2.2 数组的初始化 1.3 数组的使用1.3.1 数组中元素访问1.3.2 遍历数组 2. 数组是引用类型2.1 初识JVM的内存分布2.2 基本类型变量与引用类型变量的区别2.3 再谈引用变量2.4 认识null 3. 数组…

es的封装

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、类和接口介绍0.封装思想1.es的操作分类 二、创建索引1.成员变量2.构造函数2.添加字段3.发送请求4.创建索引总体代码 三.插入数据四.删除数据五.查询数据 前…

公共建筑能耗监测系统解决方案

jianzhunenghao 建筑节能监测系统公共建筑能耗监测系统建筑能耗监测系统节能监测系统能耗监测建筑能耗监测能耗分析能耗管理能耗预测能耗监控能耗监测平台建筑能耗 介绍 能耗监控系统是为耗电量、耗水量、耗气量&#xff08;天然气量或者煤气量&#xff09;、集中供热耗热量…

STHS34PF80高灵敏度红外感应器(2)----InfraredPD存在感应检测

STHS34PF80人体存在传感器.2--InfraredPD存在感应检测 概述视频教学样品申请完整代码下载硬件准备开启CRC串口设置开启X-CUBE-MEMS1InfraredPD文件InfraredPD算法库注意事项对应DEMOMX_MEMS_InitMX_MEMS_Processt_obj_comp&#xff08;补偿后的物体温度&#xff09;t_obj_chang…

清理C盘缓存,电脑缓存清理怎么一键删除,操作简单的教程

清理C盘缓存是维护电脑性能、释放磁盘空间的重要步骤。以下是一个详细且操作简单的教程&#xff0c;旨在帮助用户通过一键或几步操作完成C盘缓存的清理。 1.使用Windows系统自带工具 磁盘清理 1.打开磁盘清理工具&#xff1a; -按下“WinE”打开文件资源管理器…

数据结构与算法——Java实现 5.链表

目录 一、定义 链表的分类 二、性能 随机访问 插入或删除 三、单向链表 链表内部节点类 ① 增加&#xff08;插入&#xff09; 1.头插法 2.寻找最后一个节点位置 3.尾插法 4.根据索引位置插入 ② 删除 1.删除首个结点 2.获取链表的指定索引节点 3.删除链表指定索引元素节点 4.删…

【Java】【力扣】83.删除排序链表中的重复元素

题目 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2]示例 2&#xff1a; 输入&#xff1a;head [1,1,2,3,3] 输出&#…

js 控制台自动 debugger

在全局文件中加入以下代码&#xff0c;即可打开控制台自动调试 setInterval(function() {check() }, 1000); var check function() {function doCheck() {(function() {}["constructor"]("debugger")())doCheck()}try {doCheck()} catch (err) {} }; che…

Flask-WTF的使用

组织一个 Flask 项目通常需要遵循一定的结构&#xff0c;以便代码清晰、可维护。下面是一个典型的 Flask 项目结构&#xff1a; my_flask_app/ │ ├── app/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── forms.py │ ├── templat…

T3打卡-天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 1.导入数据&#xff1a; #设置GPU import tensorflow as tf gpustf.config.list_physical_devices("GPU") if gpus:gpu0gpus[0]tf.config.experime…

Android OkHttp源码分析(一):为什么OkHttp的请求速度很快?为什么可以高扩展?为什么可以高并发

目录 一、为什么要使用OkHhttp? 在不使用OkHhttp之前&#xff0c;我们都是在使用什么&#xff1f;使用HttpURLConnection&#xff0c;那么我们看看HttpURLConnection发起一次请求&#xff0c;两次请求要花多长时间&#xff0c;而OkHttp花多长时间。HttpURLConnection会比okht…

【银河麒麟高级服务器操作系统实例】tcp_mem分析处理全过程内核参数调优参考

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn 现象描述 系统中出现大量的TCP: out of memory…

Mina protocol - 体验教程

Mina protocol - 体验教程 一、零知识证明( Zero Knowledge Proof )1、零知识证明&#xff08;ZKP&#xff09;的基本流程工作流程&#xff1a; 2、zkApp 的优势&#xff1a;3、zkApp 每个方法的编译过程&#xff1a; 二、搭建第一个zkapp先决条件1、下载或者更新 zkApp CLI​2…

基于Springboot美食推荐小程序的设计与实现(源码+数据库+文档)

一.项目介绍 pc端&#xff1a; 支持用户、餐厅老板注册 支持管理员、餐厅老板登录 管理员&#xff1a; 管理员模块维护、 餐厅管理模块维护、 用户管理模块维护、 商品管…

Qt:NULL与nullptr的区别(手写nullptr)

前言 发现还是有人不知道NULL 与nullptr的区别&#xff0c;故写此文章。 正文 对于NULL 先看NULL的源码 我们可以看出这段代码是一个典型的预处理器宏定义块&#xff0c;用于处理 NULL 宏的定义。 先看开头 #if defined (_STDDEF_H) || defined (__need_NULL)这行代码检…

git报错,error: bad signature 0x00000000fatal: index file corrupt

报错 git -c diff.mnemonicprefixfalse -c core.quotepathfalse --no-optional-locks checkout daily --progress error: bad signature 0x00000000 fatal: index file corrupt 原因 git 仓库中索引文损坏 处理 1.该备份的先备份 2.删除索引并重置 rm -f .git/index git r…

医学数据分析实训 项目五 分类分析--乳腺癌数据分析与诊断

文章目录 项目六&#xff1a;分类分析实践目的实践平台实践内容&#xff08;一&#xff09;数据理解及准备&#xff08;二&#xff09;模型建立、预测及优化任务一&#xff1a;使用 KNN算法进行分类预测任务二&#xff1a;使用贝叶斯分类算法进行分类预测任务三&#xff1a;使用…