WEB3.0以后基于注解访问web组件,web容器给我们提供了很多组件,Servlet Filter JSP Listener

    JSP使用特殊 我们自己不需要做配置 WEB容器内部给我们做了配置 *.jsp
    Servlet Filter Listener 使用的时候必须遵循规则(继承 实现 方法重写) 我们自己需要做配置web.xml
    自己做web.xml文件配置的时候比较麻烦
    一个请求(一个功能点)——-对应——-一个Servlet类(只有一个方法)
    每多写一个Servlet类 需要多做一个配置(8行)

    都觉得配置过于麻烦——>web.xml配置优化(WEB框架)
    SpringMVC Struts2
    Tomcat也更新了相关的版本3.0以后就支持注解的方式,注解为了替代web.xml文件的配置

    WEB3.0版本之后出现了注解 为了替代web.xml配置
    @WebServlet
    @WebFilter
    @WebListener

    1.使用WEB注解的方式访问Servlet
    除了配置部分写法不同其他处代码和平时一样
    比如,index.jsp中请求名为test**

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <html>
    3. <head>
    4. </head>
    5. <body>
    6. <a href="test">点一下</a>
    7. </body>
    8. </html>

    web.xml配置可直接替换为(TestController为本来要请求的controller类)

    1. @WebServlet("/test")
    2. public class TestController extends HttpServlet {
    3. @Override
    4. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    5. System.out.println("我直接好耶!");
    6. }
    7. }

    也可以写为
    @WebServlet(urlPatterns = “/test”) urlPatterns ={“/test1”,”/test2”},当请求url只有一个是,大括号可以省略,就像前面的,大括号就省略了
    还可以写为
    @WebServlet(value = “/test”),只有一个url时,value可以省略,像上述代码块写的那样
    image.png

    1. @WebServlet(
    2. "/test",
    3. loadOnStartup=0,
    4. initParams={
    5. @WebInitParam(name="zhangsan",value="333"),
    6. @WebInitParam(name="lisi",value="444"),
    7. @WebInitParam(name="wangwu",value="555")
    8. }
    9. )

    2.使用WEB注解的方式访问Filter @WebFilter,具体使用规则与Servlet类似
    3.使用WEB注解的方式让Listener执行 @WebListener ,具体使用规则与Servlet类似
    **