- Servlet 3.x之后引入了“注解Annotation”特性
- 注解用于简化Web应用程序的配置过程
- Servlet核心注解:
@WebServlet
@WebServlet
通过使用注解,省去了去xml中配置的这一项,大大减轻工作量
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/anno")
public class AnnotationServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().print("这是一个 Annotation Servlet");
}
}
启动时加载Servlet
在启动时就加载,提升运行速度
- Web.xml使用
<load-on-startup>
设置启动加载 -
<load-on-startup>
0~9999<、load-on-startup>
- 通过注解@WebServlet()实现
- 启动时加载在工作中常用于系统的预处理
此处设置了
loadOnStartup
,同时还是必须设置urlPatterns
地址才可以。
CreateServlet
@WebServlet(urlPatterns = "/create", loadOnStartup = 0)
public class CreateServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("正在创建数据库");
}
}
ImportServlet
@WebServlet(urlPatterns = "/import", loadOnStartup = 1)
public class ImportServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("正在导入数据...");
}
}
AnalysisServlet
@WebServlet(urlPatterns = "/analysis", loadOnStartup = 2)
public class AnalysisServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("正在分析数据...");
}
}
Servlet在启动的时候就进行了加载,常用作服务的启动加速