码迷,mamicode.com
首页 > Web开发 > 详细

servlet3.0 的新特性之二注解代替了web.xml配置文件

时间:2016-05-02 18:38:20      阅读:778      评论:0      收藏:0      [点我收藏+]

标签:

servlet3.0 的新特性:

  1. 注解代替了 web.xml 文件
  2. 支持了对异步的处理
  3. 对上传文件的支持

1.注解代替了配置文件

1.删除了web.xml 文件

2. 在Servlet类上添加@WebServlet(urlPatterns={"/AServlet"})

3. 在Filter类上添加@WebFilter(urlPatterns="/AFilter")

4. 在Listener类上添加@WebListener

?

总结:

* 注解好处:配置信息少,使用很方便!

* 注解缺点:不方便修改!(如果需要修改,就要更改源码)

?

2. 使用实例:

?

Aservlet.java文件

/*

原先servlet web.xml 文件中需要配置大量的信息:

<servlet>

<servlet-name>AServlet</servlet-name>

<servlet-class>cn.itcast.web.servlet.AServlet</servlet-class>

<init-param>

<param-name>p1</param-name>

<param-value>v1</param-value>

</init-param>

<init-param>

<param-name>p2</param-name>

<param-value>v2</param-value>

</init-param>

<load-on-startup>1<load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>AServlet</servlet-name>

<url-pattern>/AServlet</url-pattern>

<url-pattern>/AAServlet</url-pattern>

</servlet-mapping>

?

*/

?

/*

* 但是现在使用 注解,就方便多了

*/

@WebServlet(urlPatterns="/AServlet",

????initParams={

????????@WebInitParam(name="p1", value="v1"),

????????@WebInitParam(name="p2", value="v2")

????},

????loadOnStartup=1

)

public class AServlet extends HttpServlet {

????public void doGet(HttpServletRequest req, HttpServletResponse resp)

????????????throws ServletException, IOException {

????????System.out.println("hello servlet3.0!");

????????resp.getWriter().print("hello servlet3.0!!");

????}

}

?

Afilter.java 文件:演示 过滤器的 注解使用

//(urlPatterns="/*") 表示 过滤所有的路径

@WebFilter(urlPatterns="/*")

public class AFilter implements Filter {

?

????@Override

????public void destroy() {

????????// TODO Auto-generated method stub

????????

????}

?

????@Override

????public void doFilter(ServletRequest request, ServletResponse repsonse,

????????????FilterChain chain) throws IOException, ServletException {

????????System.out.println("哈哈~,你看到我没有!");

????????chain.doFilter(request, repsonse);//放行

????}

?

????@Override

????public void init(FilterConfig arg0) throws ServletException {

????????// TODO Auto-generated method stub

????????

????}

?

}

?

Alistener.java 文件: 演示 监听器的注解使用

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.annotation.WebListener;

//监听器的注解

@WebListener

public class AListener implements ServletContextListener {

?

????@Override

????public void contextDestroyed(ServletContextEvent arg0) {

????????System.out.println("死掉了");

?

????}

?

????@Override

????public void contextInitialized(ServletContextEvent arg0) {

????????System.out.println("出生了");

?

????}

?

}

servlet3.0 的新特性之二注解代替了web.xml配置文件

标签:

原文地址:http://www.cnblogs.com/Prozhu/p/5452675.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!