Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置;
Annotation支持
1.Servlet
原本Servlet开发完后,必须在web.xml中配置如下代码:
[html] view plaincopy
- <servlet>
- <servlet-name></servlet-name>
- <servler-class></servlet-class>
- <load-on-startup></load-on-startup>
- <init-param>
- <param-name></param-name>
- <param-value></param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name></servlet-name>
- <url-pattern></url-pattern>
- </servlet-mapping>
现在只需要在java源文件的Servlet类前面加上:
@WebServlet(name=”",urlPatterns={“”},initParams={@WebInitParam(name=”",value=”"),loadOnStartup=1})
public class FirstServlet extends HttpServlet{}
代码示例:
实现一个最简单的Servlet。
[java] view plaincopy
- package org.servlet;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import javax.servlet.annotation.*;
- /*
- name == <servlet-name>
- urlPatterns == <url-pattern>,
- loadOnStartup == <load-on-startup>
- initParam == <init-param>
- name == <param-name>
- value == <param-value>
- */
- @WebServlet(name=”HelloServlet” ,urlPatterns={“/HelloServlet”},loadOnStartup=1,
- initParams={
- @WebInitParam(name=”name”,value=”xiazdong”),
- @WebInitParam(name=”age”,value=”20″)
- })
- public class HelloServlet extends HttpServlet{
- public void init(ServletConfig config)throws ServletException{
- super.init(config);
- }
- public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
- request.setCharacterEncoding(“GBK”);
- ServletConfig config = getServletConfig();
- PrintWriter out = response.getWriter();
- out.println(“<html>”);
- out.println(“<body>”);
- out.println(“Hello world”+”<br />”);
- out.println(config.getInitParameter(“name”));
- out.println(“</body>”);
- out.println(“</html>”);
- }
- }
这样的话只需要将class文件放入WEB-INF\classes 中,不需要再web.xml中作任何改动就完成部署;
2.Filter
原本Filter的配置如下:
[html] view plaincopy
- <filter>
- <filter-name></filter-name>
- <filter-class></filter-class>
- <filter>
- <filter-mapping>
- <filter-name></filter-name>
- <url-pattern></url-pattern>
- </filter-mapping>
现在只需要在java源文件的Filter类前面加上
@WebFilter(filterName=”",urlPattern={“/”});
3.Listener
原本在web.xml中配置如下:
[html] view plaincopy
- <listener>
- <listener-class></listener-class>
- </listener>
现在只需要在java源文件的Listener类前面加上@WebListener即可;
本文链接地址: Servlet 3.0新特性中支持Annotation注解