XML/Tomcat 短命女 2021-11-29 05:14 263阅读 0赞 * XML(可拓展的标记语言)作用 用来保存数据 用来做配置文件 数据传输载体 * 倒状树形结构 #### 一、文档声明 #### 一、version:解析这个xml的时候,使用什么版本的解析器解析 `<?xml version="1.0"?>` 二、encoding:解析xml中的文字的时候,使用什么编码来翻译 encoding 使用什么编码来解析–解码 电脑上的文件在存储的时候,是存储文件对应的二进制 1.让encoding=“”和保存文件编码类型一致 2.保存时的编码类型与encoding一致 ANSI对应的是本地编码 `<?xml version="1.0" encoding="UTF-8"?>` 三、standalone:该文档会依赖关联其他文档 `<?xml version="1.0" encoding="UTF-8" standalone="no"?>` * 元素(标签) 1.<>(尖括号括起来的都是元素) 2.文档声明下的第一个元素叫根标签 3.元素命名规则 ![在这里插入图片描述][20190722170233136.png] * xml注释 与html相同,且不允许放置在文档的第一行 * 非法字符 大于小于 > < 再加上分号 * CDATA 如果某段文字里有过多的标签,不想让xml的解析器去解析,可以用CDATA来包装 ![在这里插入图片描述][20190722190132991.png] #### 二、xml解析 #### 获取元素里面的字符数据或者属性数据 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70] * 解析方式: DOM SAX ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 1] * 针对这两种解析方式的API(应用程序编程接口;预先定义的函数) jaxp 比较繁琐 jdom dom4j 使用比较广泛 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 2] try { //1. 创建sax读取对象 SAXReader reader = new SAXReader(); //jdbc -- classloader //2. 指定解析的xml源 Document document = reader.read(new File("src/xml/stus.xml")); //3. 得到元素、 //得到根元素 Element rootElement= document.getRootElement(); //获取根元素下面的子元素 age //rootElement.element("age") //System.out.println(rootElement.element("stu").element("age").getText()); //获取根元素下面的所有子元素 。 stu元素 List<Element> elements = rootElement.elements(); //遍历所有的stu元素 for (Element element : elements) { //获取stu元素下面的name元素 String name = element.element("name").getText(); String age = element.element("age").getText(); String address = element.element("address").getText(); System.out.println("name="+name+"==age+"+age+"==address="+address); } } catch (Exception e) { e.printStackTrace(); } * Xpath(xml的路径语言) 支持我们在解析xml的时候,能够快速的定位到具体的某一个元素 1.添加jar包依赖 jaxen-1.1-beta-6.jar 2.在查找指定节点的时候,根据XPath语法规则来查找 3.后续的代码与以前的解析代码一样。 `Element nameElement = (Element) rootElement.selectSingleNode("//name"); System.out.println(nameElement.getText()); //获取文档里面的所有name元素 List<Element> list = rootElement.selectNodes("//name"); for (Element element : list) { System.out.println(element.getText());` #### 三、xml约束 #### * DTD: 一个xml只能指定一个DTD ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 3]![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 4] * Schema: 使用xml的语法规则 一个xml可以指定多个schema ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 5] #### 四、程序架构 #### ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 6] * 服务器 其实服务器就是一台电脑,其配置一般比较好 * web服务器软件: 客户端在浏览器上输入地址,然后web服务器软件,接受请求,然后响应消息。 处理客户端的请求,返回资源/信息 web应用,需要服务器支撑 Tomcat apache WebLogic BEA Websphere IBM #### 五、Tomcat #### Tomcat 服务器是一个免费的开放源代码的Web 应用服务器 当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。localhost:8080默认访问webapps里的root * 1.目录介绍 bin:包含了一些jar、bat文件 conf:Tomcat的配置 sever.xml web.xml lib:tomcat运行所需的jar文件 logs:运行的日志文件 temp:临时文件 webapps:发布到tomcat服务器上的项目,就存在这个目录 work:jsp翻译成class文件存放地 * 2.如何把一个项目发布到tomcat上 localhost:本地地址 1)拷贝这个文件到webapps下的ROOT,在浏览器里面访问:[http://localhost:8080/stus.xml][http_localhost_8080_stus.xml] 或者在webapps下新建一个文件夹xml,然后拷贝文件放置到这个 文件夹中 [http://localhost:8080/xml/stus.xml][http_localhost_8080_xml_stus.xml] 或者使用别人的ip地址可以访问别人的服务器 在cmd中输入ipconfig/all查看IPv4地址 [http://10.41.157.39:8080/xml/stus.xml][http_10.41.157.39_8080_xml_stus.xml] 2)配置虚拟路径 在conf/sever.xml找到host元素节点 ![在这里插入图片描述][20190723105710276.png]3)配置虚拟路径 ![在这里插入图片描述][20190723111654286.png] * Eclipse配置Tomcat 在javaee的环境下 new/other/web/Dynamic Web Project 在WebContent下创建文件 可以在Eclipse中run as/run on sever 也可以在Tomcat中的wtpwebapps中存在,用浏览器打开http://localhost:8080/HelloWeb/index.html [20190722170233136.png]: /images/20211129/e537fb584a524aa290204077fe99d9aa.png [20190722190132991.png]: /images/20211129/85f98ad0a5764953ad2e53c676ba0643.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70]: /images/20211129/e344df2afdb94fb3ad09fb475ec0ca6a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 1]: /images/20211129/43a7c9e322dd4423a8567e6f53993ee4.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 2]: /images/20211129/64e65f966ca841d58264495757b7311f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 3]: https://img-blog.csdnimg.cn/20190722212415831.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 4]: /images/20211129/11b1f1a16cc443ebb4bf09f2611eeebd.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 5]: /images/20211129/12c0a75cbf9e41579204f36d6e8a5e09.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDk2NjcxMg_size_16_color_FFFFFF_t_70 6]: /images/20211129/428394f34abc422492fa48906009ac44.png [http_localhost_8080_stus.xml]: http://localhost:8080/stus.xml [http_localhost_8080_xml_stus.xml]: http://localhost:8080/xml/stus.xml [http_10.41.157.39_8080_xml_stus.xml]: http://10.41.157.39:8080/xml/stus.xml [20190723105710276.png]: /images/20211129/19775218ef6744bc9b492c885793bd44.png [20190723111654286.png]: /images/20211129/35e5ef7650bf490598d0e19761c6a5a2.png
还没有评论,来说两句吧...