JavaWeb-XML

1.常见的配置文件

1.1 properties

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

java 复制代码
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 复制代码
<?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介绍

java 复制代码
@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());
            }
        }
    }
相关推荐
code2cat13 天前
Java工具篇之Maven:从pom.xml到测试通过的JAR
xml·java·maven
郭小李15 天前
mybatis的 Mapper.xml语法
xml·java·mybatis
步行cgn15 天前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive
SEO_juper17 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
可爱系程序猿19 天前
XML 导入失败并指向 msxml6.dll:用最小样本区分解析错误与组件加载
xml·程序人生·电脑
SEO_juper20 天前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
步行cgn20 天前
Spring MVC 核心配置文件详解:springmvc.xml 每一行配置的意义
xml·spring·mvc
泡海椒21 天前
JQuick-SQL JQuickTable 模型:XML 动态 SQL 的表封装边界
xml·数据库·sql
supabc12321 天前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
zzu123zsw22 天前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui