Servlet过滤器


拦截带.html的url

<filter>  
        <filter-name>logfilter</filter-name>  
        <filter-class>com.zjxx.jp.filter.MyFilter</filter-class>   <!--一个 implements Filter 的实现类,-->
        <init-param>
            <param-name>excludedPages</param-name>
            <param-value>/pub/admin/system/workFlow/listWorkflow.html,/pub/admin/htm/bottom.html,/pub/admin/htm/sidebar2.html,/pub/admin/htm/top.html,/pub/admin/htm/System.html</param-value>
        </init-param>
    </filter>  
    <filter-mapping>  
        <filter-name>logfilter</filter-name>  
        <url-pattern>*.html</url-pattern>  
    </filter-mapping>

实现类:
package com.zjxx.jp.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.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;

/** * @author  张保国:
 * @date 创建时间:2016年11月16日 下午7:37:52
 * @version 1.0 
* @parameter  
* @since 
 * @return  
*/
public class MyFilter  implements Filter{

	 private String excludedPages;
	 
	 @Autowired
	 SqlSessionTemplate sqlSessionTemplate;
	 
//	 FilterConfig config;
//	 ServletContext servletContext = this.config.getServletContext();
	 
	 private String[] excludedPageArray;

	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		excludedPages = filterConfig.getInitParameter("excludedPages");
        if (null != excludedPages && excludedPages.length() > 0) {
            excludedPageArray = excludedPages.split(",");
        }
//        this.config = filterConfig;  
        return;
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		// TODO Auto-generated method stub
		
		 HttpServletRequest request1 = ((HttpServletRequest) request);	//得到request
		 boolean isExcludedPage = false;
		 String mString=request1.getRequestURI();//页面获得url
	        
	        if (mString.contains("pub/admin")) {
	        	isExcludedPage=true ;
			}else {
				
//				String filename="";
//				String start=filename.substring(0, 1);
//				String cacheTbname="zjxx_memory_"+start;
//				String cacheInfoTbname="zjxx_memory_info_"+start;
//				String sql="";
//				//再根据缓存信息表和filename找到classid。
//				sql="select classid,infoid  from "+cacheTbname+" where filename='"+filename+"';";
//				Map<String, Object > map = new HashMap<>();
//				map.put("sql", sql);
//				Map<String,Object> classidAndInfoidMap = zjxxInformationMapper.runSqlGetMap(map);
//				String classid=classidAndInfoidMap.get("classid").toString();	
//				String infoid =classidAndInfoidMap.get("infoid ").toString();	
			}
	        
	        if (isExcludedPage) {			//假如是true, 不需要拦截,直接运行
	            chain.doFilter(request, response);
	        } else {
	            HttpSession session = ((HttpServletRequest) request).getSession();
	            if (session == null || session.getAttribute("") == null) {
	                ((HttpServletResponse) response).sendRedirect("/JavaPlat/pub/admin/system/workFlow/listWorkflow.html");
	            } else {
	                chain.doFilter(request, response);
	            }
	        }
	}

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值