Servlet没有main()方法,所以Servlet受其他人控制,这个其他人就是容器!而Tomcat就是一种容器。

容器向Servlet提供Http请求和Http响应;容器来调用Servlet的doGet()方法、doPost()方法。

Tomcat(容器)能做什么?1.通信支持(Servlet与WEB服务器之间的沟通桥梁) 2.生命周期管理(加载类、实例化、初始化、调用方法、销毁) 3.多线程支持 4.声明方式实现安全 5.JSP支持(把JSP翻译成Java代码)

将Servlet部署到Tomcat容器时,会创建一个相当简单的XML文档(web.xml),这称为部署描述文件。

部署描述文件(web.xml)不只是为了映射Servlet,还可以对web应用的其他地方进行定制,包括安全角色、错误页面、标记库、初始配置信息等。

业务逻辑与表示要分离,这不论在哪一种类型的应用中,都是不变的真理。(我还不大清楚什么是业务逻辑)

Servlet&JSP世界中的MVC设计模式:模型:普通Java类,包含具体的业务逻辑与状态。换句话说,模型知道用什么规则来得到和更新状态(可能就是实体类和DAO类);视图:JSP,负责表示方面。它从控制器得到模型的状态;控制器:Servlet,从请求获得用户输入,并明确这些输入对模型有什么英雄。

Tomcat容器本身也能作为一个基本的Http服务器,但是在Http服务器功能方面,Tomcat没有Apache那么健壮。

一个完全兼容的J2EE应用服务器,必须包含一个Web容器和一个EJB容器

Head First Servlets & JSP 学习笔记 第二章 —— Web应用体系结构的更多相关文章

  1. Head First Servlets & JSP 学习笔记 第一章 —— 前言和体系结构

    URL,Uniform Resource Locatiors,统一资源定位符. http:// www.wickedlysmart.com :80 /beeradivice/select /beer1 ...

  2. Head First Servlets & JSP 学习笔记 第九章 —— 使用JSTL

    JSTL1.1 不是JSP2.0规范的一部分!你能访问Servlet和JSP API 不意味着你能访问JSTL! 使用JSTL之前,需要将两个文件("jstl.jar" 和 &qu ...

  3. J2EE学习笔记-第二章(Web应用初步)

    首先要理解一些概念的词语,到底这些是什么(当我读懂了后,会逐一填补完整,现在我真的有点混淆) web组件-相当于功能性的组件,就像是零件,汽车的轮胎,汽车的门,所有组件组合后,才能成为一辆车,有时候也 ...

  4. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  5. The Road to learn React书籍学习笔记(第二章)

    The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...

  6. [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”

    [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...

  7. [HeadFirst-JSPServlet学习笔记][第二章:高层概述]

    第二章:高层体系结构 容器 1 什么是容器? servelet没有main()方法.它们受控于另一个Java应用,这个Java应用称为容器(Container) Tomcat就是这样一个容器.Web服 ...

  8. Head First Servlets & JSP 学习笔记 第三章 —— MVC迷你教程

    临渊羡鱼,不如退而结网!是时候动手搞事情了! 我们的四大步骤: ①分析用户的视图(也就是浏览器要显示的东西),以及高层体系结构: (这个就是所谓的前端吧?用JSP?JSP可以当成Html来用吧?高层体 ...

  9. Head First Servlets & JSP 学习笔记 第十一章 —— Web应用部署

    jar:java archive(java归档) war:web archive(web归档) war文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式(它实际上就是一个jar文件).建立 ...

随机推荐

  1. docker之数据卷管理

    转自:https://www.cnblogs.com/jsonhc/p/7777811.html docker之数据卷的备份和还原 1.现在利用镜像创建一个nginx的服务容器,并挂载一个数据卷 [r ...

  2. YCSB性能测试工具使用(转)

    在网上查In-Memory NoSQL性能测试的资料时,偶然间发现了这个性能测试工具YCSB,全称为“Yahoo! Cloud Serving Benchmark”.它内置了对常见NoSQL数据库和数 ...

  3. 尚硅谷springboot学习3-helloworld程序

    1.环境准备 –jdk1.8:Spring Boot 推荐jdk1.7及以上:java version "1.8.0_112" –maven3.x:maven 3.3以上版本:Ap ...

  4. MySQL错误[ERR] 1064 - You have an error in your SQL syntax;

    MySQL打开创建函数的开关, 查询创建函数开关是否打开: show variables like '%func%'; 打开创建函数开关: ; 关闭创建函数开关: ;

  5. 21.struts-Action配置.md

    目录 1.Action开发方式 2.通配符 访问地址 [toc] 3.常量 后缀 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法和freema ...

  6. git-02 下载代码

  7. c3 新特性

    渐变 线性渐变 .line {     height: 100px;     /*线性渐变语法*/     background-image: linear-gradient( to right,/* ...

  8. MD5 算法

    MD5 Message Digest Algorithm MD5(中文名为消息摘要算法第 五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321(R. ...

  9. sudo su到root或到其它用户报这种错

    一般不会出现这种情况,除非你进入的这个目录已经被删了.然后切换用户就找不到这个目录,所以报错. 这种情况下我们只要去到一个正常的目录就好了,比如:cd ~ 然后再切换,ok.

  10. 线段树模板(HDU 6356 Glad You Came)

    题目: HDU 6356 http://acm.hdu.edu.cn/showproblem.php?pid=6356 很裸的线段树 #include<bits/stdc++.h> #de ...