可克技术宝藏

IT技术专栏,net,java,c#,struts,spring,hibernate,jsp,asp.net,网站制作,软件开发

samxx8ID:samxx8
6415次访问,排名14902好友0人,关注者6
samxx8的文章
原创 31 篇
翻译 0 篇
转载 20 篇
评论 5 篇
可克samxx8的公告
承接/合作 各种软件项目开发设计, 各种网站项目开发制作 联系电话:13261226314 QQ:83648354 msn:samxx8@msn.com
最近评论
hdnero:wow power leveling
hdnero:wow power leveling
ChinaRedRiver:当然在开发环境下调试可以,网站发布后没有理想结果
ChinaRedRiver:2种方式我都试了
在进程列表中能看到启动了,但没有界面显示,.net framework 2.0,vs2005 sp1, window xp-sp2
按作者所述后边的设置试过。不成!,不知为何
zhangfan123:有session过期的方法吗?
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载  四个有用的Java过滤器收藏收藏

    新一篇: struts2乱码终击解决办法。简单呀 | 旧一篇: java类反射机制举例,

    转载 四个有用的Java过滤器收藏

    新一篇:  Filter过滤器的使用

    java 代码 一、使浏览器不缓存页面的过滤器      import javax.servlet.*;     import javax.servlet.http.HttpServletResponse;     import java.io.IOException;         /**    * 用于的使 Browser 不缓存页面的过滤器    */    public class ForceNoCacheFilter implements Filter {         public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException     {         ((HttpServletResponse) response).setHeader("Cache-Control","no-cache");         ((HttpServletResponse) response).setHeader("Pragma","no-cache");         ((HttpServletResponse) response).setDateHeader ("Expires", -1);         filterChain.doFilter(request, response);     }         public void destroy()     {     }               public void init(FilterConfig filterConfig) throws ServletException     {     }     }         二、检测用户是否登陆的过滤器         import javax.servlet.*;     import javax.servlet.http.HttpServletRequest;     import javax.servlet.http.HttpServletResponse;     import javax.servlet.http.HttpSession;     import java.util.List;     import java.util.ArrayList;     import java.util.StringTokenizer;     import java.io.IOException;         /**    * 用于检测用户是否登陆的过滤器,如果未登录,则重定向到指的登录页面           * 配置参数           * checkSessionKey 需检查的在 Session 中保存的关键字       * redirectURL 如果用户未登录,则重定向到指定的页面,URL不包括 ContextPath       * notCheckURLList 不做检查的URL列表,以分号分开,并且 URL 中不包括 ContextPath       */    public class CheckLoginFilter     implements Filter     {           protected FilterConfig filterConfig = null;           private String redirectURL = null;           private List notCheckURLList = new ArrayList();           private String sessionKey = null;         public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException     {         HttpServletRequest request = (HttpServletRequest) servletRequest;         HttpServletResponse response = (HttpServletResponse) servletResponse;              HttpSession session = request.getSession();         if(sessionKey == null)         {          filterChain.doFilter(request, response);          return;         }         if((!checkRequestURIIntNotFilterList(request)) && session.getAttribute(sessionKey) == null)         {          response.sendRedirect(request.getContextPath() + redirectURL);          return;         }         filterChain.doFilter(servletRequest, servletResponse);     }         public void destroy()     {         notCheckURLList.clear();     }         private boolean checkRequestURIIntNotFilterList(HttpServletRequest request)     {         String uri = request.getServletPath() + (request.getPathInfo() == null ? "" : request.getPathInfo());         return notCheckURLList.contains(uri);     }         public void init(FilterConfig filterConfig) throws ServletException     {         this.filterConfig = filterConfig;         redirectURL = filterConfig.getInitParameter("redirectURL");         sessionKey = filterConfig.getInitParameter("checkSessionKey");             String notCheckURLListStr = filterConfig.getInitParameter("notCheckURLList");             if(notCheckURLListStr != null)         {          StringTokenizer st = new StringTokenizer(notCheckURLListStr, ";");          notCheckURLList.clear();          while(st.hasMoreTokens())          {           notCheckURLList.add(st.nextToken());          }         }     }     }         三、字符编码的过滤器         import javax.servlet.*;     import java.io.IOException;         /**    * 用于设置 HTTP 请求字符编码的过滤器,通过过滤器参数encoding指明使用何种字符编码,用于处理Html Form请求参数的中文问题    */    public class CharacterEncodingFilter     implements Filter     {     protected FilterConfig filterConfig = null;     protected String encoding = "";         public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException     {               if(encoding != null)                servletRequest.setCharacterEncoding(encoding);               filterChain.doFilter(servletRequest, servletResponse);     }         public void destroy()     {         filterConfig = null;         encoding = null;     }               public void init(FilterConfig filterConfig) throws ServletException     {                this.filterConfig = filterConfig;               this.encoding = filterConfig.getInitParameter("encoding");         }     }         四、资源保护过滤器             package catalog.view.util;         import javax.servlet.Filter;     import javax.servlet.FilterConfig;     import javax.servlet.ServletRequest;     import javax.servlet.ServletResponse;     import javax.servlet.FilterChain;     import javax.servlet.ServletException;     import javax.servlet.http.HttpServletRequest;     import java.io.IOException;     import java.util.Iterator;     import java.util.Set;     import java.util.HashSet;     //     import org.apache.commons.logging.Log;     import org.apache.commons.logging.LogFactory;         /**    * This Filter class handle the security of the application.    *     * It should be configured inside the web.xml.    *     * @author Derek Y. Shen    */    public class SecurityFilter implements Filter {     //the login page uri     private static final String LOGIN_PAGE_URI = "login.jsf";           //the logger object     private Log logger = LogFactory.getLog(this.getClass());           //a set of restricted resources     private Set restrictedResources;           /**       * Initializes the Filter.       */    public void init(FilterConfig filterConfig) throws ServletException {        this.restrictedResources = new HashSet();        this.restrictedResources.add("/createProduct.jsf");        this.restrictedResources.add("/editProduct.jsf");        this.restrictedResources.add("/productList.jsf");     }           /**       * Standard doFilter object.       */    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)         throws IOException, ServletException {        this.logger.debug("doFilter");               String contextPath = ((HttpServletRequest)req).getContextPath();        String requestUri = ((HttpServletRequest)req).getRequestURI();               this.logger.debug("contextPath = " + contextPath);        this.logger.debug("requestUri = " + requestUri);               if (this.contains(requestUri, contextPath) && !this.authorize((HttpServletRequest)req)) {         this.logger.debug("authorization failed");         ((HttpServletRequest)req).getRequestDispatcher(LOGIN_PAGE_URI).forward(req, res);        }        else {         this.logger.debug("authorization succeeded");         chain.doFilter(req, res);        }     }           public void destroy() {}            private boolean contains(String value, String contextPath) {        Iterator ite = this.restrictedResources.iterator();               while (ite.hasNext()) {         String restrictedResource = (String)ite.next();                 if ((contextPath + restrictedResource).equalsIgnoreCase(value)) {          return true;         }        }               return false;     }           private boolean authorize(HttpServletRequest req) {                        //处理用户登录             /* UserBean user = (UserBean)req.getSession().getAttribute(BeanNames.USER_BEAN);             if (user != null && user.getLoggedIn()) {        //user logged in        return true;       }       else {        return false;       }*/    }     }    

    发表于 @ 2007年10月18日 18:07:00|评论(0 )|编辑

    旧一篇: Java 过滤不安全字符

    发表于 @ 2008年06月14日 11:28:53|评论(loading...)|收藏

    新一篇: struts2乱码终击解决办法。简单呀 | 旧一篇: java类反射机制举例,

    评论:没有评论。

    发表评论  


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