servlet
来源:互联网 发布:网络尖兵版本 编辑:程序博客网 时间:2024/05/16 02:06
Servlet监___过滤器:
Servlet一共分为三类:
简单servlet:是作为一种程序所必须的开发结构保存下来的。
过滤servlet:以组件形式出现
监听servlet:以组件形式出现
本章目标:
掌握过滤器的基本结构及实现
可以通过过滤器进行编码过滤及登陆验证
在简单servlet中,是继承HTTPSERVLET类形式完成,但是在器中不再使用类,而是接口。
具体内容
如果想要完成一个过滤器的开发,则首先必须让一个类实现File接口,此接口是JAVAX.SERVLET包中的,那么根据此包的特点就可以发现,此接口的主要功能是完成公共协议操作。
package org.serveltfilter.wade;
import java.io.*;
import javax.servlet.*;
public class ServletFilter implements Filter{
public void init(FilterConfig config)throws ServletException
{
}
public void doFIlter(ServletRequest request,ServletResponseresponse,FilterChain chain)throws ServletException,EOException
{
}
public void destroy()
{
}
}
如果现在是一个普通的Servlet则在使用的时候必须手工的调用,例如在FORM表彰的action之中编写的路径
但是过滤这种操作本身可是属于自动完成的。
package org.serveltfilter.wade;
import java.io.*;
import javax.servlet.*;
public class ServletFilter implementsFilter{
public void init(FilterConfig config)throws ServletException
{
String initParam=config.getInitParameter("ref");
System.out.println("*******init:"+initParam);
}
public void doFilter(ServletRequest request,ServletResponseresponse,FilterChain chain)throws ServletException,IOException
{
System.out.println("doFilter");
}
public void destroy()
{
System.out.println("********this end destroy");
}
}
Web.xml配置
<filter>
<filter-name>simple</filter-name>
<filter-class>org.serveltfilter.wade.ServletFilter</filter-class>
<init-param>
<param-name>ref</param-name>
<param-value>hello ! simple</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>simple</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
对全部进行过滤。
FilterChain:
FilterChain接口的主要作用是将用户的请求向下传递给其他的过滤器或者servlet:
在FilterChain接口中依然定义了一个风云榜的doFilter()方法,这是因为在一个过滤器后面可能存在着另一个过滤器,也可能是请求的最终目标,这样就通过FiilterChain形成一个过滤链的操作。
public voiddoFilter(ServletRequest request,ServletResponse response,FilterChainchain)throws ServletException,IOException
{
chain.doFilter(request,response);
System.out.println("doFilter");
}
实际上过滤器的概念比较简单,而且也好理解,从实际上来讲在开发中使用最频繁的两种操作是:编码过滤和合建验证。
编码过滤:
package org.serveltfilter.wade;
import java.io.*;
import javax.servlet.*;
public class ServletFilterEncodingimplements Filter{
private String charSet;
public void init(FilterConfig config)throws ServletException
{
this.charSet=config.getInitParameter("charset");
String initParam=config.getInitParameter("ref");
System.out.println("*******init:"+initParam);
}
public void doFilter(ServletRequest request,ServletResponseresponse,FilterChain chain)throws ServletException,IOException
{
chain.doFilter(request,response);
System.out.println("doFilter");
request.setCharacterEncoding(this.charSet);
}
public void destroy()
{
System.out.println("********this end destroy");
}
}
<filter>
<filter-name>simpleeccoding</filter-name>
<filter-class>org.serveltfilter.wade.ServletFilterEncoding</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>simpleeccoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Servlet监听器。
掌握监听器的主要作用
掌握监听器的实现及配置
通过监听器完成一个在线人员列表的功能
具体内容:
Web中的监听主要的功能就是用于对servletContextsession Request进行监听的一种操作。
监听器:第三种servlet程序称为监听servlet主要的功能是负责监听web的各种操作,当相关的事件触发这后将产生事件,并对此事进行处理。在web中可以对application session request三种操作进行监听。
对application监听
Application 是servletCOntext监听的对象,表示是整个上下文的环境。
如果要想实现对application监听则可以使用如下两个接口。
对application监听。实际上就是对servletContext (servlet上下文)主要使用以下两个接口
ServletContextListener:对整个上下文的环境监听
ServletContextAttributeListener:对属性的监听
如果一个web.xml文件之中包含简单servlet,过滤器,监听器,则的编写配置顺序:
<filter>
<filter-mapping>
<listener>
<servlet>
<servlet-mappin>
对session监听:
在监听器中,针对session的监听操作提供三个接口。
HttpSessionListener
HttpsessionAttributeListener
HttpSessionBindingListener
- Servlet
- servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- Servlet
- Servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- Servlet
- servlet
- servlet
- servlet
- Cocos2d-x 的内存管理
- action输出json数据
- 新装linux中/sbin的命令有可能无法使用的问题
- 图像通道
- 学习英语方法
- servlet
- sql object_id()函数
- oracle 优化
- MYSQL学习(二)
- JVM详解之Java垃圾回收机制详解和调优
- 第一个hibernate例子的实现
- 鼠标事件的响应
- C++学习
- Linux中find常见用法示例