📄 s3obasefilter.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 + -