Web基础了解版04-XML-Tomcat

时间:2019-12-20 20:59:14   收藏:0   阅读:97

XML

 

什么是XML-Tomcat

XML相较于HTML,语法更加严格。

XML用途

基本语法

技术图片

文档声明

语法规则

① XML声明要么不写,要写就写在第一行,并且前面没有任何其他字符,并且必须严格遵循语法

② 只能有一个根标签,所有的其他标签都必须声明在根标签内部

③ 标签必须正确结束,不能交叉嵌套

⑤ 严格区分大小写

⑥ 开始标签中,可以自定义添加属性。但,如果有属性就必须有值,且必须加引号

⑦ 标签不能以数字开头

⑧ 注释不能嵌套, 注释采用:<!--注释-->

⑨ XML中可以使用HTML中的转义字符

XML实体中不允许出现"&","<",">"等特殊字符,否则XML语法检查时将出错,请使用转义字符

CDATA区

技术图片

处理指令

① 处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

② 处理指令必须以 <? 作为开头,以 ?> 作为结尾,XML声明语句就是最常见的一种处理指令。

例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用xsl文件显示xml文档内容。

<?xml-stylesheet type="text/css" href="p.xsl"?>

③ XSL对于XML来说就相当于CSS对HTML一样,XSL是XML的文件样式。

XSL 指扩展样式表语言(EXtensible Stylesheet Language)。

XML解析

技术图片

dom4j

//1、创建解析器对象
SAXReader reader = new SAXReader();
//2、使用解析器将xml文件转换为内存中的document对象
Document document = reader.read("teachers.xml"); //相对在项目根路径下查找xml文件
//3、通过文档对象可以获取文档的根标签
Element rootElement = document.getRootElement();
//4、根据根标签获取所有的根标签的子标签集合
List<Element> elements = rootElement.elements();
//5、遍历集合中的标签,并将所有的数据解析出来
for (Element element : elements) {
    //每次遍历就代表一个teacher信息
    System.out.println("正在遍历的标签名:"+element.getName());
    System.out.println("正在遍历标签的id属性值:"+element.attributeValue("id"));
    //获取teacher的子标签的内容
    String tname = element.elementText("tname");
    System.out.println("tname:"+tname);
    String age = element.elementText("tage");
    System.out.println("tage:"+age);
}

修改

//添加一个新的student节点
Element newEle = rootElement.addElement("teacher");
//创建一个良好的xml格式
OutputFormat format = OutputFormat.createPrettyPrint();
//写入文件
XMLWriter xmlWriter = new XMLWriter(new FileWriter("teachers.xml"),format);
xmlWriter.write(document);
xmlWriter.close();

新建

//1.创建文档
Document document = DocumentHelper.createDocument();
//2.添加根元素
Element root = document.addElement("teachers");
//3.添加元素节点
Element tcEle = root.addElement("teacher");
Element tcEle2 = root.addElement("teacher");

XPath

语法说明
/AAA 选择根元素AAA
/AAA/CCC 选择AAA下的所有CCC子元素
/AAA/DDD/BBB 选择AAA的子元素DDD的所有BBB子元素
//BBB 选择所有BBB元素
//DDD/BBB 选择所有父元素是DDD的BBB元素
/AAA/CCC/DDD/* 选择所有路径依附于/AAA/CCC/DDD的元素
/*/*/*/BBB 选择所有的有3个祖先元素的BBB元素
//* 选择所有元素
/AAA/BBB[1] 选择AAA的第一个BBB子元素
/AAA/BBB[last()] 选择AAA的最后一个BBB子元素
//@id 选择所有元素的id属性
//BBB[@id] 选择有id属性的BBB元素
//BBB[@name] 选择有name属性的BBB元素
//BBB[@*] 选择有任意属性的BBB元素
//BBB[not(@*)] 选择没有属性的BBB元素
//BBB[@id=‘b1‘] 选择含有属性id且其值为‘b1‘的BBB元素
//BBB[@name=‘bbb‘] 选择含有属性name且其值为‘bbb‘的BBB元素

使用

① 导包:jaxen-1.1-beta-6.jar

② dom4j怎么做就怎么做。只是在查找元素的时候可以使用xpath了

③ 获取所有符合条件的节点

Tomcat

Tomcat下载

安装

解压apache-tomcat-7.0.79-windows-x64.zip到非中文无空格目录中

技术图片

启动

在命令行中运行catalina run或者 Tomcat解压目录下双击startup.bat 启动Tomcat服务器,在浏览器地址栏访问地址进行测试http://localhost:8080

如果启动失败,查看如下的情况:

情况一:如果双击startup.bat后窗口一闪而过,请查看JAVA_HOME是否配置正确。

startup.bat会调用catalina.bat,而catalina.bat会调用setclasspath.bat,setclasspath.bat会使用JAVA_HOME环境变量,所以我们必须在启动Tomcat之前把JAVA_HOME配置正确。

情况二:如果启动失败,提示端口号被占用,则将默认的8080端口修改为其他未使用的值,例如8989等。

 打开:解压目录\conf\server.xml,找到第一个Connector标签,修改port属性

技术图片

web服务器在启动时,实际上是监听了本机上的一个端口,当有客户端向该端口发送请求时,web服务器就会处理请求。但是如果不是向其所监听的端口发送请求,web服务器不会做任何响应。例如:Tomcat启动监听了8989端口,而访问的地址是http://localhost:8080,将不能正常访问。

在Eclipse中创建Tomcat镜像

① 在Servers视窗里点击超链接或在空白处右键→New

技术图片

②选择对应的安装版本,点next

技术图片

注意1:关联Tomcat镜像时,Eclipse会从本地Tomcat中复制信息及文件(如下图),之后二者的配置信息就没有关系了,其中任何一个的配置信息发生变化都不会自动同步到另外一个。所以,如果修改端口号的话,需要Tomcat目录中和Eclipse的镜像文件中都要修改端口号才可以。

技术图片

注意2:Tomcat服务器在Eclipse中启动以后,在浏览器中访问:http://localhost:8080会发现访问失败。因为此时在Eclipse中启动的webapps目录与之前方式访问使用的webapps目录不一致。

技术图片

动态Web工程部署

技术图片

技术图片

项目目录结构说明

部署/移除Web项目

右键点击刚创建好的Tomcat服务器,选择Add and Remove …

技术图片

将左边的项目 add 到右边,即为部署:

将右边的项目remove到左边,即为移除:

技术图片

部署或移除web项目以后,需要重启服务器

部署Web项目的原理

或者通过如下的方式,也可以直接找到部署的位置:

技术图片

技术图片

总结:启动服务器以后,我们的web项目会部署到服务器目录的wtpwebapps文件夹的目录下。index.jsp也是直接声明在此项目目录下的。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!