一、架构

javaweb是使用Servlet开发B/S架构的WEB应用程序。

C/S  B/S 区别有如下八个方面的不同:
1.硬件环境不同
  C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
  B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行 
2.对安全要求不同 
  C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
  B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
3.对程序架构不同 
  C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
  B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求。

4.软件重用不同 
  C/S 程序构件的重用性不如在B/S要求下的构件的重用性好.
  B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.

5.系统维护不同  
  C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级时比较困难. 甚至可能是再做一个全新的系统
  B/S 构件组成,方便个别构件的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级. 
6.处理问题不同 
  C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
  B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小. 
7.用户接口不同 
  C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
  B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 
8.信息流不同 
  C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
  B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。

 

二、web资源

  1. 静态web资源——数据始终不变,浏览器能直接看懂,如html、css、jpg…
  2. 动态web资源——数据由程序产生,不同时间点访问web页面看到的内容不相同;动态页面要先转成html静态页面,才能浏览器显示;Java中,动态web开发技术统称为JavaWeb。如Servlet、Jsp

三、相关概念

    Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。

 

Servlet容器——Tomcat

Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。

JRE为Java提供运行时环境。

五、http协议  

  1. hypertext transfer protocol(超文本传输协议)的缩写,w3c制定的通讯协议,规定了浏览器和服务器通信的规则。
  2. 传递内容的就是超文本–HTML–超文档标记语言。然后被浏览器解析
  3. http是TCP/IP 协议集中的一个应用层协议
  4. HTTP协议采用了请求/响应模型

客户端向服务器发送一个请求请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。

服务器以一个状态行作为响应响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

 

网络相关概念

  1. OSI参考模型

物理层–数据链路层–网络层–传输层–会话层–表示层–应用层

  1. TCP/IP参考模型

         网络接入层–网际互联层–传输层–应用层

  1. https协议 安全的http协议

4. TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,分别是:网络访问层、网际互联层、传输层主机到主机)、和应用层

(1). 应用层

应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等.

(2). 传输层

传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议TCP)和用户数据报协议UDP).

TCP协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务.

(3). 网际互联层

网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有三个主要协议:网际协议IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。

IP协议是网际互联层最重要的协议,它提供一个可靠无连接数据报传递服务

(4). 网络接入层(即主机-网络层)

网络接入层与OSI参考模型中的物理层数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议ARP)工作在此层,即OSI参考模型的数据链路层。

 

六、请求、响应

请求消息的结构:

一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。

响应消息的结构:

         一个状态行、若干消息头、以及实体内容 ,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。

状态码:

  • 200 :请求成功,浏览器会把响应体内容显示在浏览器中
  • 302 :请求重定向,跳转到其他页面 
  • 304 :再次访问未修改的页面(刷新),浏览器会去读缓存中的页面内容
  • 404 :找不到资源 
  • 500 :服务器出错

   

请求方式:

GET请求:地址栏输入;提交表单(method=“get”),单击超链接。

POST请求:提交表单(method=“post”)

 

七、Web程序结构

一个 web 应用程序是由一组 Servlet、HTML 页面、类以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在

组成 web 应用程序的这些文件要部署在相应的目录层次中,根目录代表整个 web 应用程序的”根”

通常将 web 应用程序的目录放在 webapps 目录下,在 webapps 目录下的每一个子目录都是一个独立的 web 应用程序,子目录的名字就是 web 应用程序的名字,也就是 web 应用程序的“根”。用户通过 web 应用程序的”根”来访问 web 应用程序中的资源。

 

版权声明:本文为skisqibao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/skisqibao/p/9567623.html