Servlet小结(转载)
http://www.iteye.com/topic/766418
1 .首先,什么是Servlet?
Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servlet规范编写的一个Java类。
2.Servlet是做什么的?
Servlet是处理客户端的请求并将其发送到客户端。
3.Servlet API
1>Servlet框架的组成
Servlet框架是由2个Java包组成:(1)javax.servlet和(2)javax.servlet.http
(1)javax.servlet包中定义了所有Servlet类都必须实现的接口和类。
javax.servlet包的接口为:
ServletConfig接口 ---- 在初始化过程中由Servlet容器使用
ServletContext接口 ---- 定义Servlet用于获取容器信息的方法
ServletRequest接口 ---- 向服务器请求信息
ServletResponse接口 ---- 响应客户端请求
Servlet接口 ---- 定义所有Servlet必须实现的方法
javax.servlet包中的类为:
ServletInputStream类 ---- 用于从客户端读取二进制数据
ServletOutputStream类 ---- 用于将二进制数据发送到客户端
GenericServlet类 ---- 抽象类,定义一个通用的,独立于地层协议的Servlet。
(2)javax.servlet.http包中定义了采用HTTP通信的HttpServlet类。
javax.servlet.http包的接口为:
HttpServletRequest接口 ---- 提供http请求
HttpServletResponse接口 ---- 提供http响应
HttpSession接口 ---- 用于标识客户端并存储有关客户信息
HttpSessionAttributeListener接口 ----实现这个侦听接口用户获取会话的属性列表的改变的通知
javax.servlet.http包中的类:
HttpServlet类 ---- 扩展了 GenericServlet的抽象类,用于扩展创建Http Servlet
Cookie类 ---- 创建一个Cookie,用于存储Servlet发送给客户端的信息
2>Servlet框架的核心
Servlet框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。
4.Http Servlet
HttpServlet是一个抽象类,用来创建用户自己的 HTTP Servlet。HttpServlet类的子类必须至少重写一下方法中的一个:doGet()和doPost()。
HttpServlet类提供doGet()方法来处理GET请求
public void doGet(HttpServletRequest req,HttpServletResponse res)
提供doPost()方法处理POST请求
public void doPost(HttpServletRequest req,HttpServletResponse res)
其中有2个参数:HttpServletRequset和HttpServlerResponse
这2个类实现了ServlerRequset接口和ServletResponse接口
ServletRequest接口中封装了客户请求信息<客户请求方式,参数名,参数值等>
ServletResponse接口 为 Servlet提供了返回相应结果的方法。
5.Servlet体系结构
Servlet-->GenericServlet-->HttpServlet-->用户自定义的Servlet
6.Servlet的生命周期
Servlet的生命周期由Servlet容器控制,该容器创建Servlet的实例。
Servlet生命周期就是指创建Servlet实例后响应客户请求直至销毁的全过程。
1>Serlvet生命周期的三个方法:init()-->service()-->destroy()
2>生命周期的各个阶段:
实例化:Servlet容器创建Servlet类的实例对象
初始化:Servlet容器调用Servlet的init()方法
服务:如果请求Servlet,则容器调用service()方法
销毁:销毁实例之前调用destroy()方法
不可用:销毁实例并标记为垃圾处理
Servlet小结(转载)的更多相关文章
- 梯度提升树(GBDT)原理小结(转载)
在集成学习值Adaboost算法原理和代码小结(转载)中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boos ...
- [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- C#中SqlDataAdapter的使用小结---转载
C#中SqlDataAdapter的使用小结 转载 叁木-Neil 最后发布于2018-06-07 21:29:39 阅读数 8275 收藏 展开 SqlDataAdapter对象 一.特点介绍1.表 ...
- MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet(转载)
转载地址:http://blog.csdn.net/21aspnet/article/details/21867241 1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2) ...
- java Servlet小结
1:什么是Servlet? ① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 2:Servlet 生命周期 Ser ...
- JavaWeb的学习之Servlet(转载自孤傲苍狼)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- Spring mvc中@RequestMapping 6个基本用法小结(转载)
小结下spring mvc中的@RequestMapping的用法. 1)最基本的,方法级别上应用,例如: @RequestMapping(value="/departments" ...
- PLSQL开发笔记和小结(转载)
***************************************** PLSQL基本结构 ***************************************** 基本数据 ...
- 集成学习值Adaboost算法原理和代码小结(转载)
在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类: 第一个是个体学习器之间存在强依赖关系: 另一类是个体学习器之间不存在强依赖关系. 前者的代表算法就是提升(bo ...
随机推荐
- [编织消息框架][传输协议]sctp简单开发
jdk1.7支持sctp协议,需要linux安装sctp支持库 测试代码 public class ServerSCTP { static int SERVER_PORT = 3456; static ...
- 阿里云安全研究成果入选人工智能顶级会议 IJCAI 2019, 业界首次用AI解决又一难题!
8月10日至8月16日,国际人工智能组织联合会议IJCAI 2019(International Joint Conference on Artificial Intelligence 2019)在中 ...
- LRU Cache数据结构简介
什么是LRU Cache LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法. 什么是Cache?狭义的Cache指的是位于CPU和主存间的快速RAM ...
- gulp入门之常见处理方式(三)
整合 streams 来处理错误 默认情况下,在 stream 中发生一个错误的话,它会被直接抛出,除非已经有一个时间监听器监听着 error时间. 这在处理一个比较长的管道操作的时候会显得比较棘手. ...
- kuangbin带我飞QAQ DLX之一脸懵逼
1. hust 1017 DLX精确覆盖 模板题 勉强写了注释,但还是一脸懵逼,感觉插入方式明显有问题但又不知道哪里不对而且好像能得出正确结果真是奇了怪了 #include <iostream& ...
- HDU3374 字符串最大最小表示法模板
一开始没太看懂什么意思,拿笔反复推了一遍才大概知道最大最小表示法是怎么求的,感觉太神奇了... #include <iostream> #include <cstdio> #i ...
- stringstream的使用 UVA 10815
水题题目描述就不写了 主要是发现stringstream真的是好用,可以把string绑定到stringstream中,然后就能以空格为分隔符分割出每个单词,听说每次重新创建stringstream开 ...
- LA5713 Qin Shi Huang's National Road System
题目大意:秦始皇要在n个城市之间修筑一条道路使得任意两个城市均可连通.有个道士可以用法力帮忙修一条路.秦始皇希望其他的道路总长B最短且用法术连接的两个城市的人口之和A尽量大,因此下令寻找一个A / B ...
- workbench使用
1.你是指默认的mysql目录下data里面的'mysql'这个schema没有在workbench里面看到吧?点击菜单-Edit->Preferences里面的SQL Editor,然后把&q ...
- js校验文本框只能输入数字(包括小数)
form表单 <form method="POST" action=""> <input type="text" id=& ...