xixiJava Web 动态Web资源开发技术统称JavaWeb
静态Web 提供给所有人看的数据始终都不会发生变化
技术栈:HTML CSS
动态Web 提供给所有人看的数据始终是变化的,不同人在不同时间地点看到的数据信息不同
技术栈:Servlet/JSP, ASP, PHP
Web应用程序
是可以提供给浏览器访问的程序。 a.html b.html...都是可以被外界访问对外界提供服务的多个web资源。
能访问到的任何一个页面或资源都一定存储在世界的某一台计算机上。通过URL统一资源定位符进行定位。
Web应用程序中所有Web资源存放在同一文件夹下,Web应用程序利用Tomcat服务器运行。
一个Web应用程序由多部分组成(静态Web 动态Web)
html,css,js
jsp,servlet
java程序
jar包
配置文件(Properties)
web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来同一管理。
静态Web
缺点:
Web页面无法动态更新,所有用户看到的都是同一个页面,只能使用JavaScript做一些轮播图伪动态。
无法和数据库交互(数据无法持久化,用户无法交互)
动态Web
缺点:
假如服务器的动态Web资源出现了错误,需要重新编写后台程序,网站停机维护重新发布
优点:
Web页面可以动态更新,所有用户看到的都是不同的页面
可以与数据库交互(数据持久化)
Web服务器
开发语言
ASP 最早流行 微软的 实用于C# 在HTML嵌入VB脚本,及其混乱,难以维护。
PHP开发速度快,功能强大,代码简单,跨平台,无法承载大访问量只能停留在中小型网站。
JSP本质是Servlet,是B/S架构,基于java语言,可以承载三高:高可用,高并发,高性能
Web服务器:被动接受用户请求,返回响应
IIS 微软的 跑ASP或windows中自带的
Tomcat 免费开源轻量级应用服务器,开发JSP首选,运行JSP和Servlet。
Tomcat服务器
1.下载解压
2.了解配置文件和目录结构
3.了解这个东西是起何作用
启动Tomcat
点击bin--点击startup.batd
浏览器输入http://localhost:8080/测试是否成功显示官网
关闭Tomcat
点击运行文件shutdown.bat或直接关闭DOS窗口
可能遇到的问题
1.Java环境变量没有配置
2.闪退问题:需要配置兼容性
3.乱码问题:配置文件中设置
Tomcat中可以配置主机的端口号,可以配置主机域名名称
Tomcat默认端口8080 http 80 https 443 mysql 3306
在sercer.xml中如下位置修改端口号
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改主机名称localhost 默认网站应用存放位置webapps
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
高难度面试题:请你谈谈网站是如何进行访问的?
1.输入域名
2.检查本机的C:\Windows\System32\drivers\etc\hosts 配置文件下有没有这个域名映射;
有,直接返回对应的ip地址,这个地址中有我们需要访问的web程序,可以直接访问。
没有,去DNS服务器找,找到的话就打开,找不到就返回找不到信息。
发布一个Web网站
将自己写好的网站放到Tomcat服务器中的Webapps文件夹里就可以访问了
webapps中的结构:
http
超文本传输协议(Hyper Text Transfer Protocol,HTTP,默认端口80)是一个简单的请求-响应协议。
文本:HTML,字符串...
超文本:图片,视频,音乐,地图,定位...
Https:安全的 443端口
http的两个时代
Http1.0 协议:HTTP/1.0 客户端与Web服务器连接后,只能获得一个Web资源,然后断开连接。
Http2.0 协议:HTTP/1.1 客户端与Web服务器连接后,可以获得多个Web资源。
http请求
客户端--发送请求(Request)--服务器
General
Request URL: https://www.baidu.com/ //请求地址
Request Method: GET //get/post方法
Status Code: 200 OK //状态码 200 3 4 5
Remote Address: 220.181.38.149:443 //远程地址
Referrer Policy: unsafe-url
请求行
请求方式:get,post,head,delete,put,tract....
get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
post:请求能够携带的参数无限制,大无限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效
Requset headers 消息头
Accept: text/html //告诉浏览器它所支持的数据类型
Accept-Encoding: gzip, deflate, br //支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: zh-CN,zh;q=0.9 //告诉浏览器它的语言环境
Cache-Control: max-age=0 //缓存控制
Connection: keep-alive //告诉浏览器请求完成是断开还是保持连接
HOST:主机...
http响应
服务器--响应发送-- 客户端
Response headers
Bdpagetype: 2
Bdqid: 0xa46cc55f000542db
Cache-Control: private //缓存控制
Connection: keep-alive //连接
Content-Encoding: gzip //编码
Content-Type: text/html;charset=utf-8 //类型
Date: Fri, 04 Mar 2022 04:52:30 GMT
Expires: Fri, 04 Mar 2022 04:52:29 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=565; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=35834_35105_35830_35979_35911_34584_35948_35804_35955_35316_26350_35883_35877_36009; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1646369550021613031411848061731517842139
Transfer-Encoding: chunked
X-Frame-Options: sameorigin
X-Ua-Compatible: IE=Edge,chrome=1
响应体
Accept: text/html //告诉浏览器它所支持的数据类型
Accept-Encoding: gzip, deflate, br //支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: zh-CN,zh;q=0.9 //告诉浏览器它的语言环境
Cache-Control: max-age=0 //缓存控制
Connection: keep-alive //告诉浏览器请求完成是断开还是保持连接
HOST:主机...
Refresh:告诉客户端多久刷新一次
Location:让网页重新定位
状态码
200:请求响应成功
4** 404:找不到资源
3**请求重定向:转到所给的新位置去
5**服务器代码错误 502网关错误
面试题:
当你在浏览器地址栏输入地址并回车的一瞬间页面能够展示回来,经历了什么?