3种servlet:简单Servlet,过滤Servlet,监听Servlet

1. 简单Servlet:是作为一种程序所必须的开发结构保存下来的。

2. 过滤Servlet:过滤器使用的不是HttpServlet类,而是接口Filter,在javax.servlet里,此接口的主要功能是完成公共协议的,因为不在Http下。

三个主要方法:init(), doFilter(),destroy()三个函数

做一个过滤Servlet:

package org.lxh.filterdemo ;
import java.io.* ;
import javax.servlet.* ;
public class SimpleFilter implements Filter {
public void init(FilterConfig config)
throws ServletException{
// 接收初始化的参数
String initParam = config.getInitParameter("ref") ;
System.out.println("** 过滤器初始化,初始化参数=" + initParam) ;
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException,
ServletException{
System.out.println("** 执行doFilter()方法之前") ;
chain.doFilter(request,response) ;
System.out.println("** 执行doFilter()方法之后") ;
}
public void destroy(){
System.out.println("** 过滤器销毁。") ;
}
}

配置过滤Servlet注意事项:在简单Servlet之前配置:

<filter>
<filter-name>simple</filter-name>
<filter-class>org.lxh.filterdemo.SimpleFilter</filter-class>
<init-param>
<param-name>ref</param-name>
<param-value>HELLOMLDN</param-value>
</init-param>
</filter>

<filter-mapping>
  <filter-name>simple</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

<url-pattern>/*</url-pattern>

表示的不是映射路径,而是一个过滤器的过滤路径,现在既然是“/*”表示对虚拟目录下的所有文件进行过滤。

过滤器不需要任何配置和调用就可以在服务器启动的时候,自动完成初始化操作。

Servlet程序开发-- 过滤器的更多相关文章

  1. Servlet程序开发-Helloworld

    D:\Workspace\WEB-INF\classes下新建HelloServlet.java文件: package org.lxh.servletdemo ; import java.io.* ; ...

  2. Servlet程序开发--Servlet 与 表单

    servlet程序: doPost方法时为了防止表单提交时post方式的问题.否则只能处理get请求 package org.lxh.servletdemo ; import java.io.* ; ...

  3. Servlet程序开发--Servlet简介

    使用java语言开发的服务器端程序,可以生成动态web页,运行在服务器端,由服务器调用执行,是一种按照servlet标准开发的类. 先有servlet,后有jsp,jsp骨子里依然是servlet. ...

  4. Servlet程序开发--实例操作:MVC设计模式应用

    以前做过一个登录程序,是用JSP+JavaBean完成的,最大的问题,JSP文件内容太多了. 1. VO 2. DBC 3. DAO 3.1 impl 3.2 proxy 4. Factory 5. ...

  5. Servlet程序开发--WEB开发模式(Mode I, Mode II)

    Mode I: 就是在开发中,将显示层,控制层,数据层的操作统一交给JSP或JavaBean来进行处理. 客户端通过访问JSP,调用里面的JavaBean,而通过JavaBean调用数据库,在Java ...

  6. Servlet程序开发-- Servlet生命周期

    生命周期是一个程序的存在周期,受容器管理,所以容器决定生命周期. 生命周期包括 加载,初始化,服务,销毁,卸载 5个部分 加载:第一次使用的时候加载 初始化:init方法, 失败的话,直接卸载,如果成 ...

  7. Servlet程序开发-- servlet跳转

    跳转:服务器端,客户端 客户端跳转:<response.sendRedirect>地址栏跳转之后改变,无法传递request范围的属性 服务器端跳转:<jsp:forward> ...

  8. Servlet程序开发-- 取得其他内置对象

    servlet本身提供的只有request和response对象,如果要取得session对象,只能依靠request对象,因为session属于HTTP协议范畴,而且在每次发送请求的时候,服务器都会 ...

  9. Servlet程序开发--取得初始化配置信息

    代码: 两个初始化init方法,一起出现的话,有参的才起作用 package org.lxh.servletdemo ; import java.io.* ; import javax.servlet ...

随机推荐

  1. mysql字符集问题

    背景:数据库表信息乱码问题 影响:数据库连接初始化中断 原因:init_connect参数设置问题,参数为不可执行语句. 1.1 DB字符集参数 #数据库中的字符集设置(以下全部为修改过后的结果) m ...

  2. 好玩的获取目录信息的例子[C#]

    DirectoryInfo dirinfo = new DirectoryInfo("d:\\111"); DirectoryInfo[] dirs = dirinfo.GetDi ...

  3. java IO类图

  4. 认识ASP.NET MVC的5种AuthorizationFilter

    在总体介绍了筛选器及其提供机制(<深入探讨ASP.NET MVC的筛选器>)之后,我们按照执行的先后顺序对四种不同的筛选器进行单独介绍,首先来介绍最先执行的AuthorizationFil ...

  5. 公司用中会用到的iOS开源库和第三方组件(不断更新...)

    分享一些目前我个人接触到的一些第三方组件和开源的库, 感谢开源, 减少了我们的开发成本, 节约了我们大量的时间, 让我们有更多的时间和精力专注做我们自己的产品.总有没有接触过的 , 总有你会用到的 , ...

  6. hostent h_addr_list

    struct hostent { char FAR * h_name; /* official name of host */ char FAR * FAR * h_aliases; /* alias ...

  7. mongostat

    监控MongoDB有一下几种方法: 1)使用MongoDB软件包自带的工具,如mongostat,mongotop等.2)使用MongoDB数据库命令3)使用MongoDB公司提供的MMS监控服务 m ...

  8. Django 分页功能

    Django 分页功能比较强大,这边是结合官网的内容写的可以参考 https://docs.djangoproject.com/en/1.9/topics/pagination/ 分页命令行练习案列 ...

  9. 给postgresql 创建新的用户

    \du 查看当前postgresql的用户,一般此时只能看到 postgres create user ysr superuser password '123456'; \du 就可以看到两个用户了. ...

  10. 相对路径json无法获取

    在获取json文件内容时,有时会出现相对路径上的json文件无法获取的情况,Chrome上的解决方案如下: 1.右击桌面上的Chrome浏览器图标,点击属性; 2.在目标输入框的内容后头加上--arg ...