• 第五部分:Tomcat


    目录

    补充:XML

    一: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服务器

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


    补充:XML

    一:XML简介

            1.1:什么是XML?

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

            1.2:XML的作用

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

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

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

            1.3:XML语法
                    1.3.1:文档声明
    1. "1.0" encoding="utf-8" ?>
    2. <books>
    3. <book sn = "SN214150210">
    4. <name>时间简史name>
    5. <author>霍金author>
    6. <price>75price>
    7. book>
    8. <book sn = "SN214150211">
    9. <name>java入门name>
    10. <author>小贾author>
    11. <price>9.9price>
    12. book>
    13. 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格式:

        
    
            1.4:XML解析技术介绍

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

            1.5:dom4j解析技术

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

            1.6:应用举例
    1. "1.0" encoding="UTF-8" ?>
    2. <books>
    3. <book sn="SN214150210">
    4. <name>辟邪剑谱name>
    5. <price>9.9price>
    6. <author>班主任author>
    7. book>
    8. <book sn="214150211">
    9. <name>葵花宝典name>
    10. <price>99.99price>
    11. <author>班长author>
    12. book>
    13. books>
    1. package com.jiayifeng.pojo;
    2. import java.math.BigDecimal;
    3. /**
    4. * author 爱编程的小贾
    5. * create 2023-11-06 15:22
    6. */
    7. public class book {
    8. private String sn;
    9. private String name;
    10. private BigDecimal price;
    11. private String author;
    12. public book() {
    13. }
    14. public book(String sn, String name, BigDecimal price, String author) {
    15. this.sn = sn;
    16. this.name = name;
    17. this.price = price;
    18. this.author = author;
    19. }
    20. public String getSn() {
    21. return sn;
    22. }
    23. public void setSn(String sn) {
    24. this.sn = sn;
    25. }
    26. public String getName() {
    27. return name;
    28. }
    29. public void setName(String name) {
    30. this.name = name;
    31. }
    32. public BigDecimal getPrice() {
    33. return price;
    34. }
    35. public void setPrice(BigDecimal price) {
    36. this.price = price;
    37. }
    38. public String getAuthor() {
    39. return author;
    40. }
    41. public void setAuthor(String author) {
    42. this.author = author;
    43. }
    44. @Override
    45. public String toString() {
    46. return "book{" +
    47. "sn='" + sn + '\'' +
    48. ", name='" + name + '\'' +
    49. ", price=" + price +
    50. ", author='" + author + '\'' +
    51. '}';
    52. }
    53. }
    1. package com.jiayifeng.pojo;
    2. import org.dom4j.Document;
    3. import org.dom4j.DocumentException;
    4. import org.dom4j.Element;
    5. import org.dom4j.io.SAXReader;
    6. import org.junit.Test;
    7. import java.util.List;
    8. /**
    9. * author 爱编程的小贾
    10. * create 2023-11-06 15:37
    11. */
    12. public class Dom4jTest {
    13. @Test
    14. public void test1(){
    15. SAXReader reader = new SAXReader();
    16. try {
    17. Document doc = reader.read("src/books.xml");
    18. System.out.println(doc);
    19. } catch (DocumentException e) {
    20. throw new RuntimeException(e);
    21. }
    22. }
    23. // 读取books.xml文件生成Book类
    24. @Test
    25. public void test2() throws Exception {
    26. // 1.读取books.xml文件
    27. SAXReader reader = new SAXReader();
    28. // 在junit测试中,相对路径是从模块名开始算
    29. Document document = reader.read("src/books.xml");
    30. // 2.通过document对象获取根元素
    31. Element rootElement = document.getRootElement();
    32. // 3.通过根元素获取book标签对象
    33. // element()和elements()都是通过标签名查找子元素
    34. List books = rootElement.elements("book");
    35. // 4.遍历,处理每个book标签转换为Book类
    36. for(Element book : books){
    37. //asXML():把标签对象转换为标签字符串
    38. // System.out.println(book.asXML());
    39. Element nameElement = book.element("name");
    40. // System.out.println(nameElement.asXML());
    41. // getText():可以获取标签中的文本内容
    42. String nameText = nameElement.getText();
    43. // System.out.println(nameText);
    44. // 可以直接获取指定标签名的文本内容
    45. String priceText = book.elementText("price");
    46. System.out.println(priceText);
    47. }
    48. }
    49. }

    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\下,创建如下的配置文件

    1. //Context表示一个工程上下文
    2. //path表示工程的访问路径
    3. //docBase表示你的工程目录在哪里
    4. "/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实例启动后默认的访问地址

  • 相关阅读:
    国产5G手机20天销量不及苹果一天,被iPhone15按在地上摩擦
    第十五章《网络编程》第4节:基于UDP协议的网络编程
    附下载,《数据传输安全白皮书》上新,90页详解安全策略
    王道考研——操作系统(第二章 进程管理)(死锁)
    入门 对有序数组进行二分搜索 + 图解 (上篇)
    细说Linux——文件系统管理
    亚马逊怎么下单更真实
    FLASK中的鉴权的插件Flask-HTTPAuth
    Rust语言有些情况一直卡住的解决方法
    CFD基本概念
  • 原文地址:https://blog.csdn.net/weixin_63925896/article/details/134186904