黑蜘蛛专栏

IT技术交流中心

用户操作
[即时聊天] [发私信] [加为好友]
黑蜘蛛ID:gnemy
12964次访问,排名9610,好友0人,关注者0人。
gnemy的文章
原创 21 篇
翻译 0 篇
转载 3 篇
评论 4 篇
黑蜘蛛的公告
不要成为只能写代码的程序员; 不要成为无法与其他人合作的程序员; 不要成为只能做程序员的程序员。 程序员不一定必须持有程序员证书, 作为程序员最为重要的是具有创新、钻研、好学等精神和能写出好的程序.
最近评论
Aguo_C:原来这样就行啦,谢谢啦!
csvivi:原来要这啊~~呵呵,谢谢啦~
gnemy:test
soyea910:你好!目前上海华普汽车正在进行“海炫《女性.车》博客大赛”,原创的文章、照片都可参加,大奖:最新款海炫女性车一辆,参加者人人有奖品,建议博主去看一下。参赛地址:http://hyshine.bokee.net 发这个帖子没什么恶意只是想让更多的人看到去参加!!
文章分类
收藏
    相册
    .net
    ajax
    ajax china
    DWR - Easy AJAX for JAVA(RSS)
    Edit-in-Place with jQuery(RSS)
    jeditable(RSS)
    jquery1.0(RSS)
    jquery1.1(RSS)
    jquery-jeditable(RSS)
    c
    c++
    freemarker
    freemarker技术帮助(RSS)
    java
    Url Rewrite Filter
    web.xml
    扩展Lucene的索引文件存储
    vb
    技术
    ruby语言只是昙花一现 (RSS)
    firefox插件 可查看页面执行代码(RSS)
    http://wz.csdn.net/malligator/(RSS)
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 javax.servlet.Filter 的应用收藏

    新一篇: acegi参考手册(v1.0.4) | 旧一篇: 大学毕业后的第一份工作

     

    Filter过滤器的使用
    本篇文章是介绍javax.servlet包中Filter的几个功能,一是字符编码过滤,二是拦截指文件夹中的文件,实现登录验证.实现以上两个功能需以下几个步骤:
    1、实现javax.servlet.Filter接口,编写两个类,如下:
    /**
     * 作用:过滤编码
     */
    package filter;
    import java.io.IOException;
    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    public class EncodingFilter implements Filter
    {
        protected FilterConfig filterConfig;
        private String targetEncoding;
        public EncodingFilter()
        {
            targetEncoding = "gb2312";//直接初始化0912
        }
        public void init(FilterConfig filterconfig) throws ServletException
        {
            filterConfig = filterconfig;
            //targetEncoding = filterconfig.getInitParameter("encoding");//web.xml挂参初始化
        }
        public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain)
            throws IOException, ServletException
        {
            HttpServletRequest httpservletrequest = (HttpServletRequest)servletrequest;
            httpservletrequest.setCharacterEncoding(targetEncoding);
            System.out.println("使用" targetEncoding "对请求进行编码过滤");
            filterchain.doFilter(servletrequest, servletresponse);
        }
        public void setFilterConfig(FilterConfig filterconfig)
        {
            filterConfig = filterconfig;
        }
        public void destroy()
        {
            filterConfig = null;
        }
    }
    /**
     * 作用:过滤外界非法的进入页面
     * 注意:使用该功能时,一定要把登录页与被过滤文件夹设为同级,否则会出现循环
     */
    package filter;
    import java.io.IOException;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class ManageFilter implements Filter
    {
        String LOGIN_PAGE;
        protected FilterConfig filterConfig;
        public ManageFilter()
        {
            LOGIN_PAGE = "/login.jsp";
        }
        public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse, FilterChain filterchain)
            throws IOException, ServletException
        {
            HttpServletRequest request = (HttpServletRequest) servletrequest;
            HttpServletResponse response = (HttpServletResponse) servletresponse;
            HttpSession session = request.getSession();
            String key = "";
            try
            {
                //通过验证时在session中存的一个标志
         key = (String) session.getAttribute("key");
              
               
                if (key!= null&&key.equals("ok"))
                {
                  
                    filterchain.doFilter(servletrequest, servletresponse);
                }
                else
                {
                    response.sendRedirect(LOGIN_PAGE);
                    System.out.println("被拦截一个未认证的请求");
                }
            }
            catch (Exception exception)
            {
                exception.printStackTrace();
            }
        }
        public void setFilterConfig(FilterConfig filterconfig)
        {
            filterConfig = filterconfig;
        }
        public void destroy()
        {
            filterConfig = null;
        }
        public void init(FilterConfig filterconfig)
            throws ServletException
        {
            filterConfig = filterconfig;
        }
    }
    2、在web.xml中做一些设置
     
         code
         filter.EncodingFilter
     
     
     
         manage
         filter.ManageFilter
     
     
         code
         /*
     
     
     
         manage
         <!-- <url-pattern>/ShuiBaoRHPWK_NEW/system/ruhepaiwukou/*</url-pattern>-->
         /servlets-examples/*

    发表于 @ 2007年02月04日 00:10:00|评论(loading...)|编辑

    新一篇: acegi参考手册(v1.0.4) | 旧一篇: 大学毕业后的第一份工作

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 黑蜘蛛