tomcat :服务器
web应用
(静态web,动态web)
html,css,js
jsp,servlet
java 程序
jar包
配置文件(prooerties)
1.3静态web
.htm,.html这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s1Kfq5r3-1621176767444)(Day22.assets/image-20210516133520220.png)]
静态web存在的缺点
1.web页面无法动态更新,所有用户看到的都是同一个界面
a.轮播图,点击特效:伪动态
b.javaScript[s实际开发中,它用的最多]
c.它无法和数据库交互
1.4动态web
效果因人而异
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jPDfwgL7-1621176767445)(Day22.assets/image-20210516134552437.png)]
缺点
a.加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布
停机维护
动态web存在的缺点
1.web页面可以动态更新,所有用户看到的都是不同的界面
2.它可以与数据库交互(数据持久化:注册,商品信息,用户信息)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXbxlroQ-1621176767446)(Day22.assets/image-20210516134903398.png)]
2.WEB服务器
asp
1.微软:国内最早流行的就是ASP
2.在HTML中嵌入了VB的脚本,ASP+COM
3.在ASP开发中,基本一个页面都有几千行的业务代码,页面机器混乱,难以维护
php
1.PHP开发速度很快,功能很强大,跨平台,代码简单
2.无法承载大访问量的情况(局限性)
JSP/Servlet
B/S:浏览器和服务器
C/S:客户端和服务器
sun公司主推的B/S架构
基于java语言的(大公司,或者一些开源组件,)
可以承载三高问题带来的影响
语法像asp
web服务器
服务器是一种被动的操作,用户处理用户的一些请求和给用户一些
响应信息
IIS
微软的,WINDOWS中自带的ASP
Tomcat
免费开源
可以运行jsp和servlet
下载tomcat
1.安装解压
2.了解配置文件及目录结构
3.这个东西的作用
1、下载
2、解压
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rGdznYLQ-1621176767448)(Day22.assets/image-20210516143436822.png)]
3、启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z1HFnixi-1621176767448)(Day22.assets/image-20210516143415723.png)]
配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gj6wNFLi-1621176767450)(Day22.assets/image-20210516143608097.png)]
可以配置启动的端口号
1.tomcat的默认端口号为:8080
2.mysql:3306
3.http:80
4.https:443
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
可以配置主机的名称
1.默认的主机名为:localhost-》127.0.0.1
2.默认网站应用存放的位置为:webapps
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
面试题:
请你谈谈网站是如何进行访问的?
1.输入一个域名:回车
2.检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有是这个域名映射;
1.有,直接返回对应的ip地址 ,这个地址中,有我们需要访问的web程序,可以直接访问
2.没有,去dns服务器上找,找到的话就返回,找不到就找不到
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gg9qgx1m-1621176767451)(Day22.assets/image-20210516153418462.png)]
发布一个web网站
1.将自己写的网站,放到服务器Tomcat中指定的web应用的文件夹webapps下,就可以访问了
网站应有的结构
--webapps:tomcat服务器的web目录
--ROOT
--ZHANG:网站的目录名
--WEB-INF
classes:java程序
-lib:web应用所一来的jar包
-web.xml:网站配置文件
-index.html 默认的首页
-static
-css
-js
-img
4.Http
4.1什么是Http
Http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上
a.文本:html,字符串。。。。
b.超文本:图片,音乐,视频,定位,地图
https:安全的
4.2 两个时代
http1.0
HTTP/1.0:客户端可以与web服务端连接后,只能获得一个web资源,断开连接
http2.0
HTTP/1.0:客户端可以与web服务端连接后,只能获得多个web资源
4.3 Http请求
客户端–>请求–>服务端
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET get/post方法
Status Code: 200 OK 状态码200
Remote Address: 182.61.200.7:443
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 语言
Cache-Control: max-age=0
Connection: keep-alive
HOST: 主机
1,请求行
请求行中的请求方式:GET
请求方式:Get,Post,HEAD,DELETE,PUT,TRACT
a . get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
b .post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效
2,消息头
Accept: 告诉浏览器,它数支持的数据类型
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
HOST: 主机
4.4 HTPP响应
服务端–>响应–>客户端
Cache-Control: private 缓存控制
Connection: keep-alive 保持连接
Content-Encoding: gzip 编码
Content-Type: text/html 类型
1.响应体
Accept: 告诉浏览器,它数支持的数据类型
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
HOST: 主机
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位
2,响应状态码
200:请求响应成功
3xx:请求重定向
重定向:重新到我给你新位置去
4xx:找不到资源
404:资源不存在
5xx:服务器代码错误 500
502 :网关错误
面试题:
当你的浏览器中地址输入地址并回车的一瞬间到页面能够展示回来,经历了什么?
5.Maven
1.在javaweb开发中,需要使用大量的jar包,我们手动去导入;
2.如何能够让一个东西帮我们导入和配置这个jar包。
由此,Maven诞生了!
5.1Maven项目架构管理工具
我们目前用来就是方便导入jar包的
Maven核心思想:约定大于配置
有约束不要去违反
Maven会规定好你该如何去编写我们的java代码,必须按照这个标准来
5.2下载安装Maven
5.3配置环境变量
配置如下配置
M2_HOME maven目录下的bin目录
MAVEN_HOME maven的目录
在系统的path中配置MAVEN_HOME
5.4阿里云镜像
镜像:mirrors
作用:加速我们的下载
国内建议使用阿里云的镜像
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
5.5本地仓库
在本地的仓库,远程仓库
<localRepository>D:\app\apache-maven-3.8.1\maven-repo</localRepository>