03-Servlet-注解配置

Servlet注解是在Servlet 3.0规范中引入的一种新特性,它可以用来简化Servlet的开发,提高代码的可读性和可维护性。下面对常见的Servlet注解进行详细介绍:

1、@WebServlet

@WebServlet注解用于将一个类声明为一个Web Servlet,并指定它处理的URL模式。它有以下属性:

  • name:Servlet的名称,默认为该类的简单类名;
  • value/urlPatterns:定义Servlet处理的请求URL模式;
  • loadOnStartup:指示Servlet容器在应用程序启动时是否预加载Servlet;
  • initParams:Servlet初始化参数;
  • description:Servlet描述信息;
  • asyncSupported:表明该Servlet是否支持异步操作。
@WebServlet(name = "MyServlet", urlPatterns = { "/myservlet" }, loadOnStartup = 1)
public class MyServlet extends HttpServlet {
    // ...
}

2、@WebFilter

@WebFilter注解用于将一个类声明为一个Web过滤器,并指定它所过滤的请求URL模式。它有以下属性:

  • filterName:过滤器名称,默认为该类的简单类名;
  • value/urlPatterns:定义过滤器所过滤的请求URL模式;
  • servletNames:定义过滤器所过滤的Servlet名称;
  • dispatcherTypes:定义过滤器所拦截的请求类型;
  • initParams:过滤器初始化参数;
  • description:过滤器描述信息。
@WebFilter(filterName = "myFilter", urlPatterns = { "/myservlet" })
public class MyFilter implements Filter {
    // ...
}

3、@WebListener

@WebListener注解用于将一个类声明为一个Web事件监听器,例如HttpSessionListener、ServletRequestListener等。它没有任何属性,只需要将@WebListener添加到相应的类上即可。

@WebListener
public class MySessionListener implements HttpSessionListener {
    // ...
}

 4、@WebInitParam

@WebInitParam注解用于在Servlet初始化时设置初始化参数。它有以下属性:

  • name:设置初始化参数的名称;
  • value:设置初始化参数的值。
@WebServlet(name = "MyServlet", urlPatterns = { "/myservlet" }, initParams = {
    @WebInitParam(name = "param1", value = "value1"),
    @WebInitParam(name = "param2", value = "value2")
})
public class MyServlet extends HttpServlet {
    // ...
}

5、@MultipartConfig

@MultipartConfig注解用于指定Servlet支持文件上传的配置参数。它有以下属性:

  • location:用于指定临时存储文件的位置;
  • maxFileSize:用于限制单个上传文件的大小;
  • maxRequestSize:用于限制整个请求的大小;
  • fileSizeThreshold:用于设置文件大小超过阈值时,将数据存储到磁盘而不是内存中。
@WebServlet(name = "UploadServlet", urlPatterns = { "/upload" }, 
    multipartConfig = @MultipartConfig(location = "/tmp", fileSizeThreshold = 1024 * 1024, maxFileSize = 1024 * 1024 * 5, maxRequestSize = 1024 * 1024 * 10))
public class UploadServlet extends HttpServlet {
    // ...
}

你可能感兴趣的:(servlet,java,前端)