什么是Servlet?
Servlet 是 JavaWeb 的三大组件之一,它属于动态资源。Servlet 的作用是处理请求,服务器会把接收到的请求交给 Servlet 来处理,Servlet 通常需要:
- 接收请求数据
- 处理请求
- 完成相应
Servlet 的特性:
- 单例:一个类只有一个对象;当然可能存在多个 Servlet 类;
- 线程不安全的,所以它的效率较高
Servlet 由我们来写,但对象由服务器(Tomcat)来创建,且服务器(Tomcat)来执行相应的方法。
Servlet 的实现方式
- 实现 javax.servlet.Servlet 接口
- 继承 javax.servlet.GenericServlet 类
- 继承 javax.servlet.HttpServlet 类
通常我们会去实现HttpServlet类去完成Servlet,但是学习Servlet要从Servlet接口开始学习。
java.servlet.Servlet 接口
public class AServlet implements Servlet {
/*
* 它是声明周期方法
* 它会在Servletd对象创建之后马上执行,并只执行一次!
* */
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
/*
* 它可以获取Servlet的配置信息
* */
@Override
public ServletConfig getServletConfig() {
return null;
}
/*
* 它是生命周期方法
* 它会被调用多次!!!
* 每次处理请求都调用此方法。
* */
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
/*
* 它可以获取Servlet的信息
* */
@Override
public String getServletInfo() {
return null;
}
/*
* 它是生命周期方法
* 它会在Servletd对象被销毁之前调用,并只执行一次!
* */
@Override
public void destroy() {
}
}
HttpServlet
Servlet 细节
- Servlet 与线程安全
- 不要在 Servlet 中创建成员,创建局部变量即可
- 可以创建无状态成员!