一、Servlet
概念
Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
工作模式
- 客户端发送请求至服务器
- 服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器
- 服务器将响应返回客户端
Tomcat容器等级
1.Container 容器,集装箱
2.Engine 引擎容器
3.Host 主机容器
4.Servlet容器(tomcat最低级别的容器)里面包含了一个或多个Context
Context (上下文,背景,环境) 一个context对应一个web项目
Wrapper 容器里的封装部分。
Servlet生命周期
init( ),service( ),destroy( )是Servlet生命周期的方法。代表了Servlet从“出生”到“工作”再到“死亡 ”的过程。Servlet容器(例如TomCat)会根据下面的规则来调用这三个方法:
- init():当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用,我们可以利用init()方法来执行相应的初始化工作。调用这个方法时,Servlet容器会传入一个ServletConfig对象进来从而对Servlet对象进行初始化
- service():每当请求Servlet时,Servlet容器就会调用这个方法。第一次请求时,Servlet容器会先调用init()方法初始化一个Servlet对象出来,然后会调用它的service()方法进行工作,但在后续的请求中,Servlet容器只会调用service方法了
- destory():当要销毁Servlet时,Servlet容器就会调用这个方法,在卸载应用程序或者关闭Servlet容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。
Servlet九大内置对象
- request 对象 request 对象是 javax.servlet.httpServletRequest 类型的对象。 该对 象代表了客户端的请求信息,主要用于接受通过 HTTP 协议传送到服务器的数据。(包括头信息. 系统信息.请求方式以及请求参数等)。request 对象的作用 域为一次请求。
- response 对象 response 代表的是对客户端的响应,主要是将 JSP 容器处理过的对象传回 到客户端。response 对象也具有作用域,它只在 JSP 页面内有效。
- session 对象 session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个 用户都生成一个 session 对象,用于保存该用户的信息,跟踪用户的操作状态。 session 对象内部使用 Map 类来保存数据,因此保存数据的格式为“Key/value”。 session 对象的 value 可以是复杂的对象类型,而不仅仅局限于字 符串类型
- application 对象 application 对象可将信息保存在服务器中,直到服务器关闭,否则 application 对象中保存的信息会在整个应用中都有效。 与 session 对象相比,application 对象生命周期更长,类似于系统的“全局变量”。
- out 对象 out 对象用于在 Web 浏览器内输出信息,并且管理应用服务器上的输出缓 冲区。 在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲 区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输 出流。
- pageContext 对象 pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP 页面的 out. request. reponse. session. application 等对象。 pageContext对象的创建和初始化都是由容器来完成的,在 JSP 页面中可 以直接使用 pageContext 对象。
- config 对象 config 对象的主要作用是取得服务器的配置信息。通过 pageConext 对象 的 getServletConfig() 方法可以获取一个 config 对象。 当一个 Servlet 初始化时,容器把某些信息通过config 对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。
- .page 对象 page 对象代表 JSP 本身,只有在 JSP 页面内才是合法的。 page 隐含对 象本质上包含当前 Servlet 接口引用的变量,类似于 Java 编程中的 this 指针。
- .exception 对象 exception 对象的作用是显示异常信息,只有在包含isErrorPage=“true” 的页面中才可以被使用,在一般的 JSP 页面中使用该对象将无法编译 JSP 文件。
Servlet获取表单信息
二、MVC
MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑、数据与界面显示分离。把众多的业务逻辑聚集到一个部件里面,当然这种比较官方的解释是不能让我们足够清晰的理解什么是MVC的。用通俗的话来讲,MVC的理念就是把数据处理、数据展示(界面)和程序/用户的交互三者分离开的一种编程模式。