JAVA WEB 基础

JAVA WEB 基础

1、C/S

  服务器-客户机模式,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。

  客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。

  在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。

  C/S结构在技术上已经很成熟,它的主要特点是交互性强、具有安全的存取模式、响应速度快、利于处理大量数据。但是C/S结构缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度,进一步的数据拓展困难较多,所以C/S结构只限于小型的局域网。

2、B/S

  浏览器-服务器模式,即Browser-Server(B/S)结构。它是C/S架构的一种改进,可以说属于三层C/S架构。

  第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。第三层是数据库服务器,他扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。

  在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。

3、C/S&B/S

JAVA WEB 基础_第1张图片

4、HTTP协议

  简介:

  http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

  报文格式:

  HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。

  (1)请求报文格式如下: 

    请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体
    请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。
  (2)应答报文格式如下:
    状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体
    状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。 

  http协议工作流程:

  一次HTTP操作称为一个事务,其工作过程大概如下:

  • 用户在浏览器中键入需要访问网页的URL或者点击某个网页中链接;
  • 浏览器根据URL中的域名,通过DNS解析出目标网页的IP地址;
    • 浏览器请求这个页面
    • 在这一步,需要域名系统DNS解析域名,得主机的IP地址。
    • 然后将上面结合本机自己的信息,封装成一个http请求数据包
  • 在HTTP开始工作前,客户端首先会通过TCP/IP协议来和服务端建立链接(TCP三次握手)
  • 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可内容。
  • 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
  • 一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码:Connection:keep-alive,TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

5、WEB服务器原理

  Web服务器的工作原理一般可分成如下4个步骤:连接过程、请求过程、应答过程以及关闭连接。

    • 连接过程就是Web服务器和其浏览器之间所建立起来的一种连接。查看连接过程是否实现,用户可以找到和打开socket这个虚拟文件,这个文件的建立意味着连接过程这一步骤已经成功建立。
    • 请求过程就是Web的浏览器运用socket这个文件向其服务器而提出各种请求。
    • 应答过程就是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。
    • 关闭连接就是当上一个步骤--应答过程完成以后,Web服务器和其浏览器之间断开连接之过程。

  Web服务器上述4个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个线程以及多个进程与多个线程相混合的技术。

6、java web 开发环境与搭建

  安装IDEA:参考微信公众号:软件安装管家

      JAVA WEB 基础_第2张图片

  下载并安装jdk(本人使用版本jdk-8u221-windows-x64)

  JAVA WEB 基础_第3张图片

 

   配置jdk环境变量

JAVA WEB 基础_第4张图片

 

 JAVA WEB 基础_第5张图片

 

 JAVA WEB 基础_第6张图片

 

JAVA WEB 基础_第7张图片

 

   测试jdk的配置 java   javac

 JAVA WEB 基础_第8张图片

 

 JAVA WEB 基础_第9张图片

 

  下载Tomcat

JAVA WEB 基础_第10张图片

 

   根据自己的版本选择

JAVA WEB 基础_第11张图片

 

   解压到非C盘下,C盘中可能因为权限问题出现拒绝访问等,路径不要有中文或特殊字

  Tomcat配置环境变量教程,类似jdk的配置。

JAVA WEB 基础_第12张图片

 

   在Path中添加    %CATALINA_HOME%\bin;

JAVA WEB 基础_第13张图片

 

  测试Tomact的配置 startup.bat

JAVA WEB 基础_第14张图片

 

 

   Tomact窗口不要关闭,保持运行,浏览器中输入地址:http://localhost:8080/,出现如下界面则表示成功。

JAVA WEB 基础_第15张图片

 

 

  下载安装Maven,http://maven.apache.org/download.cgi

  配置Maven环境变量

JAVA WEB 基础_第16张图片

 

 

 JAVA WEB 基础_第17张图片

 

 

  测试 mvn -v

JAVA WEB 基础_第18张图片

  创建web工程

JAVA WEB 基础_第19张图片

JAVA WEB 基础_第20张图片

 

 项目配置在web/WEB-INF下创建两个文件夹classes和lib,classes用来存放编译后输出的classes文件,lib用于存放第三方jar包。

JAVA WEB 基础_第21张图片

 

   配置文件夹路径:File -> Project Structure (快捷键:Ctrl + Shift + Alt + S) 

JAVA WEB 基础_第22张图片

 

 JAVA WEB 基础_第23张图片

 

 JAVA WEB 基础_第24张图片

 

 JAVA WEB 基础_第25张图片

 

 JAVA WEB 基础_第26张图片

 

   配置Tomcat容器

 JAVA WEB 基础_第27张图片

 

JAVA WEB 基础_第28张图片

 

 JAVA WEB 基础_第29张图片

 

 JAVA WEB 基础_第30张图片

 

 JAVA WEB 基础_第31张图片

 

 

  在Tomcat中部署并运行项目

 JAVA WEB 基础_第32张图片

 

 JAVA WEB 基础_第33张图片

 

至此就完成了Java web项目的搭建

 

你可能感兴趣的:(JAVA WEB 基础)