Java web后端1 XML URI与URL HTTP Tomcat

tomcat地址

规则:http://localhost:8080/项目名/文件名.html

http://localhost:8080/WebProject/test.html

解决Tomcat 8080端口被占用的情况:

cmd中输入netstat -ano
最后一列的8080,找到PID,然后在任务管理器中,关掉相应进程
或者直接在IDEA中设置端口为808x(其他端口)

tomcat乱码

-Dfile.encoding=UTF-8
在这里插入图片描述

在这里插入图片描述

修改代码之后每次Redeploy

在这里插入图片描述

Tomcat提示未配置关闭端口

严重 [main] org.apache.catalina.startup.Catalina.stopServer 未配置关闭端口。通过OS信号关闭服务器。服务器未关闭。
解决方法:
找到Tomcat的安装目录,进入conf配置文件夹中,找到箭头所指文件
在这里插入图片描述
打开之后,找到如图所指位置,将其修改为8005即可
在这里插入图片描述

Tomcat安装目录

Tomcat安装目录中包含一系列的子目录,这些子目录分别用于存放不同功能的文件,接下来针对这些子目录进行简单介绍,具体如下。
在这里插入图片描述

(1)bin:用于存放Tomcat的可执行文件和脚本文件(扩展名为bat的文件,批处理命令行),如tomcat7.exe、startup.bat。
(2)conf:用于存放Tomcat的各种配置文件,如web.xml(web应用)、server.xml(服务器)。
(3)lib:用于存放Tomcat服务器和所有Web应用程序需要访问的JAR文件,Tomcat开源,本身的源码在lib目录下
(4)logs:用于存放Tomcat的日志文件。
(5)temp:用于存放Tomcat运行时产生的临时文件,本件过大,必须缓存,放在此处。
(6)webapps:Web应用程序的主要发布目录,通常将要发布的应用程序放到这个目录下(想要独立挂载在Tomcat下的应用,之前是在IDEA开发工具中挂载)
(7)work:Tomcat的工作目录,JSP编译生成的Servlet源文件和字节码文件放到这个目录下。

安装成功:
Tomcat服务器启动后,在浏览器的地址栏中输入http://localhost:8080或者http://127.0.0.1:8080(localhost和127.0.0.1都表示本地计算机)访问Tomcat服务器,如果浏览器中的显示界面如图所示,则说明Tomcat服务器安装成功了。
在这里插入图片描述

Tomcat端口

Tomcat监听端口为8080,mysql为3306
可以直接在conf-server.xml中修改端口号

server.xml文件中有一个元素,该元素中有一个port属性,这个属性就是用于配置Tomcat服务器监听的端口号。当前port属性的值为8080,表示Tomcat服务器使用的端口号是8080
。Tomcat监听的端口号可以是0~65 535之间的任意一个整数,如果出现端口号被占用的情况,就可以修改这个port属性的值来修改端口号。
在这里插入图片描述

XML

可扩展性标签
新建了一个xml文件,没有定义标签,不能写标签,就会报错

xml与html区别:
都是树结构
浏览器不能识别xml,可以识别html

(1)HTML被设计出是用来显示数据的,XML被设计出是为了传输和存储数据。
(2)HTML是不区分大小写的,而XML是严格区分大小写的。
(3)HTML可以有多个根元素,而格式良好的XML有且只能有一个根元素。
(4)HTML中,空格是自动过滤的,而XML中空格则不会自动删除。
(5)HTML中的标记是预定义的,而XML中的标记可以根据需要自己定义,并且可扩展。

URI与URL

1)
URL:统一资源定位符(Uniform Resource Locator,缩写:URL),是对资源的引用和访问该资源的方法。俗称网址,就是浏览器地址栏里面的。

2)
URI:统一资源标志符(Uniform Resource Identifier,缩写:URI),提供了一种识别资源的方法。但与 URL 不同的是,URI 不提供定位所述资源的方法。

3)
URI 的最常见的形式是统一资源定位符(URL),经常指定为非正式的网址。由此,可以看出 URI 是 URL 的超集,并且每个 URL 本质上也是一个 URI。

Schema约束

比DTD约束更强

引入Schema约束

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
<?xml version="1.0" encoding="UTF-8"?>
<!--引入了一些约束,引入了一套标签-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
</web-app>

名称空间

1)以“xmlns”或者以“xmlns:”作为前缀

2)不同约束用了同一套标签,但不同命名,所以使用名称空间解决命名冲突

3)如果有两个URI并且其组成的字符完全相同,就可以认为它们标识的是同一个名称空间。

Http协议

1)超文本传输协议(HTTP)是用于从万维网服务器传输超文本到本地浏览器的传送协议。超文本传输协议(HTTP)是面向事务的,应用层协议规定了在浏览器和服务器之间的请求和响应的格式和规则,它是万维网上能够可靠交换文件的重要基础。
2)位于应用层
在这里插入图片描述
3)http特点
(1) 支持客户端(浏览器就是一种Web客户端)/服务器模式。
(2) 简单快速:客户端向服务器请求服务时,只需传送请求方式和路径。常用的请求方式有GET、POST等,每种方式规定了客户端与服务器联系的类型不同。由于HTTP简单,使得HTTP服务器的程序规模小,因而通信速度很快。
(3) 灵活:HTTP允许传输任意类型的数据,正在传输的数据类型由Content-Type加以标记。
(4) 无状态:HTTP是无状态协议。无状态是指协议对于事务处理没有记忆能力,如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

HTTP请求方式

在HTTP的请求消息中,请求方式有GET、POST、HEAD、OPTIONS、DELETE、TRACE、PUT和CONNECT共8种,每种方式都指明了操作服务器中指定URI资源的方式,它们表示的含义如表所示。
在这里插入图片描述
最常用的为: GET和POST方式
Get方式:
在这里插入图片描述
在这里插入图片描述
POST方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HTTP请求消息头

在HTTP请求消息中,请求行之后,便是若干请求消息头。请求消息头主要用于向服务器端传递附加消息,例如,客户端可以接收的数据类型、压缩方法、语言以及发送请求的超链接所属页面的URL地址等信息
常用的请求头字段:
在这里插入图片描述
在这里插入图片描述

HTTP响应状态行

HTTP响应状态行位于响应消息的第一行,它包括三个部分,分别是HTTP版本、一个表示成功或错误的整数代码(状态码)和对状态码进行描述的文本信息,具体示例如下:
在这里插入图片描述
上面的示例就是一个HTTP响应消息的状态行,其中HTTP 1.1是通信使用的协议版本(200是状态码),OK是状态描述,说明客户端请求成功。需要注意的是,请求行中的每个部分需要用空格分隔,最后要以回车换行结束。

HTTP请求状态码:
状态代码由三位数字组成,表示请求是否被理解或被满足。HTTP响应状态码的第一个数字定义了响应的类别,后面两位没有具体的分类,第一个数字有5种可能的取值,具体介绍如下所示。
1,3开头为中间状态

1xx: 表示请求已接收,需要继续处理。
2xx: 表示请求已成功被服务器接收、理解并接受。(正常成功的状态)
3xx: 为完成请求,客户端需进一步细化请求。
4xx: 客户端的请求有错误。
5xx: 服务器端出现错误。

常见状态码:
在这里插入图片描述

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

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

相关文章

STL源码剖析 基本算法 < stl_algobase.h >

注意事项 &#xff1a; 实际使用的时候&#xff0c;使用的是<algorithm>这个头文件&#xff0c;不是题目中的< stl_algobase.h > equal函数 如果两个序列在&#xff3b;firsLlast&#xff09; 区间内相等&#xff0c;equal() 返 回 true.如果第二序列的元素比较…

华为弹性云服务器ECS使用学习0

学习大纲 ECS概述 组成&#xff1a;CPU,内存&#xff0c;镜像&#xff0c;操作系统&#xff0c;云硬盘 ECS产品优势 弹性伸缩AS&#xff08;弹性可扩展&#xff09; ECS产品架构 Region:地理位置和网络时延的划分&#xff0c;同一个Region中共享计算和存储资源&#xff…

STL源码剖析 set相关算法

STL 一共提供了四种与set (集合)相关的算法&#xff0c;分别是并集(union)、交集(intersection) > 差集 (difference)、对称差集 (symmetricdifference所谓set,可细分为数学上的定义和STL的定义两种&#xff0c;数学上的set允许元素重复而未经排序&#xff0c;例 如 &#x…

C++ 使用递增的方式初始化 一个 vector

int countOdds(int low, int high) {int count 0;std::vector<int>temp{high-low1,0};int n low;std::generate(temp.begin(),temp.end(),[&]{return n;});for (auto x:temp) {std::cout << x;}} 使用Itoa std::iota int countOdds(int low, int high) {in…

Python学习4 列表基础知识和常用函数

列表 1.格式 2.增删改查 列表下标&#xff1a; 0–n-1 -n-(-1) #对列表进行切片 #0-(n-1) #-n-(-1) list[dq,python,mm] print(list[0:2])#[0,2) print(list[-3:-2])#[-3,-2) #输出 #[dq, python] #[dq]题目&#xff1a; 【1&#xff1a;4&#xff1a;2】:[1,4),步长为2 下…

Python学习5 元组基础知识和常用函数

元组概念 元组&#xff1a;a&#xff08;1&#xff0c;23&#xff09; 列表&#xff1a;a [1,23] 创建和访问元组 Python 的元组与列表类似&#xff0c;不同之处在于tuple被创建后就不能对其进行修改&#xff0c;类似字符串。 元组与列表类似&#xff0c;也用整数来对它进行…

STL源码剖析 仿函数

仿函数 也叫函数对象1&#xff0c;具有函数性质的对象&#xff1b;2&#xff0c;这种东西在调用者可以像函数一样地被调用(调用)&#xff0c;在被调用者则以对象所定义的function call operator扮 演函数的实质角色。要将某种 “操作”当做算法的参数&#xff0c;唯一办法就是先…

Python学习6 字典基础知识和常用函数

字典概念 字典是 Python 提供的一种常用的数据结构&#xff0c;它用于存放具有映射关系的数据。为了保存具有映射关系的数据&#xff0c;Python 提供了字典&#xff0c;字典相当于保存了两组数据&#xff0c;其中一组数据是关键数据&#xff0c;被称为 key&#xff1b;另一组数…

Java web后端2 Servlet Maven HttpServlet ServletConfig ServletContext HTTP协议

创建项目 新建项目 Java Enterprise JDK1.8 Web Application Tomcat JAVA 默认 过程需要联网 Maven的配置 IDEA内置Maven 修改本地仓库位置&#xff0c;因为以后会越来越大 替换配置文件&#xff1a; 阿里云镜像下载 Servlet基础 1.动态Web资源开发 2.Servlet是使用J…

STL源码剖析 配接器

配接器(adapters)在 STL组件的灵活组合运用功能上&#xff0c;扮演着轴承、转换器的角色。Adapter这个概念&#xff0c;事实上是一种设计模式(design pattern)。 Design Patterns)) 一书提到23个最普及的设计模式&#xff0c;其中对odopter样式的定义如下&#xff1a;将 一个cl…

中科大 计算机网络3 网络边缘Edge

网络结构 边缘系统 网络核心 接入网 方块&#xff1a;边缘系统(主机) 圆的&#xff1a;网络核心&#xff0c;数据交换作用 连接边缘系统和网络核心的叫做接入网&#xff08;access&#xff09;&#xff0c;把边缘的主机接入到网络核心&#xff08;所以是分布式的&#xff09; …

STL源码剖析 入门开始 STL概论与版本简介

源代码之中时而会出现一些全局函数调用操作&#xff0c;尤其是定义于<stl_construct.h> 之中用于对象构造与析构的基本函数&#xff0c;以及定义于<stl_uninitialized.h>之 中 用 于 内 存 管 理 的 基 本 函 数 &#xff0c; 以及定义于<stl_algobase.h>之中…

中科大 计算机网络4 网络核心Core 分组交换 电路交换

网络核心 电路交换&#xff08;线路交换&#xff09;&#xff1a;打电话之前&#xff0c;先建立一条链路&#xff08;物理&#xff09; 分组交换&#xff1a;存储转发的方式 电路交换&#xff08;线路交换&#xff09; 通过信令&#xff08;控制信息&#xff0c;如&#xf…

STL 源码剖析 空间配置器

以STL的运用角度而言&#xff0c;空间配置器是最不需要介绍的东西&#xff0c;它总是隐藏在一切组件&#xff08;更具体地说是指容器&#xff0c;container&#xff09; 的背后但是STL的操作对象都存放在容器的内部&#xff0c;容器离不开内存空间的分配为什么不说allocator是内…

中科大 计算机网络7 分组延迟 分组丢失 吞吐量

分组丢失和延迟的原因 队列太长没有意义&#xff0c;用户需求 排队&#xff1a;输出能力<到来的分组&#xff0c;需要等待 四种分组延迟 节点处理延迟&#xff1a;确定的 排队延迟&#xff1a;随机&#xff0c;取决于网络情况 一个比特的传输时间&#xff1a; R1Mbps …

STL源码剖析 迭代器iterator的概念 和 traits编程技法

iterator模式定义如下&#xff1a;提供一种方法&#xff0c;使之能够依序巡访某个 聚合物(容器)所含的各个元素&#xff0c;而又无需暴露该聚合物的内部表述方式.STL的中心思想在于&#xff1a;将数据容器(containers)和算法(algorithms)分开&#xff0c;彼此独立设计&#xff…

中科大 计算机网络11 应用层原理

应用层大纲 传输层向应用层提供的服务&#xff0c;形式是Socket API&#xff08;原语&#xff09; 一些网络应用的例子 互联网层次中&#xff0c;应用层协议最多 流媒体应用&#xff1a;直播 网络核心最高的层次就是网络层 应用进程通信方式 C/S&#xff1a; 客户端&…

STL源码剖析 序列式容器 vector 和 ilist

Vector list 单向链表 ilistlist的删除操作&#xff0c;也只有指向被删除元素的迭代器会失效&#xff0c;其他迭代器不会受到影响

中科大 计算机网络5 接入网和物理媒体

接入网 接入网&#xff1a;把边缘&#xff08;主机&#xff09;接入核心&#xff08;路由器&#xff0c;交换机&#xff09; 骨干网【连接主机和主机】和接入网中都有物理媒体 接入方式&#xff1a;有线和无线 带宽共享/独享 接入网&#xff1a;住宅接入modem modem调制解调…

STL源码剖析 序列式容器 deque双端队列

相较于vector的内存拷贝&#xff0c;deque在内存不足时只需要进行内存的拼接操作即可&#xff0c;不需要重新配置、复制、释放等操作&#xff0c;代价就是迭代器的架构不是一个普通的指针&#xff0c;比较复杂d e q u e 的迭代器 deque是分段连续空间。维持其“整体连续”假象…