第五部分: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:文档声明
<?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;}@Overridepublic 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 {@Testpublic 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类@Testpublic 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,可以配置服务器

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/162654.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据毕业设计选题推荐-智慧小区大数据平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

17. 机器学习 - 随机森林

Hi&#xff0c;你好。我是茶桁。 我们之前那一节课讲了决策树&#xff0c;说了决策树的优点&#xff0c;也说了其缺点。 决策树实现起来比较简单&#xff0c;解释解释性也比较强。但是它唯一的问题就是不能拟合比较复杂的关系。 后来人们为了解决这个问题&#xff0c;让其能…

操作系统·操作系统引论

1.1 操作系统的目标和作用 1.目前常见操作系统&#xff1a; 微软&#xff1a;Windows系列&#xff08;以前MS-DOS&#xff09; UNIX&#xff1a;Solaris, AIX, HP UX, SVR4, BSD, ULTRIX 自由软件&#xff1a;Linux, freeBSD, Minix IBM: AIX, zOS(OS/390), OS/2, OS/400, PC…

NSSCTF第十页(2)

[HNCTF 2022 WEEK3]ssssti 题目提示是jinja2模板 怎么感觉之前做过&#xff0c;看到了注入 随便进行一下注入&#xff0c;发现了过滤 大致的黑名单 " _ args -- 无法使用 request.args os -- 无法导入os 不允许post -- 无法使用 request.value 正常用的payloa…

Wpf 使用 Prism 实战开发Day04

一.菜单导航实现 1.首先创建出所有的页面(View)及对应的页面逻辑处理类(ViewModel) IndexView(首页)-----------------IndexViewModelToDoView(待办事项)------------ToDoViewModelMemoView(忘备录)--------------MemoViewModelSettingsView(设置)--------------SettingsViewMo…

远程管理SSH服务

一、搭建SSH服务 1、关闭防火墙与SELinux # 关闭firewalld防火墙 # 临时关闭 systemctl stop firewalld # 关闭开机自启动 systemctl disable firewalld ​ # 关闭selinux # 临时关闭 setenforce 0 # 修改配置文件 永久关闭 vim /etc/selinux/config SELINUXdisabled 2、配置…

ChatGPT 的 Text Completion

该章节我们来学习一下 “Text Completion” &#xff0c;也就是 “文本完成” 。“Text Completion” 并不是一种模型&#xff0c;而是指模型能够根据上下文自动完成缺失的文本部分&#xff0c;生成完整的文本。 ⭐ Text Completion 的介绍 Text Completion 也称为文本自动补全…

RxJava/RxAndroid的基本使用方法(一)

文章目录 一、什么是RxJava二、使用前的准备1、导入相关依赖2、字段含意3、Upstream/Downstream——上/下游4、BackPressure5、BackPressure策略6、“热” and “冷” Observables7、 基类8、事件调度器9、操作符是什么&#xff1f; 三、RxJava的简单用法1、Observable——Obse…

uniapp小程序刮刮乐抽奖

使用canvas画布画出刮刮乐要被刮的图片&#xff0c;使用移动清除画布。 当前代码封装为刮刮乐的组件&#xff1b; vue代码&#xff1a; <template><view class"page" v-if"merchantInfo.cdn_static"><image class"bg" :src&q…

Scientific colour maps颜色包--共35种--全平台可用

Scientific colour maps颜色包–共35种–全平台可用 往期推荐&#xff1a; SciCoMap颜色包_共180种–全平台可用 海洋专用cmocean颜色包_共22种–全平台可用 Python语言_matplotlib包_共80种–全平台可用 Python语言_single_color_共140种–全平台可用 R语言_RColorBrewer包–…

Flutter 08 三棵树(Widgets、Elements和RenderObjects)

一、Flutter三棵树背景 1.1 先思考一些问题 1. Widget与Element是什么关系&#xff1f;它们是一一对应的还是怎么理解&#xff1f; 2. createState 方法在什么时候调用&#xff1f;state 里面为啥可以直接获取到 widget 对象&#xff1f; 3. Widget 频繁更改创建是否会影响…

如何释放React Hooks的力量

React是用于构建用户界面的一个流行JavaScript库&#xff0c;多年来已经发生了重大变化和改进。React中最具颠覆性的新特性之一就是引入了Hooks。React Hooks彻底改变了开发者在函数组件中管理状态和生命周期的方式。在这个全面的指南中&#xff0c;将深入研究React Hooks的世界…