JavaWeb基础学习(一)--javaweb概述

一、架构

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

JavaWeb基础学习(一)--javaweb概述

三、相关概念

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

 

Servlet容器——Tomcat

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

JRE为Java提供运行时环境。

JavaWeb基础学习(一)--javaweb概述

五、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参考模型的数据链路层。

 

六、请求、响应

请求消息的结构:

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

JavaWeb基础学习(一)--javaweb概述

响应消息的结构:

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

JavaWeb基础学习(一)--javaweb概述

状态码:

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

   

请求方式:

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

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

 

七、Web程序结构

JavaWeb基础学习(一)--javaweb概述

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

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

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