Servlet3.0是Java EE6规范的一部分, Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述,简化开发流程。
所需要的环境
- IDE:MyEclipse 10+
- JDK:JDK 1.6+
- tomcat:tomcat 7+
Tomcat7的解压目录下的lib文件夹中的 annotations-api.jar、el-api.jar、jasper.jar、jasper-el.jar、jsp-api.jar、servlet-api.jar 这几个jar文件引入到项目中,再删除Java EE5的库引用。
Tomcat7的解压目录下的conf文件夹下把 web.xml 模板拷贝到项目,替换掉原来的web.xml
注解:
@WebServlet
使用@WebServlet将一个继承于javax.servlet.http.HttpServlet的类定义为Servlet组件。 @WebServlet有很多的属性:
- asyncSupported:声明Servlet是否支持异步操作模式。
- description: Servlet的描述。
- displayName: Servlet的显示名称。
- initParams: Servlet的init参数。
- name: Servlet的名称。
- urlPatterns: Servlet的访问URL。
- value: Servlet的访问URL。
Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。
像上面的Servlet3Demo可以描述成@WebServlet(name="Servlet3Demo",value="/Servlet3Demo")。
也定义多个URL访问:
如@WebServlet(name="Servlet3Demo",urlPatterns={"/Servlet3Demo","/Servlet3Demo2"})
或者@WebServlet(name="AnnotationServlet",value={"/Servlet3Demo","/Servlet3Demo2"})
@WebServlet("/path")} public class TestServlet extends HttpServlet{ } @WebServlet(name="TestServlet", urlPatterns={"/path", "/alt"}) public class TestServlet extends HttpServlet{ }
@WebServlet注解的相关属性 |
|
属性名 |
描述 |
asyncSupported |
声明Servlet是否支持异步操作模式 |
description |
Servlet的描述信息 |
displayName |
Servlet的显示名称 |
initParams |
Servlet的初始化参数 |
name |
Servlet的名称 |
urlPatterns |
Servlet的访问URL |
value |
Servlet的访问URL |
@WebServlet注解的相关属性 |
|
属性名 |
描述 |
asyncSupported |
声明Servlet是否支持异步操作模式 |
description |
Servlet的描述信息 |
displayName |
Servlet的显示名称 |
initParams |
Servlet的初始化参数 |
name |
Servlet的名称 |
urlPatterns |
Servlet的访问URL |
value |
Servlet的访问URL |
@WebServlet注解的相关属性
属性名 |
描述 |
asyncSupported |
声明Servlet是否支持异步操作模式 |
description |
Servlet的描述信息 |
displayName |
Servlet的显示名称 |
initParams |
Servlet的初始化参数 |
name |
Servlet的名称 |
urlPatterns |
Servlet的访问URL |
value |
Servlet的访问URL |