Java Web学习(3)

原创 2018年04月15日 09:11:44

内容概要:

1、什么是Web容器,如何工作的?

2、Servlet与JSP的关系是什么?

3、什么是Model 2 ?



1、Web容器

重要概念:Web容器(Container)是Servlet/JSP唯一认得的HTTP服务器。

容器:持有对象,负责对象的生命周期与相关服务的连接

具体层面,其实就是一个用Java写的程序

抽象层面,可以视为运行Servlet/JSP的HTTP服务器,Servlet/JSP在不同Web容器上运行,而不用理会底层真正的HTTP服务器

用Apache Tomcat作为Web容器

如同JVM介于Java程序与操作系统之间,Web容器是介于实体HTTP服务器与Servlet之间

一个请求/响应的基本例子:

(1)客户端(浏览器)对Web服务器发出HTTP请求

(2)HTTP服务器收到HTTP请求,将请求转由Web容器处理,Web容器会剖析HTTP请求内容,创建各种对象(如HttpServletRequest、HttpServletResponse、HttpSession等)

(3)Web容器由请求的URL决定要使用哪个Servlet来处理请求(事先由开发人员定义)。
(4)Servlet根据请求对象(HttpServletRequest)的信息决定如何处理,通过响应对象(HttpServletResponse)来创建响应。

(5)Web容器与HTTP服务器沟通,Web服务器将响应转换为HTTP响应并传回客户端。

如果有多次请求,就只是启动多个线程处理,而不是重复启动多次JVM,可以大幅减轻性能负担。

然而,Web容器可能会使用同一个Servlet实例服务多个请求,多个请求下,相当于多个线程在共享存取一个对象,因此得注意线程安全问题,避免引发数据错乱。


2、Servlet与JSP的关系

Servlet转化成一个类,继承了HttpJspBase,而HttpJspBase继承自HttpServlet

JSP会被Web容器转译为Servlet的".java"源文件、编译为".class"文件,然后加载容器之中,最后提供服务的还是Servlet实例。


3、MVC与Model 2

MVC:Model、View、Controller,模型、视图、控制器

Model 2 架构上仍将程序职责分为Model、View、Controller

控制器:取得请求参数、验证请求参数、转发请求给模型、转发请求给画面,这些都使用程序代码来实现
模型:接受控制器的请求调用,负责处理业务逻辑、负责数据存取逻辑等,这部分还可依应用程序功能,产生各种不同职责的模型对象,模型使用程序代码来实现。
视图:接受控制器的请求调用,会从模型提取运算后的结果,根据需求呈现所需的画面,在职责分配良好的情况下,基本上可以做到不出现程序代码,因此不会发生程序代码与HTML混杂在一起的情况。




Web 前端工程师课程 第3周 (new)

-
  • 1970年01月01日 08:00

Java Web入门学习总结和索引

Java Web入门的学习总结,包括jsp,Servlet,JavaBean,Listener,Filter等。
  • liuyuan185442111
  • liuyuan185442111
  • 2015-05-02 17:37:11
  • 599

Java Web基础学习(一)

Java的Web开发学习 Web应用程序 Web应用程序是一种可用通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。 ...
  • yzhang6_10
  • yzhang6_10
  • 2016-06-24 22:03:10
  • 4696

java web 学习思路(牛人如何学JAVA)

转自:http://blog.csdn.net/beihangyjs/article/details/5718991 如何学习java(一) 最近论坛上看到好几个朋友都在问,如何学习 Java...
  • DADADIE
  • DADADIE
  • 2015-04-02 09:45:39
  • 3375

Java和web方向的学习路线

Javaweb系统学习路线:Java系统学习路线:第一阶段技术名称第一阶段: Java 基础,包括 Java 语法,面向对象特征,常见API,集合框架。(基础)第二阶段:Java API:输入输出,多...
  • yl1712725180
  • yl1712725180
  • 2018-02-16 10:44:48
  • 151

以Web方向为基础的java学习路线

JAVA学习路线在没自学java之前,我还只会一点点C语言,也就是才熟悉什么叫变量、运算符、标识符,会点简单的循环来做简单的数学运算或这打印图形啥的。然而现在看来,这些已不足以视为有C的基础,最多只能...
  • Tinkle2015
  • Tinkle2015
  • 2016-03-11 23:27:15
  • 2048

Java Web后台学习路线

以下所写只是个人的Java学习路线,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。一、Java基础 推荐一本入门书,个人觉着还不错~ 多敲些例子二、We...
  • zgrgfr
  • zgrgfr
  • 2016-11-26 09:52:20
  • 6390

时尚软件园全站系统

  • 2003年01月16日 00:00
  • 481KB
  • 下载

javaweb学习路线以及web前端学习路线(及供参考)

JSP -> Servlet -> Java SSH Framework Web Container方面,一般Tomcat就够用了,要是想上JBoss也随意。。。这方面有本书《JBoss in ...
  • yuexianchang
  • yuexianchang
  • 2016-09-08 10:03:25
  • 16006

java web开发学习手册

  • 2013年05月01日 12:00
  • 8.92MB
  • 下载
收藏助手
不良信息举报
您举报文章:Java Web学习(3)
举报原因:
原因补充:

(最多只允许输入30个字)