当前位置: 首页 > article >正文

JavaWeb-XML

1.常见的配置文件

1.1 properties

数据库的连接就使用properties文件作为配置文件,properties文件中的配置信息是以键值对的形式存储的。

beiluo.jdbc.url=jdbc:mysql://localhost:3306/beiluo
beiluo.jdbc.driver=com.mysql.cj.jdbc.Driver
beiluo.jdbc.username=root
beiluo.jdbc.password=root

1.2 XML

  • XML是Extensible Markup Language的缩写,即可扩展标记语言。XML与HTML一样都是标记语言,所以基本语法都是标签。
  • 可扩展意思是标签的名称可以是自定义的,但不代表可以随便写。
  • XML在Java中常用于配置文件。我们不需要从头到尾的写XML文件,而是在第三方应用程序、框架已提供好的配置文件的基础上修改。
  • 在XML基本语法规范的基础上,使用的第三方应用程序、框架会通过XML约束的方式强制规定配置文件中可以写什么和怎么写。
  • XML文件的文档声明必须放在文件的第一行。
  • XML是有约束的,约束限定了XML文件内能编写的内容。有了约束之后,就不能随意自定义标签。在编写XML文件时,会有标签提示。有两种约束:
    • dtd约束:简单、上手快,但约束不够细致。
    • schema约束:复杂、上手慢,但约束细致。.xsd结尾的就为schema约束。在这里插入图片描述
      在这里插入图片描述在这里插入图片描述
<?xml version="1.0" encoding="UTF-8"?>

<jdbc>
    <username>root</username>
    <passwoerd>root</passwoerd>
    <driver>com.mysql.cj.jdbc.Driver</driver>
    <url>jdbc:mysql://localhost:3306/beiluo</url>
</jdbc>

1.3 YAML

SpringBoot就是用YAML作为配置文件。

1.4 json等

json文件通常用于做文件传输,也可以用来做前端或移动端的配置文件。
还有一些其他的配置文件。

2. DOM4J进行XML解析

2.1 DOM4J使用步骤

  • 导入jar包,dom4j.jar。
  • 创建解析器对象(SAXReader)。
  • 解析XML获得Document对象。
  • 对Document对象进行访问和操作。

2.2 API介绍

@Test
    //要用Test注解,类名就不能为Test
    public void test() throws DocumentException {
        //创建SAXReader对象
        SAXReader saxReader = new SAXReader();
        //通过类加载器获得指向字节码根路径下的指定文件的输入流
        InputStream inputStream = TestDOM4J.class.getClassLoader().getResourceAsStream("jdbc.xml");
        //通过输入流获得document对象
        Document document = saxReader.read(inputStream);
        //由document对象获得根标签
        Element rootElement = document.getRootElement();
        //输出根标签的标签名
        System.out.println(rootElement.getName());
        //得到所有子节点
        List<Element> elements = rootElement.elements();
        //遍历子元素
        for(Element ele : elements){
            System.out.println("\t" + ele.getName());
            Attribute idAttribute = ele.attribute("id");
            System.out.println("\t\t" + idAttribute.getName() + ":" + idAttribute.getValue());
            List<Element> eles = ele.elements();
            for (Element childElement : eles) {
                System.out.println("\t\t\t" + childElement.getName() + ":" + childElement.getText());
            }
        }
    }

在这里插入图片描述


http://www.kler.cn/a/156125.html

相关文章:

  • 学习记录:js算法(九十二):克隆图
  • python 同时控制多部手机
  • WordPress HTTPS 配置问题解决方案
  • 排序算法 - 冒泡
  • [代码随想录Day10打卡] 理论基础 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项
  • pip3 install -e .[stable]讲解
  • C++构造函数与析构函数介绍
  • 45 - 多线程性能优化常见问题
  • element ui 表格合计项合并
  • RK3568平台开发系列讲解(Linux系统篇)通过OF函数获取属性
  • [leetcode ~模版] 周赛模版
  • UE学习C++(1)创建actor
  • notepad++ 插件JSONView安装
  • 大数据技术学习笔记(七)—— Zookeeper
  • Leetcode—1423.可获得的最大点数【中等】
  • solidity实现ERC20代币标准
  • MySQL数据库,初学SQL知识点引入
  • Elk+Filebeat+Kafka实现日志收集
  • Pandas进阶:拼接 concat 使用方法
  • 【EasyExcel实践】万能导出,一个接口导出多张表以及任意字段(可指定字段顺序)
  • Kubernetes1.27容器化部署Prometheus
  • YoloV8改进策略:Swift Parameter-free Attention,无参注意力机制,超分模型的完美迁移
  • 2024美赛数学建模资料---100%获奖资料
  • Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)
  • openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表
  • java学习part27线程死锁