1什么是servlet?
答:一个运行在服务器端的,用java编写的程序,用来处理客户端的请求。
2HttpServlet基础知识?
1httpservlet继承GenericServlet,是一个抽象类,public abstract class HttpServlet extends GenericServlet implements Serializable,主要用来处理get和post请求的。主要的方法:
Apublic void doGet(HttpServletRequest req,HttpServletResponse res):doGet() 方法处理客户端作出的 GET 请求。
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String protocol = req.getProtocol();
String msg = lStrings.getString("http.method_get_not_supported");
if(protocol.endsWith("1.1"))
resp.sendError(405, msg);
else
resp.sendError(400, msg);
}
Bpublic void doPost(HttpServletRequest req,HttpServletResponse res):doPost() 方法处理客户端作出的 POST 请求。
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String protocol = req.getProtocol();
String msg = lStrings.getString("http.method_post_not_supported");
if(protocol.endsWith("1.1"))
resp.sendError(405, msg);
else
resp.sendError(400, msg);
}
3javax.servlet 包的主要接口:
1ServletConfig 接口:在初始化的过程中由 Servlet 容器使用
2ServletContext 接口:定义 Servlet 用于获取来自其容器的信息的方法
3ServletRequest 接口 :向服务器请求信息
4ServletResponse 接口 :响应客户端请求
4javax.servlet 包的主要类:
1ServletInputStream: 类用于从客户端读取二进制数据
2ServletOutputStream 类:用于将二进制数据发送到客户端
5javax.servlet.http 包的接口:
1HttpServletRequest 接口:提供 HTTP 请求信息
2HttpServletResponse 接口:提供 HTTP 响应
6Servlet 的生命周期
Servlet 容器创建 Servlet 的一个实例
Servlet 的生命周期就是指创建 Servlet 实例之后其存在的时间以及何时消失
生命周期的 3个方法为:init(),service(),destory().
7生命周期的各个阶段为:
A 实例化:Servlet 容器创建 Servlet 的实例
B 初始化:该容器调用 init() 方法
C 服 务:如果请求 Servlet,则容器调用 service() 方法
D 销 毁:销毁实例之前调用 destroy() 方法
E 不可用:销毁实例并标记为垃圾收集
8一个简单的 Servlet 实例:
9Servlet 的部署
web.xml文件中配置Servlet:
一个处理get请求的例子:
10:总结:
1Servlet 运行于服务器上,它接受请求并用请求的数据响应客户端
2HTTP 是一个广泛使用的协议,用于在客户端和服务器之间传输数据
3Servlet 广泛使用 HTTP 协议,因此称为 HTTP Servlet
4HTTP Servlet 发送 HTTP 请求并接收 HTTP 响应
5Servlet API 包含在两个包中,即 javax.servlet 和 javax.servlet.http 中
6Servlet 的生命周期包含三种方法,分别是 init()、service() 和 destroy()
7Servlet 既可以扩展 GenericServlet 类,也可以扩展 HttpServlet 类