该注解的作用是将使用了@WebServlet或@WebFilter或@WebListener注解标记的类装配到容器中。
package com.example.config;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@WebFilter
public class TestFilter3 implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)req;
System.out.println("[TestFilter3]request url is :"+request.getRequestURI());
filterChain.doFilter(req,resp);
}
}
package com.example.config;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(urlPatterns = "/welcome2")
public class MyServlet2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getOutputStream().println("hello world2...");
}
}
只有在嵌入式WebServer环境下有效