web基础-day07-tomcat

web基础-day07-tomcat

服务器是用来存放web资源的容器。

web资源分为:静态web资源和动态web资源。
静态web资源:每一个用户看到的内容都相同,这些资源称之为静态web资源。
动态web资源:每一个用户看到内容不相同,这些资源称之为动态web资源。
服务器概述 1.
服务器有软件服务器和硬件服务器之分。所谓软件服务器指的是tomcat这一类
的软件。硬件服务器指的是真实存在的物理服务器。
服务器介绍 2.
WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,而且不断
的完善以适应新的开发要求,启动界面如图
另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图
在小型的应用系统或者有特殊需要的系统中,可以使用一个 免费的Web服务器:
Tomcat,该服务器支持全部JSP以及Servlet规范,启动界面如图

服务器概述

解压tomcat文件即可。 a.
.zip 压缩包版本 32bit/64bit
.exe 安装版本
.tar.gz linux压缩包
tomcat 安装文件种类 b.
tomcat 9 最新版本 c.
tomcat安装 1.
在tomcat/bin目录下双击starup.bat文件,启动tomcat服务器。
在启动之后,窗口保留在桌面,最后显示一个毫秒值,则证明tomcat启动成
功。
在浏览器端访问localhost:8080可以看到tomcat首页。
原因一:JAVA_HOME环境变量名称不合法。 1)
原因二:JAVA_HOME包保存的jdk路径无效。tomcat依赖于jdk。 2)
netstat -ano
查看端口号对应的pid
打开任务管理器,关闭80或8080对应的pid进程。
原因三:端口被占用。net stop https 3)
原因四:tomcat安装路径中不允许出现中文和空格。否则会导致不必要
的错误。
4)
启动一闪而过: i.
tomcat问题: a.
启动tomcat 2.
bin—存储tomcat启动和关闭的脚本文件的目录
conf—存储tomcat配置文件的目录
lib—存储tomcat依赖的jar包的目录
logs—存储tomcat启动和运行过程中的日志的目录
temp—存储tomcat临时文件的目录
webapps—存储tomcat运行时所需的web资源的目录
work—tomcat工作目录,在运行页面时产生工作文件。
tomcat目录结构 3.
tomcat

在一个真实的服务器中,运行着多个网站,这些网站在用户看来是运行在各自独
立的服务器当中,但是真实的情况却是运行在同一个服务器中。这些网站可以称
之为主机,由于网站没有运行在各自的服务器中,所以可以把这些主机称之为虚
拟主机。一个网站就是一台虚拟主机。
虚拟主机概念 1.
由于虚拟主机无法直接管理web资源,所以将web资源放入虚拟主机管理目录中
的一个子目录内。这个目录管理同一功能的web资源,多个功能不同的web资源
放入不同的目录中。一般情况下,web应用会根据功能划分,一个功能一个web
应用。
web应用概念 2.
web应用是一个目录,其中存放一个功能的全部web资源。(动态和静态的).在一
个虚拟主机中,可以包含多个这样的目录。web应用全称叫做web应用目录。
a.
静态资源:HTML、IMG、CSS、JS、jQuery
动态资源:Servlet/jsp
web资源: b.
web是网页的意思。需要将web内容放在Internet网络中,才能被其他互联网中的
用户访问。所以web应用也需要这样做。
c.
提供web应用的虚拟路径。
web应用被访问的方法: d.
虚拟路径必须要映射在真实的web应用目录身上,这样在地址栏中访问虚拟路径
的时候,才会得到对应的web资源。
e.
web应用 3.
第一种:在server.xml中找到标签,在其中添加一个 a.

其中path存储虚拟路径,docBase存储真实路径。

注意:由于虚拟路径是xml文件的名称,window中不允许使用"/“命名文件,
所以如果虚拟路径中存在多级路径,可以通过”#"来分割。
第二种:在conf/Catalina/localhost目录中添加一个以虚拟路径命名的.xml文件。
文件中存储web应用的真实路径。书写内容如下:
b.
第三种:在webapps目录中添加一个子目录,这个目录的名称就是虚拟路径的名
称。
c.
web应用虚拟路径的创建方式: 4.
一个web应用可以配置为缺省web应用, 这样在访问缺省web应用的时候,就不
用书写web应用的虚拟路径名称。
a.
第一种:在server.xml中找到标签,在其中添加一个path中不需要书写任何内容,这时当前web应用就会作为缺省使
用。
i.
配置方式: b.
缺省web应用 5.
虚拟主机和web应用

用。
第二种:在conf/Catalina/localhost目录中添加一个以虚拟路径命名的.xml
文件。作为缺省web应用,需要将文件名配置为ROOT.xml
ii.
第三种:在webapps目录中添加一个子目录,这个目录的名称就是虚拟路径的
名称。 并且名称必须叫做ROOT.
iii.
server.xml > conf/Catalina/localhost > webapps
缺省优先级: c.
web应用
|
|—存放静态web资源,此处存放的静态web资源可以被直接访问
|
|— 静态web资源 此处存放的静态web资源不可以被直接访问。
|—lib 当前web应用所依赖的jar包
|—classes 存放动态资源的目录
|—web.xml 用于配置当前web应用,可以配置缺省主页,servlet映射,监听器
和过滤器。
|—WEB-INF
注意:一个web应用的目录结构可以不完整,但是如果要构建完整web应用,则
需要严格遵循上述结构。
练习创建完整的web应用目录结构 a.
web应用目录结构 6.
web.xml是一个web应用的配置文件,可以在这个文件中配置web应用的缺省主
页,servlet映射以及监听器和过滤器。
所有web应用中的web.xml文件都会自动继承conf/web.xml文件。 a.

<?xml version="1.0" encoding="ISO-8859-1"?>



1.html

在web.xml中添加如下配置:
添加缺省主页: b.
web.xml文件 7.

虚拟主机就相当于是一个网站。 注意:如果添加配置之后出错,检查logs文件或检查刚刚的配置信息。 在Server.xml文件中的标签下添加一个标签,这个标签代表一个新的虚拟主机。内容 如下: i. 文件路径:C:\Windows\System32\drivers\etc\hosts 修改hosts文件: 1) 需要将www.baidu.com的ip地址指向本机,在浏览器访问域名时,hosts 文件可以将域名解析成对应的ip地址。 修改hosts文件的意义: 2) 配置www.baidu.com映射在当前的主机之上。 ii. 在地址栏中输入www.baidu.com进行测试 iii. 在使用ip地址访问对应的服务器时,无法判断当前请求的是哪一个虚拟主 机。只能使用缺省虚拟主机提供服务。 配置如下: 缺省虚拟主机 iv. 有这些属性: • 属性 描述 必需? className 默认为org. apache.catalina.core.StandardHost 否 appBase web应用程序文件存放的位置,相对路径为CATALINA_HOMEM 是 autoDeploy 设为true,则web.xml发生变化时,tomcat自动重新部署程序。实现这个功能必需允许后台处理 否 name virtual host的名称 是 backgroundProcessi ngDelay 跟Engine中的backgroundProcessingDelay类似 否 deployOnStartup 若为true,则当这个Engine启动时,tomcat将自动部署这个host,默认为true 否 deployXML 这个属性的目的是为了提高tomcat的安全性,控制web应用程序是否能使用META- INF/contex.xml。如果设为false,则各应用程序只能访问 $CATALINA_HOME/conf///.xml。默认值为True。 否 errorReportValveClas s 定义host使用的error-reporting Valve,默认值为 org.apache.catalina.valves.ErrorReportValve 否 unpackWARs tomcat在webapps文件夹中发现war文件时,是否自动将其解压 否 workdir tomcat使用这个目录来放工作着的servlet和jsp(以servlet形式),这里面的servlet都是是编译 好的class文件。默认为$CATALINA_HOME/work 否 配置虚拟主机: a. 虚拟主机 8. 查看ip地址:在cmd窗口书写ipconfig。 a. 指令压缩打包:jar -cvf news.war *. 压缩打包:将文件压缩为zip格式的压缩包即可。 打war包: b. 杂项 9.

压缩打包:将文件压缩为zip格式的压缩包即可。
介绍web.xml和context.xml文件 c.
作业: 10.
建立一个www.google.com的网站,配置为缺省虚拟主机。网站中有两个应用,news
和email。为两个应用配置缺省主页,并把email配置为缺省web应用。
缺省端口 :80
缺省web应用 ROOT
缺省主页 inex.html
缺省虚拟主机 defaultHost
总结:四个缺省

HTTP HyperText Transfor protocol(超文本传输协议)。 a.
HTTP协议规定了浏览器和服务器之间交互数据的格式。在浏览器和服务器建立链
接之后,可以依照协议进行数据交互。
b.
应用层(HTTP、FTP、SMTP、POP3、TELNET)->表示层->会话层->传输层
(TCP、UDP)->网络层(IP)->数据链路层->物理层
~OSI网络七层模型: c.
HTTP概述 1.
基于请求响应模型。
一次请求对应一次响应。
请求只能由浏览器发出,服务器根据请求作出响应。
HTTP协议概念 2.
在浏览器和服务器建立链接之后,浏览器发送一次请求, 服务器作出一次响
应,链接立刻断开。
HTTP/1.0 a.
在浏览器和服务器建立链接之后,浏览器可以连续发送多次请求,服务器会依
次作出响应。在等待一段时间时候,如果没有更多的请求发出,则链接断开。
HTTP/1.1 b.
首先准备一个web应用,并打开tomcat服务器。 □
打开cmd窗口,输入telnet localhost 端口号 □
按crtl+] □
回车,进入输入界面(输入界面不允许删除字符,因为每输入一个字符就将这个字
符以流的形式发送给服务器,无法修改。)

输入指令 GET /web应用/资源名 HTTP/1.1 □
回车,输入Host:localhost:端口号 □
利用telnet演示HTTP1.0和HTTP1.1的区别 
使用HTTP1.1协议和1.0协议分别测试,发现1.1执行完一次请求后等待下一次请求,1.0
则在一次请求后断开。

telnet测试注意事项:每次telnet测试完成后要退出重进,必要时需要重启tomcat。 
TELNET指令模仿HTTP协议操作( 不要练习太多) c.
访问页面一共需要4次请求,一次请求HTML页面,三次请求img图片。
由于是HTTP/1.1协议,所以只需要建立一次链接。
一个web页面中,使用img标签引用了三幅图片,当浏览器访问服务器中的这个web页面
时,浏览器总共会访问几次服务器,即向服务器发送了几次HTTP请求。

一个好多同学搞不清楚的问题: ○
HTTP协议版本 3.
请求的组成的四部分:
HTTP请求 4.
HTTP协议

请求行 GET /login/1.html HTTP/1.1
多个请求头
Host: localhost
Connection: keep-alive
Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/
;q=0.8,application/signed-exchange;v=b3 Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
一共空行
请求实体内容 请求参数
请求的组成的四部分:
一共有:7种 POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
请求方式:
get :参数拼接在地址栏 不安全 请求地址长度不能超过1kb
post:参数在底层以流的形式传输 安全 在理论上传输的参数长度不受限
常用的有两种:get post
请求行 a.
/login/1.html 由web应用的虚拟路径和web资源名组成
请求资源: b.
请求参数
如果以post请求发送参数,则参数会进入请求实体内容中,以键值对的形式
存在。
在使用form表单时,将提交方式method改为post。
只有一种形式为post请求: i.
其他情况都是get请求。 ii.
请求实体内容: c.
用于HTTP请求中的常用头 ○
Accept: text/html,image/
通知浏览器可以接受什么数据 现在表示接收文本数据,任意格式
的图片数据

Accept-Charset: ISO-8859-1 ○
Accept-Encoding: gzip,compress 发送数据的压缩格式 ○
Accept-Language: en-us,zh-cn 语言 ○
Host: www.it315.org 请求的地址,可以通过观察Host头来确定访问对应地址服务器上的哪个
虚拟主机。

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 与响应头last modified呼应 ○
Referer: http://www.it315.org/index.jsp 防盗链 ○
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) ○
Cookie:SS=Q0=5Lb_nQ; path=/search ○
Connection: close/Keep-Alive ○
Date: Tue, 11 Jul 2000 18:23:51 GMT ○
HTTP请求的细节——消息头 5.
协议版本 状态码 原因叙述
响应组成的四部分:
HTTP响应 6.

协议版本 状态码 原因叙述
状态行 HTTP/1.1 200 OK
多个响应头 Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 979 Date: Wed, 07 Aug 2019 08:25:40 GMT
一个空行
响应实体内

响应结果—页面组成
状态行 a.
304 307 缓存
404 访问资源路径不存在
500 502 503 505 服务器报错
状态码:302 + location 请求重定向 b.
用于存储响应结束数据的一个缓冲区。
常用于存储响应的HTML页面组成,也会存储一些响应结果数据
响应实体内容: c.
HTTP响应中的常用响应头
Location: http://www.it315.org/index.jsp 配合302实现请求重定向 ○
Server:apache tomcat 服务器类型 ○
Content-Encoding: gzip 服务器发送数据的压缩格式 ○
Content-Length: 80 发送数据的长度 ○
Content-Language: zh-cn 发送数据的语言环境 ○
Content-Type: text/html; charset=GB2312 可接受数据格式和语言 ○
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 与请求头的if modified since头呼应 ○
Refresh: 1;url=http://www.it315.org 定时跳转 经过1秒后跳转到url地址。 ○
Content-Disposition: attachment;filename=aaa.zip ○
Transfer-Encoding: chunked ○
Set-Cookie:SS=Q0=5Lb_nQ; path=/search ○
ETag: W/“83794-1208174400000” ○
Expires: -1 通知浏览器是否缓存当前资源,如果这个头的值是一个以毫秒为单位的值就是通
知浏览器缓存资源到指定的时间点,如果值是0或-1则是通知浏览器禁止缓存。HTTP/1.0

HTTP响应细节——常用响应头 7.

知浏览器缓存资源到指定的时间点,如果值是0或-1则是通知浏览器禁止缓存。HTTP/1.0
Cache-Control: no-cache 通知浏览器是否缓存的头 HTTP/1.1 max-Age=5 (秒) ○
Pragma: no-cache 通知浏览器是否缓存的头 HTTP/1.0 ○
Connection: close/Keep-Alive ○
Date: Tue, 11 Jul 2000 18:23:51 GMT ○

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值