在2005年之前,所有开发出来的Servlet的程序都必须在web.xml文件之中进行配置才可以生效,当项目的Servlet的达到几百个后,配置web.xml应该是一个非常痛苦的一件事情。但是在2005年之后,随着Annotation的兴起,项目中的Servlet的配置大部分都会选中用Annotation模式完成(不是必须,当路径需要频繁更改的时候还是会选择web.xml配置较为方便)。
1、配置Servlet
如果要想配置Servlet,直接使用“@WebServlet”的Annotation即可,在使用这个Annotation的时候请一定要注意一个问题,必须有该Servlet的映射路径;
import java,io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(urlPatterns="/Hello")
public class HelloServletAnnotation extends HttpServlet{
@Override
protected void doGet(HttpServletRequest,HttpServletResponse resp)throws ServletException,IOException{
resp.getWriter().print("<h1>Hellow World!</h1>");
}
}
2、配置Filter
import java,io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebFilter(urlPatterns = "/*")
public class MyFilter implements Filter{
@Override
public void doFilter(ServlterRequest req,ServletrResponse resp,FilterChain chain)throws IOException,ServletException{
System.out.println("过滤器执行");
chain.doFilter(req,resp);
}
}
3、配置监听器
import java,io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebListener
public class MyListener implements ServletContextListener{
@Overrider
public void contextInitialized(ServletContextEvent sce){
System.out.println("****容器初始化**");
}
}