⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s3obasefilter.java

📁 单点登陆
💻 JAVA
字号:
package net.s3o.core;

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 net.s3o.common.S3OConstant;
import net.s3o.common.S3OLog;
import net.s3o.core.service.ServiceProxyCenter;

import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class S3OBaseFilter implements Filter {


	protected FilterConfig filterConfig = null;
	
	protected S3OCoreModel coreModel=null;
	
   
    public void init(FilterConfig filterConfig) throws ServletException {
    	this.filterConfig = filterConfig;		
    	initBean();

//		String key=filterConfig.getInitParameter(S3OConstant.NAME_OF_SERVER_KEY_CFG);
//		coreModel.setSystemKey(key==null?"":key);
//		String url=filterConfig.getInitParameter(S3OConstant.NAME_OF_SERVER_URL_CFG);
//		S3OCoreModel.serverURL=(url==null?"":url);
//		String curl=filterConfig.getInitParameter(S3OConstant.NAME_OF_CLIENT_URL_CFG);
//		S3OCoreModel.clientURL=(curl==null?"":curl);
		
		init();
		
		
		S3OLog.dealMessage("loading...", "ServiceProxyCenter");
		
    	ServiceProxyCenter spc=coreModel.getServiceProxyCenter();
    	if (spc!=null){
    		new ServiceProxyLoader(spc.getServiceProxysList(),spc.getServiceProxys());
    	}
		
		S3OLog.dealMessage("server init", "ok");
	}
    
    public void init() throws ServletException {};
    
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
		HttpServletRequest request= (HttpServletRequest)servletRequest;
		HttpServletResponse response= (HttpServletResponse)servletResponse;
		
        
        if (!coreModel.mainFunction(request, response)){
        	chain.doFilter(request, response);
        	coreModel.afterChain(request, response);
        }

	}

	
	public void initBean() throws ServletException{
        WebApplicationContext ctx = getAppContext();
        Object object = ctx.getBean(S3OConstant.NAME_OF_COREMODEL_BEAN);
        
        if (!(object instanceof S3OCoreModel)) {
            throw new ServletException("Bean '" + "s3oServer" + "' 必须继承抽象类 net.s3o.core.S3OCoreModel .");
        }

        coreModel = (S3OCoreModel)object;
	}
	
   
    protected WebApplicationContext getAppContext() {
        return WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext());
    }
    
    public void destroy() {
    	S3OLog.dealMessage("S3O Filter", "destroied");
    	
    }


	public S3OCoreModel getCoreModel() {
		return coreModel;
	}


	public void setCoreModel(S3OCoreModel coreModel) {
		this.coreModel = coreModel;
	}


	public FilterConfig getFilterConfig() {
		return filterConfig;
	}


	public void setFilterConfig(FilterConfig filterConfig) {
		this.filterConfig = filterConfig;
	}
    



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -