【JavaWeb学习】—Servlet(十三)
原创
©著作权归作者所有:来自51CTO博客作者wx62bdb159cc187的原创作品,请联系作者获取转载授权,否则将追究法律责任
【JavaWeb学习】—Servlet(十三)
一、什么是Servlet?
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Servlet是运行在服务器上的一个java小程序,它可以接收客户端发过来的请求,并响应数据给客户端。
Servlet是JavaWeb的三大组件之一,JavaWeb三大组件指的是Servlet、Filter、Listener。
二、手动实现Servlet程序
- 编写一个类去实现Servlet接口
- 实现Servlet方法,处理请求,并响应数据
- 到web.xml中去配置Servlet程序的访问地址
三、url地址如何定位到Servlet程序去访问
四、Servlet生命周期
- Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程
- 一次创建,到处服务
- 一个Servlet只会有一个对象,服务所有的请求
- 执行Servlet构造函数(实例化)
- 执行init初始化方法(初始化)
- 执行service方法(服务)
- 执行destory销毁的方法(销毁)
public class ServletDemo1 implements Servlet {
//public ServletDemo1(){}
//生命周期方法:当Servlet第一次被创建对象时执行该方法,该方法在整个生命周期中只执行一次
public void init(ServletConfig arg0) throws ServletException {
System.out.println("=======init=========");
}
//生命周期方法:对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("hehe");
}
//生命周期方法:当Servlet被销毁时执行该方法
public void destroy() {
System.out.println("******destroy**********");
}
//当停止tomcat时也就销毁的servlet。
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
}
五、通过继承 HttpServlet 实现 Servlet 程序
public class ServletDemo3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("haha");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("ee");
doGet(req,resp);
}
}
六、整个Servlet类的继承体系