今天我们来放松下心情,不聊分布式,云原生,来聊一聊初学者接触的最多的javaweb基础。几乎所有人都是从servlet,jsp,filter开始编写自己的第一个helloworld工程。那时,还离不开web.xml的配置,在xml文件中编写繁琐的servlet和filter的配置。随着spring的普及,配置逐渐演变成了两种方式—javaconfiguration和xml配置共存。现如今,springboot的普及,javaconfiguration成了主流,xml配置似乎已经“灭绝”了。不知道你有没有好奇过,这中间都发生了哪些改变,web.xml中的配置项又是被什么替代项取代了?
servletservlet3.0以前的时代为了体现出整个演进过程,还是来回顾下n年前我们是怎么写servlet和filter代码的。
项目结构(本文都采用maven项目结构)
.├──pom.xml├──src├──main│├──java││└──moe││└──cnkirito││├──filter│││└──HelloWorldFilter.java││└──servlet││└──HelloWorldServlet.java│└──resources│└──WEB-INF│└──web.xml└──test└──java
publicclassHelloWorldServletextendsHttpServlet{
OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{resp.setContentType("text/plain");PrintWriterout=resp.getWriter();out.println("helloworld");}}publicclassHelloWorldFilterimplementsFilter{
Overridepublicvoidinit(FilterConfigfilterConfig)throwsServletException{}OverridepublicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsIOException,ServletException{System.out.println("触发helloworld过滤器...");filterChain.doFilter(servletRequest,servletResponse);}Overridepublicvoiddestroy(){}}别忘了在web.xml中配置servlet和filter
?xmlversion="1.0"encoding="UTF-8"?web-appxmlns="