XML&Tomcat入门
Posted code window
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML&Tomcat入门相关的知识,希望对你有一定的参考价值。
今日内容介绍
编写服务器软件,访问指定配置内容
访问tomcat下已经发布的项目
今日内容学习目标
可以编写xml存放任意内容
通过DTD约束编写指定格式的XML
通过schema约束编写指定格式的xml
看得懂WEB项目的目录结构
使用Tomcat发布web项目,并成功访问
在IDEA下发布web项目
(1) XML介绍
XML是可扩展的标记性语言,
标签由用户自定义
,可以用于存储数据和配置文件,最常用与配置文件
书写规范
1、区分大小写 2、应该有一个根标签 3、标签必须关闭 4、属性必须由引号引起来 5、特殊字符必须转译
组成部分
声明: 作用:告诉别人我是一个xml文件 格式:<?xml .... ?> 例如
<?xml version="1.0" encoding="UTF-8"?>
要求: 必须写在xml文件的第一行 必须顶格写 元素: 必须关闭 标签名不能xml关键词开头 标签名不能出现特殊符号 属性: 格式 <xx 属性名=“属性值”> 要求: 属性必须用引号引起来 CDATA xml里面的一些特殊字符需要转译 通过CDATA可以保证数据的原样输出 格式:
<![CDATA[ 原样输出的内容 ]]>
XML解析
解析方式: 1. sax 特点 ,
逐行解析 只能查询
2. dom 特点,
一次性将所有文件加载到内存
中
,形成一个dom树,可以对dom树curd操作 解析技术 dom4j 使用步骤: 1.导入jar包 2.创建一个核心对象SAXReader() 3.将xml加载到内存中形成一棵树 4.获取根节点 5.通过根节点获取其他节点 获取所有子元素
List<Element> list = root.elements()
获取元素的指定属性
String value = root.attributeValue("属性名")
获取子标签标签体
String text = ele.elementText("子标签名称")
(2)反射
获取对应的class对象
方式1:
Class.forName
("全限定名")
方式2:
类名.class()
方式3:
实例对象.getClass()
通过class对象创建一个实例对象
Object obj = clazz.
newInstance()
通过class对象获取一个方法
Method method = clazz.
getMethod
("方法名",Class... params)
让方法执行
method.
invoke
(Object 实例对象,Object... 参数);
(3)xml约束
作用:规定xml中可以出现的那些元素及哪些元素,以及他们出现的顺序 约束的分类: DTD约束:struts hiebernate等 SCHEMA约束:tomcat spring等
DTD约束
和xml的关联 (一般都会提供好,复制过来即可,有时候连复制都不需要.) 方式1:内部关联 格式: <!DOCTYPE 根元素名 [dtd语法]> 方式2:外部关联-系统关联 格式: <!DOCTYPE 根元素名 SYSTEM "约束文件的位置"> 例如: <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd"> 方式3:外部关联-公共关联 格式: <!DOCTYPE 根元素名 PUBLIC "约束文件的名称" "约束文件的位置">
DTD语法(了解)
元素: <!Element 元素名称 数据类型|包含内容> 数据类型: #PCDATA:普通文本 使用的时候一般用()引起来 包含内容: 该元素下可以出现那些元素 用()引起来 符号: * 出现任意次 ? 出现1次或者0次 + 出现至少1次 | 或者 () 分组 , 顺序 属性: 格式: <!ATTLIST 元素名 属性名 属性类型 属性是否必须出现> 属性类型: ID:唯一 CDATA:普通文本 属性是否必须出现 REQUIRED:必须出现 IMPLIED:可以不出现
一个xml文档中只能添加一个DTD约束
SCHEMA约束:
一个xml文档中可以添加多个schema约束 xml和schema的关联. 格式: <根标签 xmlns="..." ...> <根标签 xmlns:别名="..." ...>
名称空间:
关联约束文件 规定元素是来源于那个约束文件的 例如: 一个约束文件中规定 table(表格) 表格有属性 row和col 还有一个约束文件规定 table(桌子) 桌子有属性 width和height 在同一个xml中万一我把两个约束文件都导入了, 在xml中我写一个table,这个table有什么属性???? 我们为了避免这种情况的发生,可以给其中的一个约束起个别名 使用的时候若是没有加别名那就代表是来自于没有别名的约束文件 例如 table(表格) 给他起个别名 xmlns:a="..." 在案例中使用 a:table 代表的是表格 若在案例中直接使用 table 代表的是桌子 在一个xml文件中只能有一个不起别名; 注意: schema约束本身也是xml文件.
(4)通过idea发布自己的项目
技术分析
IDEA TOMCAT
Tomcat
下载: .tar .tar.gz: 提供给linux系统 .zip .exe:提供给window系统 安装: 解压apache-tomcat-7.0.52.zip即可 启动: tomcat/bin目录下 双击 startup.bat 打开浏览器: http://localhost:8080 退出: 方式1:点 x 方式2:ctrl+c 方式3:双击 shutdown.bat 常见问题(配置): 1.启动的时候一闪而过 正确配置:JAVA_HOME 2.端口冲突问题 修改tomcat的端口号. 打开tomcat/conf/server.xml 大概70行左右 有如下代码: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 修改port后面的值就可以了.注意:1024以下的端口号留给系统用的 80端口是留给http协议用的.我们可以使用这个端口号 3.有可能出现的问题(在环境变量中配置CATALINA_HOME) 删除
tomcat目录结构
bin:存放的可执行程序 conf:配置文件 lib:存放的是tomcat和项目运行时需要的jar包 logs:日志 注意:catalina temp:临时文件 ★★
webapps
:存放项目的目录 ★
work
:存放jsp文件在运行时产生的java和class文件
web项目的目录结构:★★★
myweb
(项目名称) web2.5版本标准的目录结构 | |----
html css js imag
e等目录或者文件 | |----
WEB-INF(
特点:通过浏览器直接访问不到 目录) | | | |---
lib
(项目的第三方jar包) | |---
classes
(存放的是我们自定义的java文件生成的.class文件) | |---
web.xml
(当前项目的核心配置文件) | |
常用的项目发布方式:(虚拟目录映射)
★方式1:将项目放到tomcat/webapps下 (了解)方式2:修改
tomcat/conf/server.xm
l
大概130行: 在host标签下 添加如下代码
<Context path="/项目名" docBase="项目的磁盘目录"/>
例如:
<Context path="/my" docBase="G:\myweb"/>
(了解)方式3: 在
tomcat/conf/引擎目录/主机目录下
新建一个xml文件 文件的名称就是项目名 文件的内容如下:
<Context docBase="G:\myweb"/>
将tomcat集成到idea中
1.点击edit configuration
2.点击default,配置tomcat路径
3.点击+号,添加一个local tomcat
4.完成即可,通过tomcat进行发布项目。
以上是关于XML&Tomcat入门的主要内容,如果未能解决你的问题,请参考以下文章
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途