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("出生了");

 

    }

 

}

最新文章

  1. 探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)
  2. C#时间戳转换
  3. 理论到实践,A/B测试不得不直面的4个统计学问题
  4. 数据持久化(五)之CoreData
  5. html-----017
  6. codeforces 400D Dima and Bacteria 并查集+floyd
  7. PE文件结构(五岁以下儿童)基地搬迁
  8. RMAN备份与恢复(一)--认识RMAN
  9. jQuery 效果函数(三)
  10. git - 管理项目(SourceTree的使用)
  11. F#周报2019年第11期
  12. 【翻译】ES6生成器简介
  13. window.print控制打印样式
  14. springboot常见 10问
  15. VMware Linux 共享文件夹 虚拟机无共享文件解决方法
  16. Google Protocol Buffers介绍
  17. oracle 执行的时候,显式输出结果!: set serveroutput on;
  18. C#之WinForm基础 新建一个不可编辑的comboBox
  19. Ionic Js三:下拉刷新
  20. Cobbler图文详解安装及遇到的问题说明

热门文章

  1. STL vector的构造函数和析构函数(2)
  2. Hive substr 函数截取字符串
  3. SVN Client API的.net 接口 SharpSvn介紹 Checkout操作实例
  4. mac os x 使用scp取代sz rz
  5. URL浅谈
  6. Ubuntu安装Sun JDK
  7. 微信全局获取并缓存Accesstoken的值
  8. Unity3d中使用自带动画系统制作下雨效果(二)
  9. LeetCode447. Number of Boomerangs
  10. String转int的几种常用方法