第五部分:Tomcat

目录​​​​​​​

XML简介

        1.1:什么是XML?

        1.2:XML的作用

        1.3:XML语法

                1.3.1:文档声明

                1.3.2:元素(标签)

                1.3.3:XML属性

                1.3.4:XML注释

                1.3.5:文本区域(CDATA区)

        1.4:XML解析技术介绍

        1.5:dom4j解析技术

        1.6:应用举例

5.1:JavaWeb

5.1.1:JavaWeb的概念

5.1.2:Web资源的分类

5.1.3:常用的Web服务器

5.1.4:Tomcat服务器和Servlet版本的对应关系

5.1.5:Tomcat的使用

        ①安装

        ②目录介绍

        ③如何启动Tomcat服务器?

        ④Tomcat的停止

        ⑤如何修改Tomcat的端口号?

        ⑥如何部署web工程到Tomcat中?

        ⑦手托HTML页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别?

        ⑧ROOT的工程的访问,以及默认index.html页面的访问

5.1.6:IDEA整合Tomcat服务器

        步骤:添加Tomcat服务器​​​​​​​

5.1.7:IDEA中动态web工程的操作

      步骤一:创建动态JavaWeb工程(Add Frameworks Support)

      步骤二:添加项目所需类库(jar包) 

      步骤三:在IDEA中部署工程到Tomcat上运行


XML简介

        1.1:什么是XML?

                XML是可扩展(解释:标签名为自定义的)的标记性语言

        1.2:XML的作用

                ①用来保存数据,而且这些数据具有自我描述性

                ②作为项目或模块的配置文件

                ③作为网络传输数据的格式(现在以JSON为主)

        1.3:XML语法
                1.3.1:文档声明
<?xml version="1.0" encoding="utf-8" ?>
<!--
    <?xml version="1.0" encoding="utf-8" ?>
    以上内容就是xml文件的声明
    version="1.0"           version表示xml的版本号
    encoding="utf-8"        encoding表示xml文件本身的编码
-->

<books> <!-- books 表示多个图书信息 -->
    <book sn = "SN214150210"> <!--book表示一个图书信息 sn属性表示图书序列号-->
        <name>时间简史</name>
        <author>霍金</author>
        <price>75</price>
    </book>

    <book sn = "SN214150211"> <!--book表示一个图书信息 sn属性表示图书序列号-->
        <name>java入门</name>
        <author>小贾</author>
        <price>9.9</price>
    </book>
</books>
                1.3.2:元素(标签)

                        标签与HTML一样

                        命名规则:

                                ①名称可以包含字母、数字以及其他的字符

                                ②名称不能以数字或标点符号开始

                                ③名称不能以字符“xml”开始

                                ④名称不能包含空格

                1.3.3:XML属性

                        属性和HTML非常类似,属性可以提供元素的额外信息

                1.3.4:XML注释

                        注释与HTML一样

                1.3.5:文本区域(CDATA区)

                        CDATA语法可以告诉xml解析器,CDATA里的文本内容只是纯文本,不需要xml语法解析

                        CDATA格式:

    <![CDATA[这里可以把你输入的字符原样显示,不需要xml解析]]>
        1.4:XML解析技术介绍

                不管是HTML文件还是XML文件,它们都是标记性文档,都可以使用w3c组织制定的DOM技术来解析

        1.5:dom4j解析技术

                由于dom4j不是sun公司的技术,而属于第三方公司的技术,我们需要使用dom4j官网下载dom4j的jar包

        1.6:应用举例
<?xml version="1.0" encoding="UTF-8" ?>
<books>
    <book sn="SN214150210">
        <name>辟邪剑谱</name>
        <price>9.9</price>
        <author>班主任</author>
    </book>

    <book sn="214150211">
        <name>葵花宝典</name>
        <price>99.99</price>
        <author>班长</author>
    </book>
</books>
package com.jiayifeng.pojo;

import java.math.BigDecimal;

/**
 * author 爱编程的小贾
 * create 2023-11-06 15:22
 */
public class book {
    private String sn;
    private String name;
    private BigDecimal price;
    private String author;

    public book() {
    }

    public book(String sn, String name, BigDecimal price, String author) {
        this.sn = sn;
        this.name = name;
        this.price = price;
        this.author = author;
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    @Override
    public String toString() {
        return "book{" +
                "sn='" + sn + '\'' +
                ", name='" + name + '\'' +
                ", price=" + price +
                ", author='" + author + '\'' +
                '}';
    }
}
package com.jiayifeng.pojo;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

import java.util.List;

/**
 * author 爱编程的小贾
 * create 2023-11-06 15:37
 */
public class Dom4jTest {
    @Test
    public void test1(){
        SAXReader reader = new SAXReader();
        try {
            Document doc = reader.read("src/books.xml");
            System.out.println(doc);
        } catch (DocumentException e) {
            throw new RuntimeException(e);
        }
    }

//    读取books.xml文件生成Book类
    @Test
    public void test2() throws Exception {
//        1.读取books.xml文件
        SAXReader reader = new SAXReader();
//        在junit测试中,相对路径是从模块名开始算
        Document document = reader.read("src/books.xml");
//        2.通过document对象获取根元素
        Element rootElement = document.getRootElement();
//        3.通过根元素获取book标签对象
//        element()和elements()都是通过标签名查找子元素
        List<Element> books = rootElement.elements("book");
//        4.遍历,处理每个book标签转换为Book类
        for(Element book : books){
            //asXML():把标签对象转换为标签字符串
//            System.out.println(book.asXML());

            Element nameElement = book.element("name");
//            System.out.println(nameElement.asXML());

//            getText():可以获取标签中的文本内容
            String nameText = nameElement.getText();
//            System.out.println(nameText);

//            可以直接获取指定标签名的文本内容
            String priceText = book.elementText("price");
            System.out.println(priceText);
        }
    }
}

5.1:JavaWeb

5.1.1:JavaWeb的概念

        ①什么是JavaWeb?

                JavaWeb是指所有通过Java语言编写可以通过浏览器访问的程序的总称

                JavaWeb是基于请求和响应来开发的

        ②什么是请求?

                请求是指客户端给服务器发送数据,叫请求Request

        ③什么是响应?

                响应是指服务器给客户端回传数据,叫响应Response

        ④请求和响应的关系?

                请求和响应是成对出现的,有请求就有响应

5.1.2:Web资源的分类

        Web资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种

                静态资源:HTML、CSS、JS、MP4视频、jpg图片

                动态资源:jsp页面、Servlet程序

5.1.3:常用的Web服务器

有如下四种:
        1、Apache,开源免费,具有简单、高速、性能稳定等特点,可作代理服务器使用;
        2、Nginx,是一种高性能的HTTP和反向代理web服务器,支持高并发和负载均衡;
        3、IIS,适用于windows系统,可用于监视配置和控制Internet服务;
        4、Tomcat,是一个开放源代码,运行servlet和JSP Web应用软件并基于Java的Web应用软件容器,性能稳定,且免费。
具体内容如下:
1、Apache
        Apache是目前世界上最流行的Web服务器之一,支持跨平台应用,可以运行在几乎所有的Unix、windows、linux系统平台上,尤其对linux的支持相当完美。

        Apache是开源免费的,有很多开发者都参与了设计和改进,推动了产品的持续完善。Apache的特点是简单、高速、性能稳定,可作代理服务器使用。到目前,Apache仍然是世界上用的最多的Web服务器,其成功之处主要在于源码开放、强大的社区支持、跨平台应用以及可移植性等方面。

2、Nginx
        Nginx是一种高性能的HTTP和反向代理web服务器,支持高并发和负载均衡,以稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

        Nginx可以在大多数Unix/Linux上编译运行,并有Windows移植版。安装简单、配置文件简洁,同时Bug少,几乎可以做到7*24不间断运行,支持在不间断服务的情况下进行软件版本升级。在连接高并发的情况下,Nginx是Apache服务不错的替代品。同时Nginx的模块也非常丰富,能够满足不同的需求,适合做静态使用。

3、IIS
        IIS 适用于windows系统,很多著名网站都采用IIS搭建,ASP、.net开发的程序一般也只能在IIS上运行。IIS提供了一个图形界面的管理工具,可用于监视配置和控制Internet服务,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,IIS的使用让网络(包括互联网和局域网)上的信息发布变得非常简单。

4、Tomcat
        Tomcat是一个开放源代码、运行servlet和JSP Web应用软件、并基于Java的Web应用软件容器。由于技术先进、性能稳定,而且免费,深受Java 爱好者欢迎,同时,也得到了部分软件开发商认可,成为目前比较流行的Web应用服务器。

        Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。不过,Tomcat处理静态HTML的能力不如Apache服务器。

5.1.4:Tomcat服务器和Servlet版本的对应关系
TomcatServlet/JSP版本JavaEE运行环境
4.12.3/1.21.3JDK 1.3
5.02.4/2.01.4JDK 1.4
5.5/6.02.5/2.15.0JDK 5.0
7.03.0/2.26.0JDK 6.0
8.03.1/2.37.0JDK 7.0
5.1.5:Tomcat的使用
        ①安装

                找到你需要用的Tomcat版本对应的zip压缩包,解压到需要安装的目录即可

                安装步骤:http://t.csdnimg.cn/s9T3A

        ②目录介绍

                bin:专门用来存放Tomcat服务器的可执行程序

                conf:专门用来存放Tomcat服务器的配置文件

                lib:专门用来存放Tomcat服务器的jar包

                logs:专门用来存发Tomcat服务器运行时输出的日记信息

                temp:专门用来存放Tomcat运行时产生的临时数据

                webapps:专门用来存放部署的Web工程

                work:是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码,和Session钝化的目录

        ③如何启动Tomcat服务器?

                找到Tomcat目录下的bin目录下startup.bat文件,双击打开,就可以启动Tomcat服务器

                        A.如何测试Tomcat服务器启动成功?

                                a.http://localhost:8080

                                b.http://127.0.0.1:8080

                                c.http://真实ip:8080

                                d.win+r(打开命令行) -> 输入startup.bat命令

                        B.当出现如下界面,就说明Tomcat服务器启动成功!

        ④Tomcat的停止

                a.点击Tomcat服务器窗口的x关闭按钮

                b.把Tomcat服务器窗口置为当前窗口,然后按快捷键:Ctrl+C

                c.找到Tomcat的bin目录下的shutdown.bat双击,就可以停止Tomcat服务器

        ⑤如何修改Tomcat的端口号?

                找到Tomcat目录下的conf目录,找到server.xml配置文件

        ⑥如何部署web工程到Tomcat中?

                第一种方法:只需要把web工程的目录拷贝到Tomcat的webapps目录下即可

                        在浏览器中输入访问地址格式如下:

                                http://ip:port/工程名/目录下/文件名

                第二种方法:找到Tomcat下的conf目录\Catalina\localhost\下,创建如下的配置文件

//Context表示一个工程上下文
//path表示工程的访问路径
//docBase表示你的工程目录在哪里

<Context path="/abc" docBase="E:\book"/>
        ⑦手托HTML页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别?

                a.手托HTML页面到浏览器,这个时候浏览器中的地址如下:          观察上图,我们发现,它使用的协议是file://协议

file协议表示告诉浏览器直接读取file:协议后面的路径,解析展示在浏览器上即可

                b.如果在浏览器地址栏中输入地址如下:

                

所使用的协议是http协议。两种背后的原因完全不同

        ⑧ROOT的工程的访问,以及默认index.html页面的访问

                当我们在浏览器地址栏中输入访问地址如下:

                        http://ip:port/        --> 没有工程名的时候,默认访问的是ROOT工程

                当我们在浏览器地址栏中输入访问地址如下:

                        http://ip:port/工程名/        --> 没有资源名,默认访问index.html页面

5.1.6:IDEA整合Tomcat服务器

        只有企业版中有javaEE,可以配置服务器(社区版本无法配置)

        步骤:添加Tomcat服务器

   
5.1.7:IDEA中动态web工程的操作

      步骤一:创建动态JavaWeb工程(Add Frameworks Support)

http://t.csdnimg.cn/qQTxznew中没有增加项目框架的解决方法

        创建成功如下图所示:

       

        注:一般项目创建成功后,在web下创建一个lib目录,用于存放jar包 

        步骤二:添加项目所需类库(jar包) 

        步骤三:在IDEA中部署工程到Tomcat上运行

                ①建议修改web工程对应的Tomcat运行实例名称

                ②确认你的Tomcat实例中有你要部署运行的文本工程模块

                 ③你可以修改你的Tomcat实例启动后默认的访问地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值