Java web基础

一、C\S架构

1、概念

C是英文单词“Client”的首字母,即客户端的意思,C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。

C/S结构是一种软件系统体系结构,也是生活中很常见的。这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。

2、优缺点

C/S 模式的优点1.由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。2.操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。3.C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。C/S 模式的缺点1.需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。2.兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。3.开发成本较高,需要具有一定专业水准的技术人员才能完成。

二、B\S架构

1、概念

B/S是Brower/Server的缩写,客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装oracle或SQL Server通过等数据库。

在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现。但主要事务逻辑在服务器端实现,浏览器通过Web Server同数据库进行数据交互。

Client/Server是建立在局域网的基础上的。Browser/Server是建立在广域网的基础上的。

2、优缺点

B/S结构的优点(1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。(2)、业务扩展简单方便,通过增加网页即可增加服务器功能。(3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)、开发简单,共享性强B/S 模式的缺点(1)、个性化特点明显降低,无法实现具有个性化的功能要求。(2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。(3)、页面动态刷新,响应速度明显降低。(4)、无法实现分页显示,给数据库访问造成较大的压力。(5)、功能弱化,难以实现传统模式下的特殊功能要求。

三、HTTP协议

1、概念

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

2、http协议工作流程

HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

以下是 HTTP 请求/响应的步骤:

1、客户端连接到Web服务器

一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。

2、发送HTTP请求

通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

3、服务器接受请求并返回HTTP响应

Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

4、释放连接TCP连接

若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

5、客户端浏览器解析HTML内容

客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;

2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;

3、浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;

4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;

5、释放 TCP连接;

6、浏览器将该 html 文本并显示内容;

3、主要特点

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。支持B/S及C/S模式。

4、Web服务器原理

1、概述

Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要是遵循HTTP协议而设计的网络应用程序都可以是Web客户端。

Web服务器和HTTP服务器可以说是同一个东西,当然非得细分的话,HTTP服务器是建立在HTTP协议之上的提供文档浏览的服务器,更多的是提供静态的文件。而Web服务器涵盖了HTTP服务器(这一点可以自行百度百科), Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

Web服务器 约等于 HTTP服务器 + 其他服务。

2、web服务器工作图解

图解描述:

(1) 用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。

(2) 浏览器与对端服务程序建立TCP连接。

(3) 浏览器将用户的事件按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。

(4) 浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。

(5) 服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。

(6) 得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。

(7) 将结果装入缓冲区,或是HTML文件、或是一张图片等。

(8) 按照HTTP协议格式将(7)中的数据打包

(9) 服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。

(10) 浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。

(11) 浏览器将HTML文件展示在页面

五、Java web开发环境与搭建

jdk下载、安装、配置环境变量

下载:

安装:

双击安装一路下一步即可。因为安装JDK会自动安装JRE,所以安装过程中弹出安装jre的窗口是可以直接关掉的。

配置环境变量:

右键单击“我的电脑”图标,选择“属性”。

如果电脑桌面上没有我的电脑图标,按Window + E打开文件资源管理器,左侧有我的电脑图标。

点击高级系统设置 -> 环境变量 -> 新建,填入变量名,变量值后点击确定。

需要添加的变量名和变量值分别有:

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk1.8.0_131

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

选中“系统变量”下的Path,点击编辑,在变量值的末尾加上以下内容后确定保存:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

1

配置好环境变量接下来检验是否成功:

Window +R,输入cmd后点击确定打开命令窗口,如果配赠正确输入java会显示如下信息:

输入javac会提示如下信息:

参考博文:https://www.cnblogs.com/telwanggs/p/9459605.html

web 向java_Java web基础相关推荐

  1. Linux下Web服务器应用之基础简介

    Linux下Web服务器应用之基础简介 一.web服务器基本知识: WWW 是 World Wide Web 的缩写 URL:<协定>://<主机地址或主机名>[:port]/ ...

  2. 好程序员web前端分享HTML基础篇

    好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...

  3. 一个Web开发的客户端基础技术测试Demo

    最近参加了一个Web开发的客户端基础技术测试,虽然对于做前台开发的程序员来说比较简单,但对于一直做后台代码编写的程序员想掌握前台开发的基础来说,应该是一个比较好的Demo.对于Web初学者来说,也是一 ...

  4. Web前端之JavaScript基础

    Web前端之JavaScript基础 JavaScript介绍 变量 变量类型 基本的数据类型Number String Boolean underfined null typeof运算符 引用的数据 ...

  5. web快速入门之基础篇-js:3_3、简易购物车

    目录 一.前言 二.js代码实例演示 1.简易购物车01_数量变化 (1)实例代码 (2)效果演示 2.简易购物车02_数量价格同步 (1)实例代码 (2)效果演示 一.前言 上一篇介绍了DHTML对 ...

  6. web 移动端开发基础

    web 移动端开发基础 文章目录 web 移动端开发基础 了解视口相关内容 meta 视口标签 掌握二倍图用法 物理像素 & 物理像素比 多倍图 二倍精灵图做法 了解移动端常见选择方案 掌握移 ...

  7. Java Web应用开发_04javaWeb基础

    Java Web应用开发_04javaWeb基础 4.1 XML节内小测 4.2HTTP协议 4.3 搭建开发环境 04javaWeb基础单元测验4 4.1 XML节内小测 1下列关于XML的描述中, ...

  8. 冲击红队第一天 - Web安全介绍与基础入门

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: 冲击红队第一天 ...

  9. web快速入门之基础篇-html:2、基本标签之标题标签、段落标签、换行标签

    目录 一.前言 二.简单实例介绍 实例代码 运行效果 三.要点说明 1.h1到h6 标题标签 2.p 段落标签 3.br 换行标签[单标记] 一.前言 上一篇文章我整理以前上学的笔记是初见 html ...

最新文章

  1. CSS中隐藏内容的3种方法及属性值
  2. 5g的负面影响_设计系统的实施是否会对早期概念产生负面影响?
  3. 如何绕过 TPM 2.0 安装 Windows 11 操作系统?
  4. 【OpenGL从入门到精通(一)】Windows搭建OpenGL的渲染环境,并初始化一个OPenGL窗口
  5. AOP原理解析及Castle、Autofac、Unity框架使用
  6. SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题
  7. 堆、栈、堆栈详谈--复习
  8. 比较两个对象是否一样的代码
  9. jenkins 设置 gitlab web hooks
  10. mysqldump --set-gtid-purged=OFF
  11. 无能的力量 -- 《看见》
  12. 免费开源网站系统有哪些
  13. 【基础总结】——数学知识
  14. 通过HbuilderX启动 微信开发者工具
  15. 简化版SAAS——业务开单选择材料,选择的是库存是40的货品,实际出库的是-38的货品
  16. vue自定义步骤行程条
  17. MERGE操作学习总结
  18. ESP32 擦除flash
  19. OpenCV中图像特征提取与描述
  20. Transformer(“变形金刚”)

热门文章

  1. UVA 141 The Spot Game
  2. DevExpress.XtraBars.Ribbon控件使用系列 (1)创建Ribbon窗体
  3. 热闹庆祝51CTO第二期线下活动圆满完成
  4. 大神TP_英雄联盟:男枪瞬秒大龙,佐伊遍地TP,新版本BUG谁来监管?
  5. 【学习笔记】ABAP OOD设计模式 - 桥接模式
  6. 【ABAP】 汇票收款自动过账FM
  7. Smartform中负号提前解决方法
  8. 我该拿什么拯救你,我的CSDN
  9. 80%的人都混淆的BI和报表之不同
  10. ERROR: 资源短缺 PXA_NO_FREE_SPACE