一.过滤器 的实现步骤
1.实现 javax.servlet.Filter接口
2.实现 init 方法 读取过滤器的初始化函数
3.实现 doFilter方法 完成过滤后的响应
4.调用 FilterChain 接口对象doFilter方法,向后续的过滤器 传递 请求或响应
5.配置 web.xml 中的 filter
简单示例: 中文乱码过滤
1.servlet 代码
public class EncodingFilter implements Filter {
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding("gbk");
arg1.setCharacterEncoding("gbk");
arg2.doFilter(arg0, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml 代码
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.qingbyqing.servlet.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意: 这个过滤只是针对 提交方法 为“post”的时有效,对“get”无效 因为过滤器只能对输出的内容有效。 由于“get”方法发送的参数被附加到url后面的
get 方法可以使用一下方式解决乱码问题:
String username=request.getParameter("username");
username=new String(username.getBytes("ISO-8859-1"),"GBK")
二.监听器 : 监听器主要是用来监听 request seesion application 对象存取数据的变化
小示例: 监听当前网站访问人数
public class ServletListenerTest implements HttpSessionListener,
HttpSessionAttributeListener {
private int online;
private HttpSession session;
private ServletContext servletContext;
// 当session 生成时 执行的方法
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("一个用户来访问我了");
online++;
session = arg0.getSession();
session.setMaxInactiveInterval(60);
servletContext = session.getServletContext();
servletContext.setAttribute("online", new Integer(online));
}
public void sessionDestroyed(HttpSessionEvent arg0) {
System.out.println("一个用户退出了");
online--;
}
public void attributeAdded(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
}
public void attributeRemoved(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
}
public void attributeReplaced(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
}
}
web.xml配置:
<listener>
<listener-class>com.qingbyqing.servlet.ServletListenerTest</listener-class>
</listener>
分享到:
相关推荐
jsp/servlet中过滤器和监听器的区别,适用于想学习jsp/servlet并想了解及掌握过滤器和监听器来开发的同学
servlet过滤器和监听器,servlet过滤器和监听器课件,servlet过滤器和监听器PPT
第13章使用Servlet过滤器和监听器,基础知识
Jsp+JavaBean+Servlet+Session+过滤器+sql2008数据库,代码绝对正确!运用MyEclipse10.0+Tomcat7.0开发。
Servlet过滤器的简单使用,实现一个登陆界面。代码和博文几乎一致。
java中servlet文字过滤器,取出一下页面上的乱码。我就就要用到servlet这个过滤器。
servlet 过滤器做的简单登陆demo 初学者的简单例子。
Servlet过滤器与监听器
如果输入是中文,后台servlet再次输出这个内容时,可能就会是乱码,这是因为serlvet中默认是以ISO-8859-1格式编码的,如果后台有多个Servlet,多个参数,这样就不合适,这个问题,我们可以通过一个过滤器统一解决,使...
小型的基于servlet的过滤器,直接在tomcat上执行即可。用来对访问网站的用户进行计数
servlet过滤器实例经典过滤器,手把手交你配置过滤器,五大常用过滤器源码,走过路过的同事们注意了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
jsp+servlet登录验证过滤器jsp+servlet登录验证过滤器jsp+servlet登录验证过滤器
servlet过滤器与监听器
Servlet过滤器,主要配置了中文乱码及未登陆验证过滤器。 代码简单明了,易学。 过滤器实现类 1、Filter接口:所有的... Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。
sevlet里设置过滤器,利用索引过滤不符合自己想要的url,达到重定向的目的
Servlet过滤器与监听器.doc
Servlet,过滤器和监听器的配置和使用.docx
java-web servlet 拦截器 过滤器使用 java-web servlet 拦截器 过滤器使用
比较好也比较常见的方法是用专门的servlet过滤器进行过滤。java中有个Filter类专门从事这类工作,下面以一个简单的实例进行演示: 实例说明:假设有一个web应用软件,如果是正常途径登录,我们会在其session中放入...
NULL 博文链接:https://slccie.iteye.com/blog/897429