使用servlet规范来编写一个应用
1、继承HttpServlet抽象类就可以了
@WebServlet("/hel")
public class MyServlet extends HttpServlet {
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("请求到达Servlet了");
System.out.println("响应从Servlet返回了");
}
@Override
public void init() throws ServletException {
System.out.println("Servlet初始化");
}
@Override
public void destroy() {
System.out.println("Servlet被销毁");
}
}
2、servlet规范还提供了了filter组件
@WebFilter("/hel")
public class MyFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("过滤器初始化");
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("请求到达过滤器了");
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy() {
System.out.println("过滤器销毁");
}
}
@WebFilter("/hel")
public class MyFilter2 implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("过滤器2初始化");
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("请求到达过滤器2了");
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy() {
System.out.println("过滤器2销毁");
}
}
3、把这个应用放入servlet容器,比如tomcat,启动后控制台打印
过滤器2初始化
过滤器初始化
4、访问"/hel",控制台打印
Servlet初始化
请求到达过滤器了
请求到达过滤器2了
请求到达Servlet了
响应从Servlet返回了
5、从打印可以看出servlet和filter的初始化顺序,调用顺序,如果想要深入的了解servlet,就要去看tomcat了。