Servlet详解(四): Servlet3.0新特性详解

Servlet2.5是JavaEE5.0规范,最低运行环境为JDK5.0以及Tomcat5.0。而Servlet3.0是JavaEE6.0规范,最低环境为JDK6.0以及Tomcat7.0。Servlet3.0的新特性主要分为以下几个点:

  1. 基于注解配置三大组件
  2. 文件上传API的优化
  3. 异步处理
  4. 组件可插性
  5. 动态注册三大组件(ServletContext)
  6. SPI - ServletContainerInitializer 机制
<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>javax.servlet-apiartifactId>
    <version>3.0.1version>
    <scope>providedscope>
dependency>

基于注解的配置

基于web.xml的配置与基于注解的配置,在Servlet3.0中,可以混合使用

@WebServlet

用来注册servlet组件,在servlet2.x中,需要在web.xml中配置servlet标签:

  <servlet>
    
    <description>Servlet描述description>
    
    <display-name>TestServletdisplay-name>
    
    <servlet-name>TestServletservlet-name>
    
    <servlet-class>com.yangsx95.demo.TestServletservlet-class>
    
    <init-param>
      <param-name>param1param-name>
      <param-value>value1param-value>
    init-param>
    <init-param>
      <param-name>param2param-name>
      <param-value>value2param-value>
    init-param>
    
    <load-on-startup>1load-on-startup>
  servlet>
  
  <servlet-mapping>
    <servlet-name>TestServletservlet-name>
    <url-pattern>/testurl-pattern>
  servlet-mapping>

在3.0 可以使用如下方式注册一个Servlet:

//@WebServlet("test") // value 就是 urlPatterns,是默认属性,二者不能同时使用
@WebServlet(
        description = "Servlet描述",
        displayName = "TestServlet",
        name = "TestServlet",
        initParams = {
   @WebInitParam(name="param1", value = "value1"), @WebInitParam(name="param2", value = "value2")},
        loadOnStartup = 1,
        urlPatterns = {
   "test",

你可能感兴趣的:(#,Servlet&JSP,servlet,java,tomcat)