zoukankan      html  css  js  c++  java
  • 第三十五章——过滤器和监听器

    过滤器代码示例:

    package com.hanqi.maya.filter;
    
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.annotation.WebInitParam;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet Filter implementation class SessionFilter
     */
    @WebFilter(filterName="sessionFilter", 
        value={"/*"}, initParams={@WebInitParam(name="initp", value="message.jsp;login.jsp;LoginOrRegisterServlet")})
    public class SessionFilter implements Filter {
    
        private String initParams;
        
        /**
         * Default constructor. 
         */
        public SessionFilter() {
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see Filter#destroy()
         */
        public void destroy() {
            // TODO Auto-generated method stub
        }
    
        /**
         * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
         */
        public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
            HttpServletRequest request = (HttpServletRequest)req;
            HttpServletResponse response = (HttpServletResponse)resp;
            
            String[] ss = initParams.split(";");
            
            String reqUrl = request.getRequestURI();
            for(String s : ss) {
                if(reqUrl.indexOf(s)!=-1) {
                    chain.doFilter(request, response);
                    return;
                }
            }
            
            Object obj = request.getSession().getAttribute("currentUser");
            if(obj==null) {
                response.sendRedirect("login.jsp");
            } else {
                chain.doFilter(request, response);
            }
        }
    
        /**
         * @see Filter#init(FilterConfig)
         */
        public void init(FilterConfig fConfig) throws ServletException {
            initParams = fConfig.getInitParameter("initp");
        }
    
    }

    监听器:

  • 相关阅读:
    股票
    使用广播信道的以太网
    CSMA/CD 3
    可赎回债券
    matlab中的knn函数
    债券 账面值
    最优化作业 共轭梯度法 matlab代码
    债券和股票 溢价公式
    债券和股票
    CSMA/CD 续
  • 原文地址:https://www.cnblogs.com/yuanlaihenkuang/p/7109612.html
Copyright © 2011-2022 走看看