基本概念
前言
web开发:
- web,网页的意思;
- 静态web;
- html,css;
- 提供给所有人看的数据始终不会发生变化。
- 动态web。
- 淘宝,几乎所有的网站;
- 提供给所有人看的数据会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同;
- 技术栈:Servlet/JSP,ASP,PHP。
在Java中,动态web资源开发的技术统称为JavaWeb。
web应用程序
web应用程序:可以提供浏览器访问的程序;
- a.html、b.html...多个web资源,可以被外界访问,对外界提供服务;
- 用户能访问到的任何一个页面或者资源,都存在于世界的某一个角落的计算机上;
- URL:统一资源定位符;
- 这个统一的web资源会被放在同一个文件夹下,web应用程序-->Tomcat:服务器;
- 一个web应用由多部分组成(静态web,动态web)
- html、css、js
- jsp、servlet
- Java程序
- jar包
- 配置文件(Properties) web应用程序编写完毕后,若想提供给外界访问:需要一个服务器来统一管理。
静态web
- .htm、.html这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取(需要网络);
- 静态web存在的缺点
- web页面无法动态更新,所有用户看到的都是同一个页面
- 轮播图,点击特效:伪动态
- JavaScript:实际开发中使用很多
- 它无法和数据库交互(数据无法持久化,用户无法交互)
- web页面无法动态更新,所有用户看到的都是同一个页面
动态web
页面会动态展示: web的页面展示效果因人而异 。
缺点:
- 假如服务器的动态web资源出现了错误,我们需要重新编写我们的 后台程序 ,重新发布;
- 停机维护
优点:
- web页面可以动态更新,所有用户看到的都不是同一个页面;
- 它可以与数据库进行交互(数据持久化:注册,商品信息,用户信息...)
web服务器
技术讲解
ASP
- 微软:国内最早流行;
- 在HTML中嵌入了VB脚本,ASP + COM;
- 在ASP开发中,基本一个页面都有几千行的业务代码,页面极其乱,维护成本高;
- C#;
- IIS服务器。
PHP
- PHP开发速度很快,功能很强大,跨平台,代码很简单;
- 但无法承载大访问量的情况,有局限性。
JSP/Servlet
- sun公司主推的B/S架构(浏览器/服务器);
- 基于Java语言(所有的大公司,或者一些开源的组件,都是用Java写的);
- 可以承载三高问题带来的影响(高并发、高可用性、高性能);
- 语法像ASP,加强市场强度。
web服务器
服务器是一种被动的操作,用来处理用的的一些请求和给用户一些响应信息。
- IIS:微软的;ASP...,Windows中自带的
- Tomcat:是一个免费的开源的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,不过其处理静态HTML的能力不如Apache服务器。
-
安装Tomcat
本来想装Tomcat 10,结果启动之后访问不了http://localhost:8080 ,后来重新下载Tomcat 9就好了。好像是因为jdk的版本。
- Tomcat的默认端口:8080
- 默认的主机名:localhost->127.0.0.1
- 默认网站应用存放的位置为:webapps
-
面试题拓展:
请你谈谈网站是如何进行访问的?
- 输入一个域名、回车
- 检查本机的hosts配置文件下有没有这个域名映射:
- 有:直接返回对应的ip地址
- 没有:访问DNS服务器,找到的话就返回,找不到就返回找不到