servlet注解开发优点:
- 注解有了之后,web.xml文件就不需要了。
- 开发效率高,不需要编写大量的配置信息。直接在java类上使用注解进行标注。
注解使用方法:
- 注解对象的使用格式:
@注解名称(属性名=属性值,属性名=属性值,属性名=属性值)
- servlet注解位于
jakarta.servlet.annotation.WebServlet;
包下 - 在Servlet类上使用:@WebServlet()。
- WebServlet注解中的属性:
(1)name属性:用来指定Servlet的名字。等同于:<servlet-name></servlet-name>
(2)urlPatterns属性:用来指定Servlet的映射路径。可以指定多个字符串。等同于:<url-pattern></url-pattern>
(3)loadOnStartUp属性:用来指定在服务器启动阶段是否加载该Servlet。等同于:<load-on-startup></load-on-startup>
(4)value属性:同urlPatterns属性。当注解的属性名是value的时候,使用过注解的时候,value属性名是可以省略的。
(5)initParams属性:指定该servlet初始化数据。等同于<init-param></init-param>
注意:不是必须将所有属性都写上,值需要提供需要的。(需要什么用什么)。
注意:属性是一个数组,如果数组中只有一个元素,使用该注解的时候,属性值的大括号可以省略。
@WebServlet(name="hello",urlPatterns = "/dept/ServletA",loadOnStartup = 1,initParams ={@WebInitParam(name="10",value="asd")} )
class ServletA extends HttpServlet{
}
同:
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>mypackage.ServletA</servlet-class>
<init-param>
<param-name>10</param-name>
<param-value>asd</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/dept/ServletA</url-pattern>
</servlet-mapping>