Tomcat&XML

------------恢复内容开始------------

一、JavaWeb简介

  1. 概念:JavaWeb即用Java语言编写的可以通过浏览器访问该应用程序的总称,是基于请求和响应来开发的
  2. 何为请求:客户端发送给服务器的数据,Request
  3. 何为响应:服务器回传给客户端的数据,Response
  4. 请求和响应的关系:二者是成对出现的,有请求就会有响应

二、Web资源的分类

  1. Web资源按照实现的技术和呈现的效果不同,可分为静态资源和动态资源
    • 静态资源:即html,css,js,text,image,mp4等
    • 动态资源:即servlet,jsp等
  2. 常用的Web服务器
    • TomCat:由Apache组织提供的web服务器,提供对jsp和servlet的支持,是一款轻量级的JavaWeb容器(服务器),应用最广的服务器之一(免费)
    • Jboss:是一款遵从JavaEE规范,开放源代码,纯Java的EJB服务器(免费)
    • GlassFish:由Oracle公司开发的Web服务器,是一款强健的商业级别服务器,达到产品质量很少
    • Resin:是CAUCHO的产品,是一个非常流行的服务器,对servlet和jsp提供了良好的支持,性能也比较优良,自身采用JAVA语言开发(收费,应用比较多)
    • WebLogic:Oracle公司开发的Web服务器,目前应用最广泛,支持JavaEE规范,且不断完善适应新的开发需求,适合大型项目(收费,适合大公司)
  3. Tomcat与Servlet对应版本
    • 企业最常用的是Tomcat7.*、8.*版本
    • servlet2.5是现在使用最多的版本,到了servlet3.0,就是注解版本的使用

三、Tomcat的安装目录介绍与使用

  1. 目录介绍
    • bin                     专门用来存放Tomcat服务器的可执行程序
    • conf                   专门用来存放Tomcat服务器的配置文件
    • lib                      专门用来存放Tomcat服务器的Jar包
    • logs                   专门用来存放Tomcat服务器运行时的日记记录
    • temp                  专门用来存放Tomcat服务器运行时产生的临时数据
    • webapps            专门用来存放部署的web工程
    • work                  是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为servlet的源码,和Session钝化的目录
  2. Tomcat的启动
    • 方式一:通过bin目录下的startup.bat
    • 方式二:通过命令行
  3. Tomcat的停止
    • 方式一:右上角关闭按钮
    • 方式二:通过bin目录下的shutdown.bat
    • 方式三:运行界面ctrl+c
  4. Tomcat如何修改端口号
    • 通过conf目录下的server.xml修改配置文件
  5. 如何部署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工程

  1. Web模块目录介绍
    • src                                    用来存放Java源文件
    • web                                   用来存放web工程的资源路径,如html,css,js等等
      • WEB-INF                 受服务器保护的目录,浏览器无法直接访问
        • lib                  用来存放第三方的jar包,idea还需配置并导入
        • web.xml          为整个动态的web工程配置部署描述文件,可配置许多web工程的组件,如servlet,filter,listener,session等等
      • index.jsp                  主页
  2. 如何给动态的web工程添加额外的jar包
    • 打开项目结构-Libraries-添加一个自己所需要的类库-向该类库中添加自己所需要的jar包-选择将类库给哪个模块使用-Artifacts-将类库打包部署
  3. 如何在idea中部署工程到Tomcat上运行
    • 1️⃣将有需要部署的web工程添加到Tomcat运行实例中
    • 2️⃣建议修改web工程对应的Tomcat运行实例名称,一般与web工程名相同
    • 3️⃣修改模块的工程路径
    • 4️⃣选择有修改时的热部署

六、什么是XML?

  1. 概念:可拓展的标记性语言
  2. 作用:
    • 用来保存数据,且这些数据具有自我描述性
    • 可以为项目或者模块配置文件
    • 作为网络传输数据的格式(现在以JSON为主)
  3. 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解析技术介绍

  1. 不管是html还是xml,都属于标记性文档,都可以用w3c阻止的指定的dom技术进行解析
  2. 早期sun公司为我们两种xml解析技术,DOM和SAX(simple API for xml jdk5.0时在DOM的基础上升级)
  3. 第三方解析: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);
    
            }
        }

     

 

posted @ 2020-11-27 15:56  arraySet  阅读(61)  评论(0)    收藏  举报