Tomcat&XML
------------恢复内容开始------------
一、JavaWeb简介
- 概念:JavaWeb即用Java语言编写的可以通过浏览器访问该应用程序的总称,是基于请求和响应来开发的
- 何为请求:客户端发送给服务器的数据,Request
- 何为响应:服务器回传给客户端的数据,Response
- 请求和响应的关系:二者是成对出现的,有请求就会有响应
二、Web资源的分类
- Web资源按照实现的技术和呈现的效果不同,可分为静态资源和动态资源
- 静态资源:即html,css,js,text,image,mp4等
- 动态资源:即servlet,jsp等
- 常用的Web服务器
- TomCat:由Apache组织提供的web服务器,提供对jsp和servlet的支持,是一款轻量级的JavaWeb容器(服务器),应用最广的服务器之一(免费)
- Jboss:是一款遵从JavaEE规范,开放源代码,纯Java的EJB服务器(免费)
- GlassFish:由Oracle公司开发的Web服务器,是一款强健的商业级别服务器,达到产品质量很少
- Resin:是CAUCHO的产品,是一个非常流行的服务器,对servlet和jsp提供了良好的支持,性能也比较优良,自身采用JAVA语言开发(收费,应用比较多)
- WebLogic:Oracle公司开发的Web服务器,目前应用最广泛,支持JavaEE规范,且不断完善适应新的开发需求,适合大型项目(收费,适合大公司)
- Tomcat与Servlet对应版本
- 企业最常用的是Tomcat7.*、8.*版本
- servlet2.5是现在使用最多的版本,到了servlet3.0,就是注解版本的使用
三、Tomcat的安装目录介绍与使用
- 目录介绍
- bin 专门用来存放Tomcat服务器的可执行程序
- conf 专门用来存放Tomcat服务器的配置文件
- lib 专门用来存放Tomcat服务器的Jar包
- logs 专门用来存放Tomcat服务器运行时的日记记录
- temp 专门用来存放Tomcat服务器运行时产生的临时数据
- webapps 专门用来存放部署的web工程
- work 是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为servlet的源码,和Session钝化的目录
- Tomcat的启动
- 方式一:通过bin目录下的startup.bat
- 方式二:通过命令行
- Tomcat的停止
- 方式一:右上角关闭按钮
- 方式二:通过bin目录下的shutdown.bat
- 方式三:运行界面ctrl+c
- Tomcat如何修改端口号
- 通过conf目录下的server.xml修改配置文件
- 如何部署web工程到Tomcat里
- 方式一:将创建好的Web工程文件如 book 拷贝到webapps目录下
- 方式二:在 conf/Catalina/localhost/ 中,陪配置一个映射当前Web工程文件如 book 地址的xml配置文件
<!- Contex 表示一个工程上下文 path 表示工程的访问路径:/abc docBase 表示你的工程目录在哪里 -> <Context path="/abc" docBase="E:\book" />
- 通过如下格式访问当前工程 协议://ip地址:端口号/工程名/目录下/文件名 ----- http://loclhost:8080/book/index.html
四、idea中整合Tomcat服务器
五、idea中创建动态的Web工程
- Web模块目录介绍
- src 用来存放Java源文件
- web 用来存放web工程的资源路径,如html,css,js等等
- WEB-INF 受服务器保护的目录,浏览器无法直接访问
- lib 用来存放第三方的jar包,idea还需配置并导入
- web.xml 为整个动态的web工程配置部署描述文件,可配置许多web工程的组件,如servlet,filter,listener,session等等
- index.jsp 主页
- WEB-INF 受服务器保护的目录,浏览器无法直接访问
- 如何给动态的web工程添加额外的jar包
- 打开项目结构-Libraries-添加一个自己所需要的类库-向该类库中添加自己所需要的jar包-选择将类库给哪个模块使用-Artifacts-将类库打包部署
- 如何在idea中部署工程到Tomcat上运行
- 1️⃣将有需要部署的web工程添加到Tomcat运行实例中
- 2️⃣建议修改web工程对应的Tomcat运行实例名称,一般与web工程名相同
- 3️⃣修改模块的工程路径
- 4️⃣选择有修改时的热部署
六、什么是XML?
- 概念:可拓展的标记性语言
- 作用:
- 用来保存数据,且这些数据具有自我描述性
- 可以为项目或者模块配置文件
- 作为网络传输数据的格式(现在以JSON为主)
- xml语法:文档声明 元素标签 xml属性 xml注释 文档区域(CDATA区)
<?xml version="1.0" encoding="UTF-8"?> <books> <book sn="SN12341232"> <name>辟邪剑谱</name> <price>9.9</price> <author>班主任</author> </book> <book sn="SN12341231"> <name>葵花宝典</name> <price>99.99</price> <author>班长</author> </book> </books>
-
- xml属性
- version 版本号
- encoding xml文档编码
- standalone=“yes/no” 表示这个xml文件是不是独立的
- <![CDATA[ 告诉浏览器,我这里的文件是纯文本,不需要浏览器进行解析 ]]>
- 标签分为单标签和双标签,标签中还可以自定义属性,属性的值必须用引号
- xml属性
七、XML解析技术介绍
- 不管是html还是xml,都属于标记性文档,都可以用w3c阻止的指定的dom技术进行解析
![]()
- 早期sun公司为我们两种xml解析技术,DOM和SAX(simple API for xml jdk5.0时在DOM的基础上升级)
- 第三方解析:jdom、dom4j(对jdom进行了封住)、pull(主要应用于安卓手机开发)
public void test() throws DocumentException { // 新建一个dom4j的xml解析实例 SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new File("src/books.xml")); //获取当前文件的根元素 Element root = document.getRootElement(); //获取指定的子元素 List<Element> books = root.elements("book"); for(Element book:books){ String name = book.element("name").getText(); String price = book.element("price").getText(); String author = book.element("author").getText(); System.out.println("书名"+name+"价格"+price+"作者"+author); } }


浙公网安备 33010602011771号