servlet

servlet的优点

  • 是mvc的基础,struts1,struts2,webwork都是从servlet基础上发展过来的。所以掌握servlet是掌握MVC的基础。
  • servlet把最底层的api暴露给程序员,是程序员更能清楚的了解mvc的各个特点。
  • 程序员可以对servlet进行封装。Struts2就是从servlet封装的结果
  • 市场上任何一个MVC的框架都是servlet发展过来的,所以要想学好struts2这个框架,了解servlet的运行机制很关键。

servlet的缺点

  • 每写一个servlet在web.xml中都要做相应的配置。如果有很多servlet,会导致web.xml内容过于繁多。
  • 这样的结构不利于分组开发
  • 在servlet中,doGet和doPost方法有HTTPServletRequest和HttpServletResponse参数。这两个参数与容器相关,如果想在servlet中卓单元测试,则必须初始化这两个参数
  • 如果一个servlet中有很多方法,则必须采用传递参数的形式,分解到每一个方法中

Servlet和Filter

servlet 

  1. 每一个servlet内存中唯一
  2. load-on-startup就可以是Servlet在启动时就完成初始化
  3. 用户的每次请求都会经过void service(request,response)
  4. 配置映射为/*时,所有的请求都会经过该servlet

filter

  1. 每一个filter内存中唯一
  2. 启动时就完成初始化
  3. 用户的每次请求都会经过void doFilter(request,response)
  4. 配置映射为/*时,所有的请求都会经过该过滤器

不同:过滤器要比servlet强大,过滤器有权决定是否放行

总结:servlet能做的,filter都能做

 

posted @ 2018-07-10 10:54  wangfujia11  阅读(93)  评论(0编辑  收藏  举报