一、web相关概念
1. Web和JavaWeb的概念
- web
Web是全球广域网,也称万维网(www),能够通过浏览器访问的网站
在我们日常的生活中,经常会使用浏览器去访问
百度
、京东
、csdn官网
等这些网站,这些网站统称为Web网站。如下就是通过浏览器访问卓京官网的界面:
- JavaWeb
JavaWeb就是用Java技术来解决相关web互联网领域的技术栈,下面就来讲解什么是技术栈
2. JavaWeb技术栈
了解JavaWeb技术栈执之前,有一个很重要的概念介绍
2.1 软件架构
- C/S :客户端/服务器端
- B/S:浏览器/服务器端
B/S架构
B/S 架构:Browser/Server,浏览器/服务器 架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。大家可以通过下面这张图来回想下我们平常的上网过程:
- 打开浏览器访问百度首页,输入要搜索的内容,点击回车或百度一下,就可以获取和搜索相关的内容
- 思考下搜索的内容并不在我们自己的点上,那么这些内容从何而来?答案很明显是从百度服务器返回给我们的
- 日常百度的小细节,逢年过节百度的logo会更换不同的图片,服务端发生变化,客户端不需做任务事情就能获取最新内容
- 所以说B/S架构的好处:易于维护升级:服务器端升级后,客户端无需任何部署就可以使用到新的版本。
了解了什么是B/S架构后,作为后台开发工程师的我们将来主要关注的是服务端的开发和维护工作。在服务端将来会放很多资源,都有哪些资源呢?
2.2 资源分类
2.2.1静态资源
- 静态资源主要包含HTML、CSS、JavaScript、图片等,主要负责页面的展示。
- 前端网页制作的
三剑客
(HTML+CSS+JavaScript),使用这些技术我们就可以制作出效果比较丰富的网页,将来展现给用户。但是由于做出来的这些内容都是静态的,这就会导致所有的人看到的内容将是一模一样。 - 在日常上网的过程中,我们除了看到这些好看的页面以外,还会碰到很多动态内容,比如我们常见的百度登录效果:
不同人
登录以后在网页的右上角的头像是不同(当然要自己登入设置头像 ),所以不同的用户访问相同的资源看到的内容大多数是不一样的,要想实现这样的效果,光靠静态资源是无法实现的。 - 静态资源意思就是
页面无法动态更新,所有用户看到的都是同一个页面
;
2.2.2动态资源
- 动态资源主要包含Servlet、JSP等,主要用来负责逻辑处理。php
- 动态资源处理完逻辑后会把得到的结果交给静态资源来进行展示,动态资源和静态资源要结合一起使用。
- 动态资源虽然可以处理逻辑,但是当用户来登录百度的时候,就需要输入
用户名
和密码
,这个时候我们就又需要解决的一个问题是,用户在注册的时候填入的用户名和密码、以及我们经常会访问到一些数据列表的内容展示,这些数据都存储在数据库。
3. 数据库
数据库主要负责存储数据
- 浏览器发送一个请求到服务端,去请求所需要的相关资源;
- (源分为动态资源和静态资源,动态资源可以是使用Java代码按照Servlet和JSP的规范编写的内容;
- 在Java代码可以进行业务处理也可以从数据库中读取数据;
- 拿到数据后,把数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好;
- 服务端将静态资源响应给浏览器;
- 浏览器将这些资源进行解析;
- 解析后将效果展示在浏览器,用户就可以看到最终的结果。
4. HTTP协议
在Web应用中,浏览器请求一个URL,服务器就把生成的HTML网页发送给浏览器,而浏览器和服务器之间的传输协议是HTTP[TCP|IP协议中的一种],所以:
- HTML是一种用来定义网页的文本,会HTML,就可以编写网页;
- HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。
HTTP协议是一个基于TCP协议之上的请求-响应协议,它非常简单,我们先使用Chrome浏览器查看新浪首页,然后右击检查选择网络重新加载页面,可以看到浏览器发出的每一个请求和响应:
对于Browser来说,请求页面的流程如下:
- 与服务器建立TCP连接;
- 发送HTTP请求;
- 收取HTTP响应,然后把网页在浏览器中显示出来。
5. web服务器软件概述
- 服务器:安装了服务器软件的计算机
本质上还是一台电脑,那么安装了服务器软件,也就是说,这个电脑是个硬件,我们得安个服务器软件,那么这个电脑才能被称为一台真正的服务器,安装了Web服务器软件,那我的电脑就是一个Web服务器,可以让别人也访问到我.
- 服务器软件:接收用户的请求,处理请求,做出响应
- web服务器软件:接收用户的请求,处理请求,做出响应。
- 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目
- web容器
- 常见的java相关的web服务器软件
- weblogic : oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- websphere : IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范, 收费的。
- JBOSS : JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- Tomcat : Apadhe基金组织,中小型的JavaEE服务器, 仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。
JavaEE : Java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范
二、web环境搭建
实现web程序开发必须在电脑上安装及配置相关软件才能达到目的
- JDK [javabase]
- Eclipse
- Tomcat服务器[重点]
- 数据库
1.1 JDK介绍
1.1.1 概述
- JDK是Java语言的软件开发工具包,主要用干移动设备、嵌入式设备上的iava应用程序。
- JDK是整个iava开发的核心,它包含了java的运行环境和java工具。
1.1.2 JDK下载与安装
下载
安装
傻瓜式安装,解压即安;
2.1.3 JDK环境配置
- 打开设置进入高级系统设置
- 点击环境变量新建一个系统变量如下示例,变量值为jdk安装的路径
- 从系统变量找到path点击新建输入——%JAVA_HOME%\bin(win10系统一下在bin后面加 :即可)
2.1.4 测试JDK
- javac命令
- java命令