01Tomcat&Http协议-授课

Tomcat&Http协议-授课

1 企业开发简介

1.1 JavaEE规范

  • JavaEE(Java Enterprise Edition):Java 企业版
  • 它是由 SUN 公司领导、各个厂家共同制定并得到广泛认可的工业标准
  • JavaEE 早期叫做 J2EE,但是没有继续采用其命名规则。J2EE 的版本从 1.0 开始到 1.4 结束。而 JavaEE 版本是从JavaEE 5 版本开始,目前最新的版本是 JavaEE 8
  • JavaEE 规范是很多 Java 开发技术的总称。这些技术规范都是沿用自 J2EE 的。一共包括了 13 个技术规范
  • 包括:JDBC,JNDI,EJB,RMI,IDL/CORBA,JSP,Servlet,XML,JMS,JTA,JTS,JavaMail,JAF

1.2 Web概述和资源分类

1.2.1 Web概述

  • WEB 在计算机领域中代表的是网络
  • 像我们之前所用的 WWW,它是 World Wide Web 三个单词的缩写,称为:万维网
  • 网络相关技术的出现都是为了让我们在网络的世界中获取资源,这些资源的存放之处,我们把它叫做网站
  • 我们通过输入网站的地址(网址),就可以访问网站中提供的资源(不区分局域网或广域网)

1.2.2 资源分类

  • 静态资源
    • 网站中提供给人们展示的资源是一成不变的,也就是说不同人或者在不同时间,看到的内容都是一样的
    • 例如:我们看到的新闻,网站的使用手册,网站功能说明文档等等
    • 作为开发者来说,我们编写的 HTML、CSS、JavaScript 都属于静态资源
    • 注意:这里说的是js文件本身属于静态资源,但是js可以实现界面动态效果
  • 动态资源
    • 网站中提供给人们展示的资源是由程序产生的,在不同的时间或不同的人由于身份的不同,所看到的内容是不一样的
    • 例如:我们在12306上购买火车票,火车票的余票数由于时间的变化,会逐渐的减少,直到最后没有余票。
    • 作为开发者来说,我们编写的 JSP、Servlet 等都属于动态资源

1.3 系统结构

1.3.1 系统结构简介

  • 在我们前面课程的学习中,开发的都是 Java 工程。这些工程在企业中称之为项目或者产品。它都是有系统架构的

  • 基础结构划分:

    • CS 结构
    • BS 结构
  • 技术选型划分:

    • Model1 模型
    • Model2 模型
    • MVC 模型
    • 三层架构+ MVC 模型
  • 部署方式划分:

    • 一体化结构
    • 垂直拆分结构
    • 分布式结构
    • 微服务结构

1.3.2 C/S结构

  • CS 结构:(Client Server) 客户端+服务器的方式

  • C/S结构的系统设计图如下:
    在这里插入图片描述

1.3.3 B/S结构 ***

  • BS 结构:(Browser Server) 浏览器+服务器的方式
  • B/S结构的系统设计图如下:
    在这里插入图片描述

1.3.4 两种结构的区别及优略

两种结构的区别

第一:硬件环境不同,C/S通常是建立在专用的网络或小范围的网络环境上(即局域网),且必须要安装客户端。而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行。

第二:C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强。

第三:B/S结构维护升级比较简单,而C/S结构维护升级相对困难。

优略

1 C/S:是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。

2 B/S:总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软件就能 实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能使用。

关于课程中结构的选择:我们的课程中涉及的系统结构都是是基于B/S结构。

2 Tomcat服务器

2.1. 服务器介绍

  • 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如 PC 机、智能设备等)提供计算或者应用服务。服务器具有高速的 CPU 运算能力、长时间的可靠运行、强大的 I/O 外部数据吞吐能力以及更好的扩展性

  • 说白了,服务器(硬件)就是更牛逼的电脑

  • 而我们这里所说的服务器,其实是 web 服务器,或者应用服务器。它本质就是一个软件,通过和硬件的相结合,从而达到帮助我们来发布应用的功能,让用户通过客户机访问我们的应用

  • 图示:
    在这里插入图片描述

  • 服务器的概念非常的广泛,它可以指代一台特殊的计算机(相比普通计算机运行更快、负载更高、价格更贵),也可以指代用于部署网站的应用

  • 我们这里说的服务器,其实是web服务器,或者应用服务器。它本质就是一个软件,一个应用作用就是发布我们的应用(工程),让用户可以通过浏览器访问我们的应用

  • 常见的应用服务器,请看下表:

服务器名称说明
weblogic实现了javaEE规范,重量级服务器,又称为javaEE容器
websphereAS实现了javaEE规范,重量级服务器。
JBOSSAS实现了JavaEE规范,重量级服务器。免费的。
Tomcat实现了jsp/servlet规范,是一个轻量级服务器,开源免费。
  • 总结
    • 我们想要将一个项目让广大网民都可以访问,就需要将项目发布到一个web应用服务器中,然后这个web 应用服务器需要安装在一台服务器电脑上
    • 就是说我们的项目,需要web应用服务器(软件)和服务器电脑(硬件)结合之后,才可以让广大网民访问
    • web应用服务器Tomcat是用来管理项目的,而单单只要这个tomcat是不行的,如果咱们将tomcat装到自己的电脑上,有两个问题,1:性能太差,经不起多人访问;2:互联网用户无法访问咱们的电脑
    • 我们需要一台有外网ip地址的,一台真正的服务器电脑
  • Tomcat:是一个软件/应用服务器,用于发布项目,应用
  • 服务器:是一个硬件服务器,真实的一台电脑

2.2 Tomcat介绍

  • Tomcat 是 Apache 软件基金会的 Jakarta 项目组中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成

  • 由于有了 Sun 公司的参与和支持,最新的 Servlet、JSP 规范总是能在 Tomcat 中得到体现

  • 因为 Tomcat 技术先进、性能稳定,而且免费,所以深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器

  • Tomcat 官网:https://tomcat.apache.org/
    在这里插入图片描述

    • 这只猫就是tomcat的logo
  • Tomcat各版本所需支持
    在这里插入图片描述

2.2 Tomcat基本使用

2.2.1 Tomcat下载与安装

Tomcat官网下载地址
在这里插入图片描述

2.2.2 Tomcat目录结构详解 ***

在这里插入图片描述

  • 重要记忆的目录:bin,conf,webapps

2.2.3 Tomcat启动和停止及问题分析解决

1)启动和停止

Tomcat服务器的启动文件在二进制文件目录中:在这里插入图片描述,这两个文件就是Tomcat的启动文件。

Tomcat服务器的停止文件也在二进制文件目录中:在这里插入图片描述,这两个文件就是Tomcat的停止文件。

其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。

启动成功:
在这里插入图片描述

2)启动问题
  • 第一个问题:启动一闪而过

    原因:没有配置环境变量

    解决办法:配置上JAVA_HOME环境变量(一定要确保自己的jdk路径是对的,并且路径不要到bin,是到jdk根路径)

    如果配置过JAVA_HOME还不行,就配置一个CTATLINE_HOME ,路径为tomcat根路径

  • 第二个:Address already in use : JVM_Bind

在这里插入图片描述

​ 原因:端口被占用

​ 解决办法:找到占用该端口的应用

​ 使用cmd命令:netstat -a -o 查看pid 在任务管理器中结束占用端口的进程

  • 第三个:启动产生很多异常,但能正常启动

    原因:Tomcat中部署着很多项目,每次启动这些项目都会启动。而这些项目中有启动报异常的。

    解决办法:

      能找到报异常的项目,就把它从发布目录(webapps)中移除
      
      不能确定报异常的项目,就重新解压一个新的Tomcat
    
  • 第四个:其它问题

    例如:启动产生异常,但是不能正常启动。此时就需要解压一个新的Tomcat启动,来确定是系统问题,还是Tomcat的问题

    所以,此时就需要具体问题,具体分析,然后再对症解决

3)访问自己的界面
  1. tomcat的项目发布目录:我们可以在webapps目录放入自己的项目,这样tomcat启动之后就可以访问这个项目
    在这里插入图片描述

  2. 新建项目:新建hello/hello.html
    在这里插入图片描述

  3. 编写内容:这里没写html的声明,html基本的结构标签,但是浏览器也可以解析
    在这里插入图片描述

  4. 访问
    在这里插入图片描述

2.3 Tomcat 乱码问题

  • 问题描述:启动tomcat之后,控制台(命令行)出现乱码
    在这里插入图片描述

  • 问题解决:

    • 打开tomcat目录下conf/logging.properties文件
    • 修改如下:(将UTF-8改为gbk,因为cmd命令行窗口的字符集是gbk,所以要统一)
      在这里插入图片描述
  • 重新启动tomcat

2.4 IDEA集成Tomcat服务器 ***

  1. 第一步:点击 Run -> Edit Configurations

在这里插入图片描述

  1. 第二步:点击 Templates-> Tomcat Server -> Local(往下拖才能看到Tomcat Server)
    在这里插入图片描述

  2. 第三步:点击 Configure -> Tomcat Home -> 选择 tomcat 所在路径
    在这里插入图片描述

  3. 通过创建项目,验证Tomcat安装成功

    • 创建一个Java Enterprise项目
      在这里插入图片描述
  4. 项目名称
    在这里插入图片描述

  5. 选择语言级别
    在这里插入图片描述

  6. 最终:能看到下方的Tomcat即可
    在这里插入图片描述

2.5 Linux系统安装Tomcat

第一步:找到Tomcat

目录:day01_tomcat和http协议\资料\apache-tomcat-9.0.29.tar.gz

第二步:上传到linux

在crt上 使用 alt+p 
将windows上的软件拖进去即可(root目录)

第三步:进入/home/

cd /home/

第四步:移动 tomcat…tar.gz 到 /home/

mv apache-tomcat-9.0.29.tar.gz /home/

第五步:解压Tomcat

tar -zxvf apache-tomcat-9.0.29.tar.gz

第六步:进入 apache-tomcat-9.0.29/bin

cd /apache-tomcat-9.0.29/bin

第七步:启动tomcat

方式1:
	./startup.sh
方式2:
	sh startup.sh

第八步:访问:http://linuxip地址:8080

**第九步:修改防火墙的规则 **(如果访问不了,执行此步)

方式1:service iptables stop  关闭防火墙(不建议); 用到哪一个端口号就放行哪一个(80,8080,3306...)

方式2:放行8080 端口
	修改配置文件
		cd /etc/sysconfig
		vi iptables
			复制(yy , p)	
				-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
			改成
				-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
		重启加载防火墙或者重启防火墙
			service iptables reload  
			或者
			service iptables restart

2.6 JavaWeb项目创建 ***

2.6.1 JavaWeb工程概述

  • JavaWeb应用是一个全新的应用种类。这类应用程序指供浏览器访问的程序,通常也简称为web应用

  • 一个web应用由多个静态web资源和动态web资源组成,例如:html、css、js文件,jsp文件、java程序、支持jar包、工程配置文件、图片、音视频等等。

  • Web应用开发好后,若想供外界访问,需要把web应用所在目录交给Web服务器管理(Tomcat就是Web服务器之一),这个过程称之为虚似目录的映射

  • web工程目录
    在这里插入图片描述

    • lib应该是libs
    • classes用于存放编译之后的java文件,此文件夹不需要我们自己创建
    • MyAPP.iml是项目的配置文件(idea自动维护,我们不需要管)

2.6.2 JavaWeb应用的创建

  1. 创建项目(新建一个空项目,然后再新建一个web模块)
    在这里插入图片描述

  2. 项目名称
    在这里插入图片描述

  3. 选择语言级别
    在这里插入图片描述

  4. 目录结构

    • src:存放源代码的
    • web:存放项目相关资源的(html、css、js、jsp、图片等)
    • WEB-INF:存放相关配置的(web.xml等)

2.6.3 JavaWeb应用的部署

  • 应用部署,就是项目发布
1)IDEA部署
  1. 点击 Run -> Edit Configurations
    在这里插入图片描述

  2. 点击 Tomcat Server -> Deployment
    在这里插入图片描述

    • Application Context是项目访问路径(项目根路径),/代表默认路径,多个项目中只能有一个默认路径
  3. 点击 Tomcat Server -> Server
    在这里插入图片描述

    • After launch:启动tomcat自动以谷歌浏览器打开首页:http://localhost:8080/ , 这里的/就是刚刚配置的默认路径
    • update resources , 是tomcat启动之后,我们还可能会修改项目,那这时候不用重新启动tomcat,只需要刷新浏览器,就可以看到修改后的内容
  4. 启动 tomcat 服务
    在这里插入图片描述

    • 放个发布的项目就已经在Tomcat下方了:MyWeb
    • 点击 在这里插入图片描述:,启动Tomcat
  5. 验证结果:能看到Conneted to Server就说明启动成功,并且会自动打开项目首页
    在这里插入图片描述

    • 这里为啥显示的是一个 $END$,这是他默认访问的是index.jsp
      在这里插入图片描述
  6. 根路径设置

    • 点击在这里插入图片描述
      ,停止tomcat,然后修改
      在这里插入图片描述
  7. 修改之后,访问的路径就是/webdemo/
    在这里插入图片描述

  8. 改一下首页
    在这里插入图片描述

  9. 效果:不用重启tomcat,因为我们已经配置过 update resources,自动更新资源
    在这里插入图片描述

    注意http://localhost:8080/ 访问项目根路径,相当于访问项目的web目录

    ​ 如果通过url访问某个目录,默认打开此目录中的index.jsp、index.html、index.htm

    ​ 可以配置虚拟路径:Application Context (应用上下文/项目根路径) /webdemo 指向的是项目的web目录

2)war包发布 (了解)
  1. 在项目的 web 路径下打 war 包jar -cvf myweb.war .

    • jar -cvf war包名称 空格 .,最后的一个点代表当前路径
    • 就是就是将当前路径打包成myweb.war
    • 注意:视频中演示的项目名称是webdemo,这里是MyWeb
      在这里插入图片描述
  2. 将打好的 war 包剪切到 tomcat 的 webapps 路径下
    在这里插入图片描述

  3. 启动 tomcat 服务,自动解压 war 包
    在这里插入图片描述

  4. 验证结果
    在这里插入图片描述

2.7 Tomcat配置

2.7.1 Tomcat配置文件介绍 ***

  1. 主配置文件 server.xml
    在这里插入图片描述

    • 8080 端口:tomcat 服务默认端口号。访问 url 地址后必须手动写 :8080
    • 80 端口:HTTP协议采用的端口号。访问 url 地址后不用写 :80
    • 一般我们访问人家的网址都是不用添加8080的,这是因为项目发布之后都会将端口改为80,80端口可以省略
  2. 可以改为80端口,重启tomcat进行测试,访问http://localhost

    1. 扩展:在今日资料中有tomcat其他的配置文件,“day01_tomcat和http协议\资料\扩展资料”,感兴趣的可以先自己了解下,我们后边用到的话会详细介绍
  3. 测试完之后,再改为8080端口

2.7.2 Tomcat配置虚拟目录 (了解)

  • 虚拟目录的作用:可以发布任意目录下的项目
  • 之前我们以war包形式发布的webdemo项目,是必须放到webapps目录下的,那我们能不能将其他目录的项目也发布到tomcat呢?
  • 可以,需要配置虚拟目录
  • 步骤:
  1. 编辑 server.xml 配置文件,找到<Host>标签

  2. 加入以下内容
    在这里插入图片描述

    • path 属性:访问资源的虚拟目录名称
    • docBase属性:项目真实存在的路径
  3. 将之前发布的webdemo,copy到D盘,改名字为my

  4. 重启tomcat,访问:http://localhost:8080/my

3 HTTP协议

3.1 HTTP协议概述***

  • HTTP(Hyper Text Transfer Protocol):超文本传输协议

    • 其实可以理解为:http是传输html的协议/规定
  • HTTP 协议是基于 TCP/IP 协议的

  • 超文本:比普通文本更加强大

  • 传输协议:客户端和服务器端的通信规则(握手规则)
    在这里插入图片描述

    • 注意:JavaScript、CSS、图片资源会自动发起请求
      在这里插入图片描述

    • 发现访问百度之后,不仅仅有www.baidu.com一个请求

    • 还有图片等很多请求

    • 所以在访问一个网址时(默认访问首页),会请求首页所依赖的所有资源(js,css,图片等资源)

  • 补充:

    HTTP协议概念是客户浏览器和服务器一种一问一答的规则,那么必须要有问有答,而且要先问后答。
    但是我们使用<script>,<link><img>标签,没有手动发起请求,但是仍然能从服务器端拿到数据,原因就是:在浏览器遇到<script>,<link>,<img>标签时会自动发出请求。

3.2 HTTP协议组成 ***

  • 由HTTP协议的概念可知,它分为问和答两部分
  • 其中问指的就是请求部分
  • 而答指的就是响应部分

3.2.1 请求部分

1)介绍
  1. 请求的组成部分
    请求行
    请求头
    请求空行
    请求体

  2. 请求的方式
    GET
    POST

  3. 注意:只有 POST 请求方式才有请求体

  4. GET请求方式分析
    在这里插入图片描述

    • ?后边的参数,叫做查询字符串
    • 注意:请求空行和请求体,其实就是一个换行,啥内容都没有
    • 这里老师添加了一个灰色字体,是想让大家知道这是代表啥
    • 补充:请求空行是啥?
      • 最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头
  5. POST请求方式分析
    在这里插入图片描述

2)操作

接下来,我们来实际操作一下,观察一下请求信息在哪看

  1. 找到资料,将这三个文件夹copy到webdemo的web目录下
    在这里插入图片描述

    • login目录下提供了一个login.html
  2. 访问:
    在这里插入图片描述

  3. 打开调试工具-Network,然后点击确定发起登陆请求,如下图观看:
    在这里插入图片描述

  4. 修改登陆表单的提交方式为POST,然后再次发起请求
    在这里插入图片描述

    • post请求的URL后就没有拼接参数

    • 而是以请求体传递了(上图右框中,滚动条,往下滑看到Form Data)
      在这里插入图片描述

3.2.2 响应部分

  1. 响应的组成部分

  2. 响应行

  3. 响应头

  4. 响应空行

  5. 响应体

  6. 响应信息分析
    在这里插入图片描述

  7. 响应头具体在哪看,跟请求头在一起,看上一小节即可

3.3 请求部分详解

3.3.1 请求行详解

请求行:GET /myapp/2.html HTTP/1.1

内容说明
GET请求的方式。(还有POST)
/myapp/2.html请求的资源。
HTTP/1.1使用的协议,及协议的版本。

3.3.2 请求消息头详解

内容说明
Accept告知服务器,客户浏览器所支持的MIME类型。
Accept-Encoding告知服务器,客户浏览器所支持的压缩编码格式。最常用的就是gzip压缩。
Accept-Language告知服务器,客户浏览器所支持的语言。一般都是zh_CN或en_US等。
Referer告知服务器,当前请求的来源。
只有当前请求有来源的时候,才有这个消息头。从地址栏输入的没有来源。
作用:1 投放广告 2 防盗链
Content-Type告知服务器,请求正文的MIME类型。
Content-Length告知服务器,请求正文的长度。
User-Agent浏览器相关信息
Connection: Keep-Alive连接的状态:保持连接
If-Modified-Since告知服务器,客户浏览器缓存文件的最后修改时间。
Cookie(*******)会话管理相关,非常的重要。

3.3.3 请求空行&请求体

  1. 请求空行

    ​ 普通换行,用于区分请求头和请求体

  2. 请求体

    ​ 只有 POST 提交方式才有请求体,用于显示提交参数

3.4 响应部分详解

3.4.1 响应行详解

响应行:HTTP/1.1 200 OK

内容说明
HTTP/1.1使用协议的版本。
200响应状态码
OK状态码描述

常用状态码介绍:

状态码说明
200一切都OK>
302/307请求重定向(客户端行为,两次请求,地址栏发生改变)
304请求资源未发生变化,使用缓存
404请求资源未找到
500服务器错误

3.4.2 响应消息头详解

消息头说明
Location请求重定向的地址,常与302,307配合使用。
Server服务器相关信息。
Content-Type(*******)告知客户浏览器,响应正文的MIME类型。
Content-Length告知客户浏览器,响应正文的长度。
Content-Encoding告知客户浏览器,响应正文使用的压缩编码格式。常用的gzip压缩。
Content-Language告知客户浏览器,响应正文的语言。zh_CN或en_US等等。
Content-Disposition告知客户浏览器,以下载的方式打开响应正文。
Refresh定时刷新
Last-Modified服务器资源的最后修改时间。
Set-Cookie(*******)会话管理相关,非常的重要
Expires:-1服务器资源到客户浏览器后的缓存时间
Catch-Control: no-catch不要缓存,//针对http协议1.1版本
Pragma:no-catch不要缓存,//针对http协议1.0版本

3.4.3 响应空行&响应体

  1. 响应空行

    ​ 普通换行。用于区分响应头和响应体

  2. 响应体

    ​ 将资源文件发送给客户端浏览器进行解析

4 综合案例-Tomcat的具体应用

4.1 静态资源案例-门户类网站的部署和访问

4.1.1 案例介绍

  • 需求:

​ 在浏览器中输入地址,访问静态HTML页面

  • 效果:
    在这里插入图片描述

  • 实现步骤

    1. 创建一个 JavaWEB 项目
    2. 将静态页面所需资源导入到项目的 web 目录下
    3. 修改 web.xml 配置文件,修改默认主页
    4. 将项目部署到 tomcat 中
    5. 启动 tomcat 服务
    6. 打开浏览器测试查看页面

4.1.2 实现步骤

  1. 创建项目
    在这里插入图片描述

  2. 项目名称
    在这里插入图片描述

  3. 项目语言级别(以上三步,以后不再赘述,每次创建项目的步骤都一样)
    在这里插入图片描述

  4. 复制资源

    • 将今日资料“day01_tomcat和http协议\资料\案例一所需资源”,下的所有内容,复制到项目的web目录下
  5. 修改web.xml,修改默认首页

    • 默认主页是index.jsp,我们修改为news/news.html
      在这里插入图片描述
  6. 部署项目,启动tomcat

  7. 访问
    在这里插入图片描述

    • 注意:本项目不能配置Application Context项目根路径,只能默认为/,如果配置news.html的图片将无法显示
    • 当访问到news.html,浏览器会检测html中所有的路径(img,link),再次发起请求,而这些路径如果是相对路径,则会参照当前浏览器中的路径来进行查找

4.2 动态资源的案例-学生管理系统的部署和访问

4.2.1 案例介绍

  • 需求:

​ 把JavaSE进阶阶段的学生管理系统的服务器改用Tomcat实现。

  • 效果:
    在这里插入图片描述

    • 这里我们访问的studentServelt是一个java类
    • 可以直接通过路径访问java类的
    • 然后在控制台打印一句话:“这是我第一个servlet入门案例”

细节说明:

​ 把学生管理系统涉及的HTML和样式以及图片文件拷贝到JavaWeb工程中,在Tomcat中部署工程,然后启动Tomcat服务器,并使用浏览器访问。

4.2.2 Servlet介绍

  • Servlet 是运行在 Java 服务器端的程序,用于接收和响应来自客户端基于 HTTP 协议的请求

  • 如果想实现 Servlet 的功能,可以通过实现 javax.servlet.Servlet 接口或者继承它的实现类

  • 核心方法:service(),任何客户端的请求都会经过该方法
    在这里插入图片描述

4.2.3 实现步骤

  1. 创建一个 JavaWEB 项目
  2. 将静态页面所需资源导入到项目的 web 目录下
  3. 修改 web.xml 配置文件,修改默认主页
  4. 在项目的 src 路径下编写一个类,实现 Servlet 接口
  5. 重写 service 方法,输出一句话即可
  6. 修改 web.xml 配置文件,配置 servlet 相关资源
  7. 将项目部署到 tomcat 中
  8. 启动 tomcat 服务
  9. 打开浏览器测试功能

4.2.4 具体操作

  1. 创建项目web_test2,设置虚拟路径/crm(项目根路径)

  2. copy资源

    • 将“day01_tomcat和http协议\资料\案例二所需资源”下的所有内容,copy为项目的web目录下
    • 复制的资源中html/frame.html是主页
  3. 修改主页为frame.html
    在这里插入图片描述

  4. 部署项目,启动tomcat,首页iframe自动打开的是crm路径
    在这里插入图片描述

    • 其实复制过来的这个项目,目前没用到,我们主要是要处理下边的逻辑,创建servlet

    • 注意:因为frame.html中的路径写死了/crm/xxx,所以我们配置的项目虚拟路径必须是/crm
      在这里插入图片描述

  5. 新建动态资源:servlet

    • 在src目录下新建包:com.itheima.servlet,然后新建StudentServlet类

    • 编写代码:继承Servlet,并且实现他的所有方法
      在这里插入图片描述

    • 然后我们只修改service方法,打印一句话
      在这里插入图片描述

  6. 配置Servlet
    在这里插入图片描述

    • 首先配置servlet节点
      • servlet-name给servlet起别名
      • servlet-class指定servlet类路径
    • 再配置servlet-mapping节点
      • servlet-mapping是给servlet配置访问路径
      • servlet-name指定要给哪个servlet配置路径
      • url-pattern:servlet访问路径
  7. 访问,界面没有内容,我们看控制台
    在这里插入图片描述

  8. 控制台
    在这里插入图片描述

4.2.5 servlet执行流程

  • 流程图
    在这里插入图片描述

    1. 访问/studentServlet
    2. 到web.xml里找url-pattern进行匹配
    3. 匹配成功之后,找到servlet-name同名的servlet节点
    4. 然后找到具体的servlet类:StudentServlet
    5. 然后执行内部的service方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InLoadwetrust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值