第一章
基本概念
web 开发
- web,网页的意思
- 静态web
- html、css提供给所有人看的数据始终不会改变
- 动态web
- 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同。
- 技术栈:servelet/JSP,ASP,PHP
在Java中,动态web资源开发的技术成为Java web
web应用程序
web应用程序:可以提供浏览器访问的程序。
- a.html,b.html多个web资源,这些web资源可以被外界访问,对外界提供服务。
- 能访问到的任何一个资源,都存在于这个世界的某一个角落的计算机上
- URL
- 这个统一的web资源会被放在同一个文件夹下,web应用程序->tomcat:服务器
- 一个web应用由多部分组成(静态web和动态web)
- html,css,js
- jsp,servlet
- java程序
- jar包
- 配置文件
web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理;
静态web
-
.htm,.html这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接读取
-
静态web存在的缺点
- web页面无法动态更新,所有用户看到的都是同一个页面
- 轮播图,点击特效:伪动态
- JavaScript
- 他无法和数据库交互(数据无法持久化,用户无法交互)
- web页面无法动态更新,所有用户看到的都是同一个页面
动态web
页面会动态展示:“web的页面展示效果因人而异”
缺点
- 假如服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序。重新发布
- 停机维护
优点
- web页面可以动态更新,所有用户看到的都不是同一个页面
- 他可以和数据库交互(数据持久化:注册,商品信息,用户信息)
web服务器
技术讲解
ASP
- 微软:国内最早流行的就是ASP
- 在html中嵌入了VB的脚本,ASP+COM
- 在ASP开发中,基本一个页面都有几千行的业务代码,页面机器混乱
- 维护成本高
- c#
PHP
- PHP开发速度很快,功能很强大,跨平台,代码很简单
- 无法承载大访问量的情况(局限性)
JSP/servlet
B/S:浏览器和服务器
C/S:客户端和服务器
- sun公司主推的B/S架构
- 基于Java语言(所有的大公司,或者一些开源的组件,都是用java写的)
- 可以承载三高问题带来的影响
web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些相应信息。
Tomcat
文件夹作用
启动、关闭tomcat
配置
可以配置启动的端口号,可以配置主机的名称
- tomcat的默认端口号为8080
- mysql:3306
- http:80
- https:443
可以配置主机的名称
- 默认的主机名:localhost->127.0.0.1
- 默认的网站存放的位置:webapps
发布一个web网站
将自己写的网站,放到服务器(tomcat)中指定的web应用的文件夹(webapps)下,就可以访问了
网站的架构
- webapps:tomcat服务器的web目录
- root
- wangzhan:网站的目录名
- WEB_INF
- classes:java程序
- lib:web应用以来的jar包
- web.xml:网站的配置文件
- index.html:默认的首页
- static
- html
- css
- js
- img
- WEB_INF
http
基本介绍
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
- 文本:html,字符串…
- 超文本:图片,音乐,视频,定位,地图
- 80
https:安全的
- 443
http请求
客户端发请求给服务器
请求行
请求方式:get,post
- get:能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
消息头
http响应
服务器–响应–客户端
响应体
请求状态码
404:找不到资源
200:请求成功
3**:请求重定向
- 请求重定向:你重新到我给你新位置去
5**:服务器错误(500) 502:网关错误
maven
基本介绍
在Javaweb的开发中,需要使用大量的jar包,maven可以帮我们自动导入和配置。
核心思想
约定大于配置