Servlet基础

Java Servlet详解

什么是Servlet?
Java Servlet 是运行在Web服务器或应用服务器上的Java程序,是在Web上创建动态内容的有效而强大的解决方案之一。Servlet的强大来自于Java技术平台的支撑以及Servlet与Servlet容器的交互。Java平台给Servlet开发者提供了强大的API、面向对象编程、平台无关、强类型、垃圾回收以及其它的JVM的安全机制。
Servlet规范的组成
Web应用程序:
Servlet被规定为一个称为Web应用程序的大型项目的一部分。Web应用程序是一个Web站点的完整资源集合。Web应用程序可以由零个、一个或多个Servlet组成。Servlet容器负责管理Servlet。

Servlet和HTTPServlet:
Servlet规范的主要作用就是定义一个与C/S(客户端/服务器)模型类似的发送内容到客户端的健壮机制。Servlet主要用于创建动态Web内容,并天生支持HTTP。

过滤器:
过滤器在Servlet 2.3规范中开始引入。过滤器提供了一个抽象的方法,在客户端的请求,响应达到请求的终点时控制它。过滤器很好的补充了Servlet,它通常用在审核、内容压缩、日志的方面。

安全:
Servlet已经使用了java虚拟机提供的安全功能,但是Servlet规范同时还定义了控制访问Web应用程序资源的一种机制。

国际化:
Servlet最杰出的功能之一就是能够开发任何语言的内容。这种功能大部分直接来自于Java平台的国际化和本地支持。Servlet API保持了这项功能,并且能够轻松地利用大部分已经存在的语言创建内容。

Servlet生命周期
Servlet遵循三阶段的生命周期:初始化(initialization)、服务(service)和销毁(destruction),其中初始化和销毁通常只执行一次,而服务可以执行多次。
初始化是Servlet生命周期第一个阶段,它代表Servlet需要为请求服务创建和初始化的资源。所有的Servlet必须实现 javax.servlet.Servlet接口,这个接口定义了init()方法以匹配Servlet生命周期的初始化阶段。当容器装载Servlet时,在为请求服务器前触发init()方法。
Servlet生命周期的服务阶段代表Servlet销毁之前的所有与请求的交互。Servlet接口定义了service()方法以匹配Servlet生命周期的服务阶段。Servlet的service()方法在每次请求时被触发一次,并且负责对该请求产生响应。
Servlet生命周期的销毁阶段代表Servlet被容器丢弃。Servlet接口定义了destory()方法以匹配Servlet生命周期的销毁阶段。每次Servlet将要被停止使用时,容器就调用destory()方法,允许Servlet优雅地停止并清理它所创建的资源。

Servlet与HTTP协议
Web上的内容主要通过HTTP协议访问,基本的Servlet对HTTP是一无所知的,但是Servlet为此专门设计了一个特别的Servlet实现:javax.servlet.http.HttpServlet。
我们谈到术语Servlet时,通常暗指Servlet是HttpServlet的实例。Web上的绝大部分事务是使用HTTP协议,我们浏览的每个网页都是用HTTP协议传输的,因而我们在浏览网页时使用http://前缀。Servlet以javax.servlet.http.HttpServlet类的形式实现对HTTP协议的支持。
如前所述,Servlet生命周期由三部分组成:初始化,服务和销毁。HttpServlet对象共享该生命周期,但是根据HTTP协议对其略做修改。HttpServlet对象实现的service()方法在每个服务器请求被调用时,将调用七个不同的辅助方法之一。这七个方法直接与七个HTTP方法相关,分别被命名为doGet(),doPost(),doPut(),doHead(),doOptions(),doDelete(),和doTrace()。被调用的辅助方法与HTTP请求的类型匹配。
HttpServlet编程很简单。类javax.servlet.http.HttpServlet负责处理HTTP请求和响应的大部分内容,只需要开发者覆盖需要定制的方法。控制指定的请求和响应是通过javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse这两个对象,这两个对象都是在触发HTTP服务方法是作为参数传递。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值