网页开发学习笔记——Servlet

Servlet

Web应用模型

什么是web应用?
web应用即可通过web访问的应用程序,由客户端和服务器两部分组成,二者通过HTTP协议交互。
HTTP是Web应用最常用的协议。它工作在请求响应模式下,一次请求处理流程包含如下四个步骤。
(1)客户端向服务器发送一个请求,请求头部包含请求的方法、URI、协议版本,以及包含请求修饰符、客户端信息和内容的类似MIME的消息结果。
(2)服务器接收到请求信息后建立与客户端的连接。
(3)服务器对客户端提交的请求信息进行处理,并最终返回一个响应,内容包括消息协议的版本、成功或失败编码加上包含服务器信息、实体元信息以及其他内容。
(4)服务器断开与客户端的连接。
*HTTP协议是无状态且无连接的,同一用户每次访问服务器时服务器的响应过程相同;且服务器不会保持与客户端的永久连接,一旦服务器产生响应并返回给客户端,服务器就断开与客户端的连接。

Servlet基础

Servlet定义

Servlet是服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。它不是独立的应用程序,没有main方法;由另外一个应用程序(容器)调用。
JSP与Servlet关系密切,所有JSP程序在执行时都被编译转变成Servlet。

Servlet的主要方法

  • init方法,初始化
  • service方法组(主要是doGet、doPost方法)
  • destroy方法

Servlet工作流程

(1)客户端将请求发送到服务器。
(2)第一次请求Servlet时,服务器上的Web容器调用init方法实例化(装入)Servlet,并为Servlet进程创建线程。请注意,Servlet是在出现第一个请求时装入的,在服务器关闭之前不会卸载它。
(3)Web容器将请求信息发送到Servlet。
(4)Servlet创建一个响应,并将其返回到Web容器。Servlet使用客户端请求中的信息以及服务器可以访问的其他信息资源(如资源文件和数据库等)来动态构造响应。
(5)Web容器将响应返回客户端。
(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destroy方法退出。
*每个Servlet都对应一个URL地址。Servlet可以作为显式URL引用调用,或者嵌入在HTML中并从Web应用程序调用。
*每个Servlet都对应一个URL地址。Servlet可以作为显式URL引用调用,或者嵌入在HTML中并从Web应用程序调用。
*当Web容器接收到对Servlet的请求,Web容器会产生一个新的线程来调用Servlet的service方法。service方法检查HTTP请求类型(GET、POST、PUT、DELETE等),然后相应地调用Servlet组件的doGet、doPost、doPut、doDelete等方法。

POST和GET区别?

Post一般在需要更新Server资源时调用,其参数被打包在数据包中传送给服务器;Get一般在获取资源时调用,其参数附加在请求URL后直接传给服务器。

什么时候用doPost()什么时候用doGet()?

  • doPost方法一般用来处理客户提交的请求,doGet一般用来把数据发送给客户;
  • 表单method设置为get时用doGet,设置为post时用doPost;
  • 保险起见,在做数据处理时可以新建一个函数,然后再doGet和doPost方法里面都调用这个函数。

多请求处理

Servlet由Web容器装入,一个Servlet同一时刻只有一个实例,并且它在Servlet的使用期间将一直保留。当同时有多个请求发送到同一个Servlet时,服务器将会为每个请求创建一个新的线程来处理客户端的请求。

你可能感兴趣的:(网页开发学习笔记——Servlet)